Ons verhaal‎ > ‎

Met passie samen betere ICT!

Geplaatst 24 jun. 2012 06:16 door Koen Aben   [ 24 jun. 2012 13:36 bijgewerkt ]

Met veel plezier: meet TDD ;-)

Dankzij Devnology, net als wij een hele leuke ICT community, heb ik deze zaterdag veel plezier gehad bij de ‘Legacy Code Retreat’ in Rotterdam. Met 20 hele ervaren software engineers een zeer nuttige TDD workshop gedaan, helemaal gratis verzorgd voor de community. De workshop neem ik mee naar ons volgende Agile cafe op woensdag 4 juli, zodat geinteresseerden deze samen kunnen meedoen (dus:  alles leren over TDD? Kom ook!). De dag was in elkaar gezet door Belgische trainers met passie voor engineering, bijna net zoveel passie als bij ASC Eindhoven! ;-)

TDD? Test Driven Development!

TDD is de modernere manier van coderen volgens kwaliteitstandaarden: eerst tests bouwen ter voorbereiding en daarna pas de functionaliteit. Uitbreidingen kunnen dan direct getest worden op kwaliteit en blijven gecontrolleerd werken via automatische testing tools. De norm is een hoge code coverage van tests, zodat alle logische onderdelen laagdrempelig en eenvoudig kunnen worden onderhouden. TDD zou tegenwoordig door elke software engineer moeten worden toegepast, omdat je juist hiermee een krachtige codebase realiseert, alleen helaas is dit niet zo.

TDD wordt helaas onderschat

Op de werkvloer heerst vaak een zeer resultaatgedreven cultuur. Hier wordt alleen gevraagd om eindresultaten en zelden om het maken van tests. Testen schrijven wordt zelfs soms als minderwaardige activiteit beschouwd. Developers moeten namelijk zo productief mogelijk zijn en tests leveren geen geld op. Op korte termijn gaat het zonder tests en zodoende komt er geen ruimte meer voor TDD. En er is geen haan die erna kraait, zelfs niet de architect zonder kennis van code. Helaas want: tests die zekerheid bieden in de applicatie vormen een belangrijke architectuur fundering van de software.  

Wat kun je met TDD bereiken? Heldere architectuur!

Dit hebben we op de workshop geleerd. We begonnen met een hele hoop legacy en hebben dit via TDD verwerkt tot een heldere software architectuur! Doordat je veilige stapjes maakt via TDD kun je software foutloos aanpassen, in kleine stapjes groeien dan langzaam testbare architectuur componenten. TDD is ook geschikt voor reverse engineering: je herschrijft code naar heldere modellen en tests die verifieerbaar correct samenwerken. De codebase krijgt zodoende een helderheid in architectuur en een stevige fundering via tests.

2 waardevolle lessen geleerd

Les 1. TDD. De workshop was geweldig, iedere deelnemer omarmt nu TDD, ook omdat dit helpt in het realiseren van een goede software architectuur. Les 2. Community events werken. Veel dank aan Devnology, voor het wederom regelen van een zeer succesvol, leerzaam community event. Devnology is de landelijke community voor software engineers, welke ook ongeveer maandelijks een bijeenkomst hebben net als ASC Eindhoven. Zij bestaan al jaren en hebben vele honderden aangesloten leden. Ze tonen aan hoe engineers hele zinvolle events samen kunnen organiseren, dankzij veel passie voor het vak.

Samen kunnen wij dit bij ASC Eindhoven ook! Heel graag tot ziens op ons volgende Agile cafe 4 juli: er is volop ruimte!;-)