Softwareontwikkelaars houden vaak te weinig rekening met eisen die aan de uitrol van software worden gesteld. De softwareontwikkelaar is vaak al heel tevreden met een opdrachtgever die weet wat de gewenste functionaliteit is voor de gebruikers. Helaas is dat niet voldoende voor succesvolle inzet van deze software. De software moet namelijk in het gebruik ook nog effectief beheerd kunnen worden.
Hoe het niet moet zie ik bijvoorbeeld regelmatig bij educatieve software. Die wil nog wel eens eisen dat de gebruiker administrator van de machine is. Dat waren nu net de rechten die ik mijn kinderen niet op mijn thuis-pc wilde geven. Een ander voorbeeld. In veel architectuurplaatjes zien we een aparte laag met databaseservers. Dat klinkt goed. Het idee daarbij is om te standaardiseren op een beperkt aantal databasesystemen, zodat je machines en schaarse databasebeheerders wat minder hoeft te versnipperen over al die toepassingen. Het wordt dan wel nodig om te beperken wat de applicatie met die database kan doen, anders wordt het moeilijk voor de beheerder om te garanderen dat de applicatie bijvoorbeeld voldoende prestaties blijft leveren. Daar moet bij de ontwikkeling dus wel rekening mee worden gehouden.
Waarin applicaties ook nog wel eens tekortschieten is monitoring, logging en bewaking. Wie doet er wat met de applicatie, en met welk succes? Als het meezit wordt deze informatie wel bijgehouden, maar niet op een manier dat de beheerders en auditors daar gemakkelijk bij kunnen. Gebruikers klagen ook nog wel eens over trage applicaties. Voor een optimaal beheer is er vrijwel geen betere plek om die prestaties (en tegelijkertijd de oorzaken van problemen) in kaart te brengen dan in de applicatie zelf.
De les: ontwikkelaars moeten met de gebruikers én de beheerders meedenken over de hele levensduur van de software en de eisen die dat stelt. Beheerders bewijzen zichzelf en de ontwikkelaars een dienst door duidelijker te beschrijven welke eigenschappen software moet hebben om goed beheerd te kunnen worden.