Bouwput
Één van de patronen die ik in de geschiedenis van de IT meen te herkennen is de zogenaamde techniek-proces pendule. De techniek-proces pendule houdt het volgende in: Om de vijf jaar verplaatst onze aandacht zich van technologie naar ontwikkelprocessen en weer terug. De afgelopen vijf jaar was die van de J2EE, componenten, services, .Net en andere technologieën. Architecten waren het mannetje omdat zij zich bezig hielden met deze technologieën. Iedereen die zich met softe onzin als ontwikkelmethodieken bezighield werd weggepest. De vijf jaar daarvoor waren we bezig met OMT, RUP, QA en andere (non technische) procesaspecten. Process engineers waren hot want zij hielden zich tenminste niet met technologie bezig. Architecten had je nog niet, je had alleen nerds. Nerds werden met de nek aangekeken. Weer vijf jaar daarvoor ging het allemaal over C++ en databases. De nerd was nog jong en kon dingen die niemand anders kon. De nerd was hoog in aanzien. De komende vijf jaar gaat de pendule weer richting processen en methodieken. We worden weer soft en a-technisch.
De eerste signalen zijn er al. Over-technische architecturen als J2EE raken uit de mode, het moet allemaal veel lichtvoetiger. Met alle outsourcing willen we ons alleen nog maar bezig houden met regievoering. Ook komt de ontwikkelstraat weer in de mode. Die ontwikkelstraat was er al langer maar nu we ons weer meer zorgen gaan maken over hoe we het ontwikkelen organiseren, gaan steeds meer mensen zich er mee bemoeien. Ook softwarehuizen gaan hun ontwikkelstraat in de etalage plaatsen. Waar softwarehuizen een paar jaar geleden stoere reclame maakten met drieletterige techno-afkortingen gaat het steeds meer over ‘volwassenheid’, ‘partnerschap’ en ‘meedenken’. En: “Wij hebben een ontwikkelstraat voor u klaarstaan, een rijdende trein”.
Ik heb niks met de ontwikkelstraat. Natuurlijk, je kunt je ontwikkelproces niet genoeg automatiseren. Maar om dat nu een ‘ontwikkelstraat’ te noemen, daar zie ik niks in. De term ontwikkelstraat vind ik veel te lineair. Het is het toppunt van “je stopt er aan één kant iets in, en aan de andere kant komt er software uit”. Softwarebouw als boodschappen doen in een saai provinciestadje, een aaneengeregen serie stapjes over geschrobde stoepjes die je netjes achter elkaar uit moet voeren om te krijgen wat je nodig hebt. Het toppunt van niet-agile, niet-incrementeel en niet-lerend bouwen. Maar ja, zo denken veel managers nou eenmaal over software. Je legt requirements op de lopende band en aan het eind van de band valt er software af. Onderweg is er van dat onooglijke plebs dat iets doet met die requirements en software: de programmeurs, ook wel ‘kloppers’ genoemd. Nee, de term ‘ontwikkelstraat’ is wat mij betreft zeer ongelukkig gekozen.
Nu had ik het laatst met een paar collega’s over ontwikkelstraten. Aan een van die collega’s, een Italiaanse, vroeg ik hoe een ontwikkelstraat in het Italiaans heet. Zij zei schertsend dat ze dat ze in Italië geen ontwikkelstraten hebben, “bij ons hebben ze alleen bouwputten”. Die term, ‘bouwput’, dat is toch wel de mooiste term om het ontwikkelproces in samen te vatten. Alle zompige, natte, diepe, donkere en onvoorspelbare aspecten van softwareontwikkeling komen tot uitdrukking. Totaal niet lineair, je weet nooit wat je opgraaft in zo’n bouwput: bodemvervuiling, archeologische vondsten, grote stenen, dikke kabels. Dat is software bouwen: weten wat je wilt bouwen, problemen tegenkomen en ze oplossen. Soms door iets te bouwen wat je niet gepland had. Als we het de komende vijf jaar over ontwikkelprocessen gaan hebben, dan wel graag in een bouwput, tot de knieën in de blubber. Geen keurig aangeveegde ontwikkelstraatjes voor mij!
Published in Software Release Magazine. Copyright Daan Kalmeijer.