Zie de ProjectKickStartPresentatie.
Mijn werkzaamheden bestaan voor een groot deel uit het bedenken, uitwerken, reviewen, en implementeren van software architecturen. Daarbij leg ik met nadruk verbanden naar de ontwikkelprocessen. Een ontwikkelprocess is in mijn visie bedoeld om op beheersbare manier een project uit te kunnen voeren. Onmisbaar hierbij is dat alle neuzen dezelfde kant op staan.
Software architectuur vervult hierin een belangrijke rol omdat het omschrijft 'hoe' e.e.a. gerealiseerd zal worden. Het 'wat' is aan de businness, en met de moderne iterative/incrementele ontwikkelmethodieken zoals RUP/XP/EVO/DSDM is het zaak om met de architectuur wel richting te geven aan het 'hoe', maar het 'wat' zo veel mogelijk te laten bepalen door feedback tijdens en na de iteraties/increments. Maar beide zijn nodig.
Een belangrijk moment is de start van een project. Hiervoor heb ik met WillemVanDenEnde een 'kick start' methode bedacht en uitgevoerd. Het doel hiervan is zsm te komen tot een werkend product, en daarbij alle risico's naar voren halend, terwijl langs de zijlijn een mini-CMM assesment, een architectuursessie, en een analysesessie gedaan wordt om richting te geven en om draagvlak te krijgen/houden zowel binnen het team als daarbuiten. Zo krijg je een beheersbaar en stuurbaar project, wat ook wat betreft de niet-functionele eisen een duidelijk kader heeft.
Een minder sterk punt van XP is het starten van een project zonder dat je ook maar iets aan architectuur of analyse hebt gedaan. Ik ben van mening dat dit bij veel projecten wel goed gaat omdat de meeste team leden op de een of ander manier wel duidelijk is hoe het product gerealiseerd gaat worden. Mensen zoals Kent Beck e.a. XP guru's kunnen heel snel en makkelijk overzien waar het naar toe gaat of zal kunnen gaan. Deze eigenschap probeer ik bij mezelf te wissen, althans wanneer ik consultant ben en iemand probeer te helpen. Want niet iedereen overziet de zaken even snel en je gaat gemakkelijk te snel.
Een manier waarop je dit op kunt lossen is door heel pragmatisch om te gaan met architectuur: namelijk door het als richtinggevend middel in te zetten. In een XP project geeft de klant richting aan het 'wat', en de architectuur aan het 'hoe'. Dat laatste is dus wat een beetje ontbreekt in XP. Het is pragmatisch omdat het minder op de 'traditionele' manier gedaan wordt: meer tijdens dan van te voren, meer op hoofdlijnenen dan diepgaand, meer de concensus rondom de architectuur is belangrijker dan de architectuur zelf, etc.
De presentatie zal gaan over deze ideen en zal nadrukkelijk de ruimte bieden voor discussie. -- ErikGroeneveld
