zondag, november 22, 2009

SRM column: Bob de Sloper

Als het gaat over klusvaardigheden, ben ik zonder meer het lachertje van de familie. Ik heb weliswaar twee rechterhanden maar daar staat tegenover dat ik linkshandig ben. Mijn broer bouwt achteloos fluitend complete keukens op waarbij hij ook nog eens louter voor de sport het loodgieterswerk regelt en de elektrische bedrading vernieuwt. Zelf begin ik al paniekerig om me heen te kijken als er een Billy boekenkast in pakketvorm naar binnen wordt gedragen.

Aan de andere kant heb ik een onvermoed talent voor slopen. Geef mij een voorhamer en zelfs de meest volgestouwde uitdragerij ziet er binnen een paar uur uit als een schoongeveegde meditatieruimte. Een onderschatte maar wel degelijk nuttige vaardigheid die – als ik me niet vergis - ook in het IT-landschap een steeds grotere rol gaat spelen.

Want zeg nou zelf: we leiden onze systeemontwikkelaars nog steeds vooral op als bouwers. Dat doen we vanuit het bijna schattig naïeve uitgangspunt dat software wordt ontwikkeld vanuit een sappige, groene weide. Bijna al onze vernieuwingen in het vakgebied zijn erop gericht om nog beter, sneller en slimmer te bouwen. Vanuit het niets. Daartoe proppen we onze gereedschapkist vol met versnellende hulpmiddelen als Model Driven Architecture, frameworks, componenten, services en Domain Specific Languages .

En dan maar oprecht teleurgesteld zijn als die gereedschapskist steeds minder vaak opengaat.

De reden? Alle rommel die de bouwers voor ons - of misschien wel wijzelf - hebben achtergelaten. Het gros van het budget van de gemiddelde IT-afdeling gaat ondertussen op aan het in de lucht houden van verouderde systemen. Die zijn soms geschreven in programmeertalen die alleen nog vanuit de overlevering bekend zijn (zo wordt het kernsysteem van een niet nader te benoemen Zweedse overheidsorganisatie alleen nog doorgrond door een 74-jarige programmeur; deze wordt met staalpillen, massages en dagelijkse bloedtransfusies zoveel als mogelijk in conditie gehouden).

En de boterberg aan onwrikbare en roestige software groeit nog steeds elk jaar door. En daarmee ook de frustratie dat er niet genoeg ruimte overblijft om nieuwe applicaties te bouwen. Je zal nog zo’n mooie keuken in je hoofd hebben, als je tussen de ingestorte muren en het verzakte dak nog niet eens je ladder neer kunt zetten kom je nergens met al die handigheid en fraaie intenties.

Mag ik daarom een warm pleidooi houden voor het terugbrengen van het goede, oude ambacht van slopen in de systeemontwikkeling? Alleen al met een goed timmermansoog kunnen kijken naar de bestaande portfolio van applicaties, dat zou een goede stap vooruit zijn. Welke delen van systemen leveren waarde aan de bedrijfsvoering en welke niet? Hoe verhoudt die waarde zich tot de hoeveelheid tijd die erin moet worden gestoken? En in welke mate is de onderliggende technologie nog relevant en uitbreidbaar?

Dat alles geeft inspiratie voor het in elkaar zetten van de te volgen sloopstrategie. Alles weggooien, de data migreren en overgaan op een standaardpakket bijvoorbeeld. Of de meest wankele elementen isoleren en vervolgens stuk voor stuk herbouwen op een nieuw platform. Of de proceslogica en bedrijfsregels uit de code plukken en onderbrengen in aparte Business Process Management en Business Rule systemen. Of met behulp van geautomatiseerde tools de structuur van de bestaande software ontwarren en versimpelen. Of – als niet anders werkt – het oude systeem zoveel als mogelijk stabiliseren en daaromheen nieuwe interfaces en façades opbouwen (ook wel bekend als de Parijse Variant).

Het zijn zomaar wat voorbeelden van de sloopvaardigheden die je als systeemontwikkelaar tegenwoordig in zo’n beetje elk serieus project nodig hebt. We kunnen er wat mij betreft in het vakgebied niet genoeg aandacht aan besteden, zowel in het onderwijs als in onderzoek en innovatie.

Kunnen we het slopen? Ja, we kunnen het slopen!

Gepubliceerd in Software Release Magazine, september 2009

2 opmerkingen:

FunTESTic zei

Google's testafdeling heeft zelfs een motto hierover: "If it ain't broke, you ain't trying hard enough"

Als tester ben ik er trots op 'professioneel sloper' te zijn in de naam van kwaliteit.

Maar nog beter zou het zijn als mijn vak overbodig zou worden doordat bouwers dusdanig spul bouwen dat onsloopbaar is en gewoon doet wat het moet doen!

Anoniem zei

Hey Ron,

"Bouwers" zijn helaas ook nog te veel nodig voor het fameuze 'maatwerk'. Een aannemer zou zeggen: meerwerk.

Als verkoper van softwarepakketten kwam ik constant tegenover managers en directeuren te zitten die van mening waren dat ze zo uniek werkten dat het pakket maar aan het bedrijf aangepast moest worden.

Een letterlijke uitspraak die ik nooit meer kan vergeten:" Onze werkwijze is zo goed, dat we niet begrijpen dat de rest van Nederland niet zo werkt"

Geef me slopers voor de bedrijfsvoering, directie en management, dan laat ik mijn bouwers een goed Vinexpakket bouwen. (Met hypotheekgarantie)