Planmatig oog hebben voor ontwikkeling, testing, ingebruikname en verbetering van de applicatie is een relatief nieuwe discipline bij het bouwen van software. De term hiervoor is application lifecycle management (ALM) en het wordt vooral in de praktijk geleerd, weet Daniël van der Starre. Hij is ALM-consultant binnen Ordina en heeft zijn ervaring in deze discipline vooral opgedaan in praktijksituaties. Het is zijn werk om organisaties te helpen en te coachen bij het omarmen van veranderingen die het software development-proces optimaliseren.

Beter, stabiel en time-to-market

"ALM levert waardevollere, betere en stabielere software op, met ook nog eens een kortere time-to-market", vertelt Van der Starre. Software en updates daarvoor zijn dankzij de gedegen voorbereiding van ALM sneller uit te brengen. Ontwikkelaars houden bij de bouw gedegen rekening met latere aanvullingen voor applicaties, inclusief nu nog onvoorziene veranderingen, en daardoor wordt toekomstig werk aan de applicatie relatief eenvoudiger.

"Uiteindelijk moet de klant zelf verder kunnen gaan als wij de deur achter ons dicht doen", legt de Ordina-expert uit. Organisaties moeten - op eigen kracht of mogelijk met externen - voort kunnen bouwen op de basis die met ALM wordt gelegd.

Voor het verkrijgen van een dergelijke toekomstbestendigheid is een serieuze aanpak met gedegen voorwerk vereist, een volwassen ontwikkelproces dus. Informatica-opleidingen voorzien hier nog niet in, dus is het aan het bedrijfsleven om zelf aan deze businessbehoefte te voldoen. "Er is geen ALM-studie", vertelt Van der Starre. Zijn werkgever Ordina heeft dit opgepakt en past het in de praktijk toe.

Faciliteren en voortgang overzien

Van der Starre heeft zich de afgelopen jaren ontwikkeld tot wat hij nu is: van junior developer tot lead developer en toen van Scrum Master naar ALM-consultant. Wat omvat ALM dan eigenlijk? "Traditioneel is ALM opgedeeld in drie fasen", weet Van der Starre, "Governance, Development, en Operations." Eerstgenoemde fase begint bij het ontstaan van de applicatie en loopt door tijdens de ontwikkeling, de oplevering, het gebruik en de eventuele benodigde uitbreidingen van de applicatie, tot aan het moment dat de stekker eruit wordt getrokken. "Bijvoorbeeld omdat er te weinig gebruikers gebruik maken van het systeem", vertelt de consultant van Ordina.

De tweede fase, development, loopt niet gelijk vanaf het begin, maar moet wel meegaan met het uiteindelijk aantal releases van de softwarecode in kwestie. De derde fase, operations, komt om de hoek kijken net vóór de eerste release. "Dit is bijvoorbeeld voor het hosten van de applicatie en de beheerbaarheid ervan."

Enthousiaste en zelfstandige mensen

Ordina heeft een ALM Competence Center opgezet. Het doel daarvan is het binnen de dienstverlener uitbouwen van de expertise op dit gebied. "Dat moet je niet top-down doen, maar met een enthousiast en zelforganiserend team", zegt Jasper Jak, Business Unit Manager.

Zijn rol als manager ziet hij dan ook hoofdzakelijk als ondersteunend, in plaats van aansturend. "Kijk om je heen, wat maakt teams succesvol? Enthousiasme, en de vrijheid te werken aan het best haalbare resultaat." Naast enthousiasme en werkterrein speelt voor het aantrekken en inzetten van experts ook reputatie in het vakgebied een grote rol. Ordina geeft professionals veel vrijheid, opleidingsmogelijkheden en afwisseling.

Van der Starre kan dit beamen uit zijn eigen ervaring. Bij de Ordina-klant waar hij nu is gestationeerd, is volgens hem niets standaard. "Ze hebben al tientallen verschillende applicaties die gebruik maken van net zoveel frameworks en technieken. Dát maakt het uitdagend, vaak in tegenstelling tot werk bij een kleinere organisatie."

Deze traditionele opzet voldoet overigens niet meer helemaal, vervolgt Van der Starre. Tegenwoordig is het ook van essentieel belang dat applicaties vrij snel gehost kunnen worden om bijvoorbeeld technieken als Continuous Integration en Continuous Delivery toe te kunnen passen. Development zal nu veel eerder om de tafel gaan zitten met de business om de eerste requirements van de nieuwe applicatie duidelijk te krijgen. De eerdergenoemde development-fase start dus al veel eerder, eigenlijk al vanaf het begin.

Aan deze algemene ALM-opzet voegt Van der Starre nog een belangrijke vierde fase toe: die van monitoring. Van performance en het gebruik van de applicatie kan het team namelijk allerlei zaken leren. Aan de hand van die feedback kan de software steeds worden verbeterd.

Kernwaarden van ALM

Van der Starre somt de vier kernwaarden op van ALM. "Ten eerste het plannen. Je moet weten wat je ongevéér wilt maken." Hij legt nadruk op 'ongeveer' omdat er immers rekening moet worden gehouden met veranderende functionaliteit, maar ook met nog onbekende maar toch gewenste functionaliteit. Daarnaast omvat dit ook de nu al wel geplande features en de definities daarvan.

De tweede kernwaarde is het bouwen en testen van de applicatie. Hierbij komt ook een stuk infrastructuur mee: "Gij zult een centrale build-server opzetten", geeft Van der Starre als gebod. "Het builden van een applicatie kun je anno nu niet meer doen door code te compileren op het werkstation van een developer en dan op dvd een GM (Gold Master) branden." Verder hoort bij modern testwerk een automatische testprocedure en één of meerdere testomgevingen "die snel zijn op te bouwen én weer af te breken". Development is zo zelf in hoge mate te automatiseren. "Veel organisaties hebben daar wel moeite mee", geeft Van der Starre aan. "Het is voor sommigen te nieuw, te onbekend en te complex."

De derde ALM-kernwaarde is de daadwerkelijke release van de ontwikkelde software naar de daarvoor bestemde omgevingen. "Hier komen alle activiteiten bij kijken die nodig zijn voor het releasen. Ook dit gebeurt geautomatiseerd, dus zonder menselijke handelingen, lees: fouten." Hierdoor is het mogelijk vaker en sneller nieuwe software te releasen.

Tot slot is er dan de feedbackloop, die ook van belang is voor het toevoegen van nieuwe features aan de applicatie. Van der Starre legt uit dat het monitoren van een in productie genomen applicatie niet alleen op technisch vlak dient te gebeuren. "Performance en stabiliteit zijn van belang, maar óók: wat vinden mensen ervan?" Dit kan ook weer inzichten geven voor nieuwe features. Van der Starre adviseert wel om dit in eerste instantie te testen bij gebruikers die qua gebruik en belang dicht bij de applicatie zitten.

"ALM liep eerst van punt tot punt, nu is het een continue cirkel", zo licht Van der Starre de feedbackloop toe. Het bekijken en leren van de applicatie speelt een cruciale rol in het bouwen van een waardevolle applicatie die de wensen van de stakeholders tot op de millimeter nauwkeurig representeert.

Met ons ALM Competence Center investeren we in de toekomst. Kom jij ons team versterken en bouw je met ons mee? Reageer op onze vacatures voor ALM Consultant Microsoft en ALM Engineer Microsoft. Bekijk deze video om de sfeer te proeven bij ons ALM Competence Center.