Ontwikkelculturen

 
15 mei 2008

Ik was op J-Spring bij een interessante presentatie van Marc Evers over verschillende ontwikkelculturen binnen bedrijven.

Culturele patronen kunnen je helpen om organisaties beter in kaart te brengen. De manier waarop er wordt ontwikkeld in een bedrijf is een samenspel tussen management, ontwikkelaars en de klant.

Marc Evers beschrijft een model van zes ontwikkelculturen waar je alle soorten van ontwikkelen onder zou kunnen verdelen, nl. routine, variable, steering, oblivious, anticipating en congruent. Het model helpt om in te zien wat er in een groep, team, of organisatie gebeurt. Het is een belangrijke tool om te plannen en om organisatorische veranderingen door te voeren.

Routine:
De ontwikkelaars volgen standaard procedures en ze doen alles op routine (totdat het misgaat en ze in paniek raken).
Er wordt heel procesgeoriënteerd gewerkt waarbij men is gericht op silver bullets, methodieken en de juiste tools.
Waterval is een voorbeeld van een ontwikkelmethode die binnen deze cultuur valt.

Variable:
We doen waar we op dit moment zin in hebben. Dit wordt gebruikt in kleine organisaties. Klanten en ontwikkelaars werken nauw samen. Kwaliteit en performance zijn afhankelijk van individuen (hoe goed zijn die (toevallig?)). Deze manier van ontwikkelen is nog niet echt agile, maar in sommige opzichten al wel.
Op het moment dat een bedrijf meer klanten krijgt (dit omslagpunt ligt rond de acht klanten) is het maatwerk op deze manier niet meer te beheren en zie je vaak dat er een transitie ontstaat naar routine.

Steering:
“Maak buitengewone dingen gewoon.” De ontwikkelaars kiezen uit hun routines gebaseerd op de resultaten die de routines produceren.
Termen die horen bij deze cultuur zijn feedback controle, resultaten gericht, gebaseerd op vertrouwen, testen en feedback, handel vroeg, handel klein, eXtreme Programming, scrum. Dit is veel meer resultaatgericht dan de voorgaande culturen. Er is een groot wederzijds vertrouwen tussen management, ontwikkelaars en klanten.

Oblivious:
We zijn ons er niet van bewust dat we software aan het ontwikkelen zijn.
Eindgebruikers implementeren bijvoorbeeld ingewikkelde modellen zelf in een spreadsheetprogramma. Dit moet natuurlijk eigenlijk goed getest worden etc. Er is geen scheiding tussen de gebruiker en de ontwikkelaar. Het is zeer adaptief en zeer gebruikersgericht.

Anticipating:
De kunst van het vooruit kijken. Een afdeling/organisatie die op deze manier werkt gaat heel bewust met veranderingen om en houdt er zelfs vaak van te voren al rekening mee. Bijvoorbeeld door van te voren een goede risicoanalyse te maken.

Congruent:
Iedereen is constant betrokken bij het verbeteren van alles. Er heerst een cultuur van doorgaande reflectie en verbetering.
Dit lijkt heel erg op anticipating, behalve dat bij anticipating alles gestuurd wordt door het management, terwijl hier iedereen er heel erg bij betrokken is.

Routine, variable, steering en oblivious komen het vaakst voor.

Ik had er zelf nog niet eerder op die manier over nagedacht, maar bij bedrijven spreek je ook van bedrijfscultuur, en het is dus niet zo gek om bij ontwikkelafdelingen ook van culturen te spreken.

Ik denk dat het heel erg kan helpen om van een ontwikkelafdeling te weten op welke manier er gewerkt wordt. Dit helpt je bij het maken van een planning, en zeker wanneer je een andere manier van ontwikkelen wilt invoeren op een afdeling. Dan moet je kunnen inschatten hoe flexibel en gemotiveerd men is om de manier van werken aan te passen. Hierbij kan het model van de culturele patronen helpen. Een afdeling die op routine werkt zal immers minder snel geneigd zijn om agile te gaan werken dan een afdeling die variable werkt. Als je weet vanuit welke cultuur je vertrekt, kun je een betere inschatting maken van de weg die je moet afleggen om de veranderingen door te voeren. Die zal bij twee verschillende beginsituaties waarschijnlijk heel anders zijn.

De presentatie van Marc Evers kun je hier vinden. In de presentatie staan ook een aantal verwijzingen naar boeken waarin meer over dit onderwerp te vinden is.


Werken met ?
Kijk dan bij onze mogelijkheden voor starters en/of ervaren IT'ers.


Categorieën: Project- & procesmanagement, Development

Tags: ,