Het supermarkt effect

 
14 januari 2008

Het belangrijkste aspect van software ontwikkeling is volgens mij eenvoud. Eenvoud in het proces en de methodiek. Eenvoud in code en architectuur. Eenvoud zorgt ervoor dat mensen snel kunnen begrijpen waar het over gaat. Dat een enkele oogopslag voldoende is om de essentie van de software te doorgronden.

Maar eenvoud heeft een slechte reputatie. Eenvoud impliceert dat iedereen het kan. De business expert ziet zijn taak niet als iets eenvoudigs, maar als iets heel ingewikkelds dat beter is en totaal anders dan de manier waarop de concurent de taak uitvoert. Eenvoud impliceert dat iedereen dezelfde wensen heeft. Toch is wat wij doen heel anders dan wat iemand anders doet. Eenvoud impliceert gebrek aan flexibilteit. Flexibiliteit is het toverwoord van management.

Veel middelen die we gebruiken in de software ontwikkeling springen hier op in. Ze bieden een flexibel paket aan van artifact, componenten, deliverables, tests, rollen, ect. Ze geven je de mogelijkheid om je proces, methodiek of framework zo te configuren dat het precies voldoet aan je eisen. Je kunt er zelf eenvoud mee bereiken door een heel beperkte selectie te maken.

Toch heb ik het laatste nog nooit gezien. Zelf noem ik dit het supermarkt effect. Een supermarkt is zo ingericht dat je een volledig rondje moet maken langs alle producten. Op elk moment wordt je verleid om toch nog iets extra’s te nemen. Naast de koffie staan de koekjes. Je had koffie nodig, maar een koekje bij de koffie is toch wel lekker, dus neem je ook een pak stroopwafels mee.

Bij software ontwikkeling gebeurt vaak iets soort gelijks. We komen onze software ontwikkeling-supermarkt binnen. Rechts zien we de business analyse producten. Welke zullen we nemen? De definitie studie? Maar die dekt niet helemaal de lading. Business wil graag het voordeel van het product zien. Laten we dus ook maar de business case er bij nemen.

Een stuk verderop: Mmmh rollen. Project leider en architect natuurlijk. Wat is er nog meer? Hé kijk, security officer. Security staat hoog in het vaandel nadat de company website gekraakt was. Die nemen we er dus ook maar bij.

En als je later bij de kassa komt heb je een mooie kar vol met handige en nuttige onderdelen. In het begin wou je het eenvoudig houden, maar ergens is besloten dat al deze onderdelen nodig zijn. Mijn ervaring met dit soort selecties is dat voor een dergelijk flexibel hulpmiddel, of dat nou RUP of Spring framework is, een eenvoudige selectie uitkomt op ongeveer 25 procent van het onderdeelaanbod. En 25 procent van een hoop is nog steeds een hoop.

Om je software ontwikkeling eenvoudig te houden is mijn advies; maak echt een goede selectie. Gebruik niet het totaalaanbod als leidraad van eenvoud, maar de doorgrondelijkheid. Kan een nieuw projectlid binnen vijf minuten de essentie van het project doorgronden? Als hij of zij daar vijf documenten van meer dan 50 pagina’s voor moet door worstelen is dat waarschijnlijk niet het geval!


Werken met ?
Kijk dan bij onze mogelijkheden voor zowel starters als ervaren engineers.


Categorieën: Architectuur, Development

Tags: ,