#leansoftwaredevelopment   #buildqualityin

Lean Software Development principe #2 Build Quality In

Yvan Rens

 - 

In het software ontwikkelproces zijn bugs een vorm van waste. Bugs kosten hersteltijd en het leveren geen waarde op voor de klant. Volgens principe #1 van Lean Software Development moet je bugs en andere vormen van waste direct elimineren. Maar het principe ‘Build Quality In’ gaat nóg een stap verder, namelijk het voorkomen van bugs.

build quality in, principes lean software development

De ernst van bugs

Een bug lijkt op zichzelf niet heel erg. Gewoon een kwestie van ‘even oplossen’, kun je denken. Maar naast dat een bug op zichzelf al een vorm van waste is, veroorzaakt het ook nog eens andere vormen van waste. Denk maar aan

tijd dat gespendeerd moet worden om de bug te onderzoeken

het doen van herstelacties

het mogelijk uitbreiden van de testset omdat code verandert of complexer wordt

Kortom, allemaal dingen die je niet wil. Bugs kun je beter voorkomen dan ‘genezen’.

Zo voorkom je bugs

Bij ‘Build Quality In’ gaat het dus om het voorkomen van bugs. Maar hoe doe je dat? Een veelgebruikte manier is test-driven-development. Hierbij schrijf je eerst de benodigde unit tests en acceptatietests voordat er ook maar één regel code schrijft. Vervolgens ga je aan de slag met de code en wordt de test toegevoegd aan de codebase. In de codebase controleert een regressietest of er geen fouten zijn geïntroduceerd. Test dit bij voorkeur meerdere keren per dag.

Spreek ook met elkaar af dat het team pas verder gaat met een nieuwe functionaliteit als alle tests slagen. Op die manier wordt zoveel mogelijk voorkomen dat bugs in de code terechtkomen.

Lean Software Development verder ontdekken?

Download de whitepaper!

Download nu »
lean software development whitepaper

100% first-time-right?

Bij Build Quality In gaat het erom dat processtappen of taken in een keer goed gaan om bugs en andere waste te voorkomen. 100% first-time-right is natuurlijk het meest ideaal, maar hoe realistisch is dit? In de productie industrie, waar Lean is ontstaan, is vooraf al duidelijk hoe een product gemaakt moet worden. Een hoog first-time-right percentage is in die industrie dus wel realistisch.

Maar binnen software ontwikkeling ligt dit iets anders. Vooraf is vaak (nog) niet altijd bekend wat ‘right’ exact inhoudt en kan het streven naar een hoog first-time-right percentage een grote investering betekenen. Weeg daarom altijd de kosten en baten tegen elkaar af om te bepalen hoeveel je het beste kunt investeren in dit first-time-right principe.

Stop met testen 'om maar bugs te vinden'

Als het de doelstelling van een tester (of van het testen zelf) is om bugs te vinden, is dit per definitie een vorm van waste. Het speuren naar bugs levert namelijk geen enkele waarde op voor de klant. Het zou mooier zijn om bij uitstek bugs te vinden in plaats van om er een standaard hoeveelheid tijd aan te besteden of om zelfs een lijst met bugs aan te leggen zonder te weten wanneer ze opgelost worden. In dit laatste geval loop je bovendien het risico op een opstapeling van waste waarin je door de bomen het bos niet meer ziet. Het hogere doel is om helemaal geen lijst met bevindingen te hebben.

Nieuwe bugs moeten dus zo snel mogelijk worden opgelost. Dit kan in de praktijk alleen maar als er snel feedback wordt verkregen.

Spoor nieuwe bugs sneller op met korte feedback loops

Om snel achter nieuwe bugs te komen is het aan te raden om te werken met korte feedback loops. Er zijn een paar hulpmiddelen om het verkrijgen van feedback op een structurele manier in te richten:

Creëer een cultuur waar continuous integration de norm is

Werk in iteraties waarbij telkens een nieuwe functionaliteit wordt ontwikkeld

Doe dagelijkse builds van de code om te zien of dat blijft werken Creëer voor elke kleine wijziging een aparte testomgeving om te testen of de functionaliteit naar behoren werkt, bijvoorbeeld met review apps.

Doe dagelijkse builds van de code om te zien of dat blijft werken

Kwaliteit door discipline

Voor een team dat met software werkt is het belangrijk dat er een hoge discipline is op alle fronten. Van de werkvloer tot aan de desktops en codebases. Laat het team één van die plekken rommelig achter dan heeft dat gevolgen: spullen raken zoek, desktops raken overvol en bestaande code wordt een complexe code brei.

Om deze discipline vast te houden zijn de 5 S’en in het leven geroepen:

Sort

Sorteer je bestanden en filter de oude versies eruit, maak indien nodig backups

Systemize

Organiseer een logische indeling die iedereen snapt

Shine

Poets letterlijk de werkbank schoon als je klaar bent om de volgende dag een frisse start te maken

Standardize

Maak routines voor bijvoorbeeld updates, toolsets, backups en code refactoring.

Sustain

Onderhoud de eerder genoemde principes

Al gestart 'Build Quality In'?

Is jouw IT organisatie al bewust bezig met het vooraf inbouwen van kwaliteit, in plaats van het voortdurend elimineren van bugs? Zo niet, zet dan vandaag nog de eerste stap: vertel je team erover. Uiteindelijk zal je zien dat het toepassen van "Build Quality In" een hoop tijd zal besparen!

Lean Software Development verder ontdekken?

Een juiste toepassing van Lean Software Development zorgt voor een effectieve software ontwikkeling met zo min mogelijk waste. Kortom: ICT-projecten van hogere kwaliteit met een kortere doorlooptijd tegen de laagst mogelijke kosten. Een aantal concrete resultaten zijn:

  1. 30 - 75% kortere time-to-market
  2. 30 - 50% langere levensduur van webtechnologie
  3. 20 - 50% toename in productiviteit

Profiteren van deze resultaten? Zet de eerste stap. Download de whitepaper.

lean software development whitepaper