Het belangrijkste onderwerp op de agenda van Nederlandse softwarebedrijven is de ontwikkelmethodologie Agile. Dat stelt de Software~VOC, onderdeel van brancheorganisatie ICT~Office. Bij Agile wordt de ontwikkeling van software meestal opgedeeld in korte overzichtelijke perioden en ligt de nadruk op persoonlijk contact, in plaats van geschreven verslaglegging.
De brancheorganisatie ondervroeg aangesloten softwarebedrijven waar ze druk mee zijn. Daaruit komt naar voren dat veel bedrijven bezig zijn met de gevolgen van cloud computing. Capaciteitsproblemen en het ontbreken van specialisten zijn de voornaamste argumenten om software-ontwikkeling uit te besteden. Ook worden uit kostenoverweging ontwikkelklussen elders ondergebracht.
Voor bedrijven die een slechte ervaring hebben met de uitbesteding van ontwikkelwerk is het vaak belangrijk dat er bij een volgende uitbesteding een Nederlander wordt aangewezen als aanspreekpunt op de externe locatie.
Testen
Verder stelt de branchevereniging dat het belang van testen door veel bedrijven wordt onderschreven. De voornaamste redenen die worden genoemd voor het uitbesteden zijn het voorkomen van blindheid voor fouten in zelf ontwikkelde producten en dat medewerkers het testwerk niet als een uitdaging zien.
24.000 softwarebedrijven
In een ander bericht dat door de brancheorganisatie is verspreid worden cijfers genoemd over de omvang van de Nederlandse softwaresector. In 2010 zouden er meer dan 24.000 softwarebedrijven zijn in Nederland. Samen droegen zij voor 17 miljard euro bij aan de Nederlandse economie. Dat is 2,8 procent van het bruto binnenlands product (bbp) dat voor 2011 wordt ingeschat op 606 miljard euro.
“ligt de nadruk op persoonlijk contact, in plaats van geschreven verslaglegging.”
Niet in plaats.. Maar menselijk contact boven geschreven verslaglegging. Dit is een van de grote misvattingen, dat er gedacht wordt dat er geen geschreven verslaglegging meer plaatsvindt.
En er klopt nog iets niet in bovenstaand artikel.
Agile is namelijk geen ontwikkelmethode. Er bestaat niet zoiets als ‘de agile aanpak’. Scrum, XP, OpenUP, Catalyst, etc. zijn wel voorbeelden van Agile ontwikkelmethoden.
Agile is een term die een specifieke groep methoden aanduidt (waaronder de genoemde voorbeelden dus). En omdat deze methoden in de basis allemaal dezelfde principes hanteren is er door de diverse bedenkers en andere betrokkenen het z.g. “Agile Manifesto” geschreven. Hierin zijn 12 gemeenschappelijke principes van de verschillende methoden benoemd en een aantal ‘waarden’. Deze laatste geven o.a. aan dat individuen en menselijk contact boven processen en tools gaan, dat werkende software boven uitgebreide documentatie gaat.
Jim Highsmith legt in zijn boek “Agile Sofware Development Ecosystems” uitvoerig uit wat hij verstaat onder de term Agile. De simpelste definitie waar hij mee komt is enkele dimensie ad-hoc vs planned waarbij ad-hoc voldoet voor projecten zonder al te veel afhankelijkheden (kleine klant, klein ontwikkelteam), en planned voor domeinen waarbij het proces en kennis volledig duidelijk zijn (zelden het geval).
Agile beweegt zich tussen die uitersten waarbij de procesaanpak net niet in chaos veranderd, d.w.z. net genoeg formele structuur en afstemming met elkaar om het noodzakelijke inzicht te krijgen in de status van het project zonder dat er bureaucratie optreed die de effectiviteit belemmerd.
Diverse Agile methodologieën schaalt hij vervolgens op die schaal in.
Het moet gezegd worden dat er tientallen van dergelijke schalen zijn, velen met veel meer factoren dan chaos-orde. Voor het definitie-begrip van Agile is de enkelvoudige schaal wel het duidelijkst. We spreken als we het over procesaanpak hebben toch veelal in termen van chaos en bureaucratie.
Overigens zijn al die methodologieën toolkits waaruit je kan orderpicken; XP is daar het duidelijkst in met een set van 12 best practices of patterns. Je ziet dat Scrum ook zo gebruikt wordt. De softwarebedrijfjes waar ik heb rondgelopen zag ik van alles en nog wat in gebruik, en vooralsnog niet één die zich volledig toelegt op een specifieke methodologie. Gelukkig maar want dat is ook totaal niet ‘agile’. Zodra we Agile methodologieën gaan accrediteren zijn we volledig de verkeerde kant op gegaan. Context-afhankelijke project toetsen zou wel een mogelijkheid zijn, maar de kosten daarvan lijken me weer wat overkill.
Je toeleggen op één methodologie betekend dat je ook telkens hetzelfde type project zal moeten doen; en wie zegt ooit nee tegen een kans op een groter project?
(organizational patterns/pattern languages zijn wat mij betreft geschikter om de aard van agile methodologieën uit te leggen)
Beste Pim,
Een mager artikeltje (ook niet helemaal correct) voor de belangrijkste verandering in IT industrie op dit moment. Ik zou een hele ICT topic van maken. De ervaringen met Agile gedachtengoed zijn verbluffend, maar Nederlandse IT bladen melden daar bijzonder weinig over.
Een leuke titel en een discussievraagstuk: “Is Agile gedachtengoed de oplossing voor falende IT projecten?”
Bijzonder om te zien dat er sinds 22 maart 2010 nog maar zo weinig artikelen (6) zijn geschreven over een aanpak die geweldig resultaten heeft neergezet binnen it-projecten van diverse omvang.
Nog vreemder is te zien dat een sector waarin innovatie de drijfveer lijkt te zijn, er zo schoorvoetend naar nieuwe methoden wordt gekeken en geadopteerd.
Naar analogie van bovestaande beweringen heeft mijn collega Ruud in 2010 op deze site de opinie ‘Agile is eng’ gepubliceerd om dit nog eens te benadrukken.
Wellicht dat de IT-sector reeds zo volwassen is dat verandering niet meer nodig is en alleen leidt tot achteruitgang 🙂