Met de opkomst van DevOps, lijkt er sprake te zijn van een nieuwe stroming binnen de wereld van het ontwikkelen en het beheer van applicaties. Waar de behoefte om effectief en efficiënt te werken hoger is dan ooit tevoren, stelt DevOps organisaties in staat om zich snel en op een hoog niveau aan te passen aan de veranderde markt. Want in de huidige wereld, waarin de behoefte om Agile te werken hoogtij viert, zal DevOps de kers op de taart zijn.
De term DevOps bestaat uit de termen development en operations. DevOps-teams zijn zelf verantwoordelijk voor de ontwikkeling van applicaties of systemen en operationele gedeelte ervan. Waar dit voorheen geïsoleerde teams waren, zijn deze teams nu samengekomen en werken zij gezamenlijk richting een gemeenschappelijk doel. Hierdoor zijn deze teams van A tot Z verantwoordelijk voor het functioneren en bijwerken van deze applicaties. Omdat de focus op een applicatie het team een gemeenschappelijk doel geeft, krijgt het team een gevoel van eigenaarschap op het product.
DevOps en Agile werken
Waar DevOps een term is die pas sinds kort veel gebruikt wordt in het Agile werken, zijn organisaties al langer bezig om de principes van Agile werken toe te passen. Agile heeft als doel om wendbaar te zijn en hiermee zo snel mogelijk software of producten op te kunnen leveren. Organisaties proberen een korte time-to-market te creëren. Naast een verandering van de cultuur van de organisatie moeten bedrijven, om een korte time-to-market te creëren, ook een infrastructuur hebben die het opleveren van deze producten of software faciliteert. DevOps is een manier om de time-to-market van een organisatie te versnellen en daarmee ook het Agile-proces te verbeteren. Waar Agile zorgt voor een proces waarbij waarde gedefinieerd en gecreëerd wordt, zorgt DevOps ervoor dat de organisatie in staat is om deze waarde te verzilveren.
Evenals Agile werken, is het bij DevOps belangrijk dat de principes die DevOps nastreeft binnen de cultuur van de organisatie wordt opgenomen. Om deze principes door alle lagen van de organisatie door te laten werken, is het belangrijk dat er sprake is van vertical commitment. Om de kleine veranderingen, die bij DevOps horen door te kunnen voeren, is het noodzakelijk dat je meerdere keren per dag een software release doet. Dit kan alleen als beslissingen vanuit alle lagen van de onderneming genomen kunnen worden.
Meerwaarde van DevOps
DevOps gaat over het onderhoud van applicaties en deze zo snel mogelijk naar de markt brengen. Dit houdt in dat wanneer je een wijziging of een fout in je software tegenkomt, je deze ’s ochtends kan ontdekken en deze voor het begin van de middag in je systeem verwerkt kan hebben. Om dit te kunnen doen, creëren DevOps-teams een proces dat het mogelijk maakt om geheel geautomatiseerd deze wijzigingen over een aantal testen heen te krijgen, zodat deze in productie komen te staan. Dit wordt ook wel continuous integration genoemd. Dit houdt in dat wanneer codes worden in gecheckt bij een ‘centrale opslagplaats’, deze software wordt samengepakt tot een pakketje dat daadwerkelijk wijzigingen in de applicatie of het systeem teweeg kunnen brengen. Deze pakketjes worden dan tegen een aantal tests onderworpen en hieruit bepaalt men of het pakketje verder het proces in gaat.
Waar ontwikkelaars momenteel veel tijd stoppen in het ontwikkelen van nieuwe functionaliteiten, vergeten zij vervolgens vaak testen te maken om deze nieuwe functionaliteiten te controleren op fouten. Bij het opzetten van een DevOps-systeem, zullen minder vaak nieuwe functionaliteiten gelanceerd worden, Dit komt doordat de ontwikkelaars meer tijd zullen steken in het opzetten van het systeem en de bijbehorende tests, dan in het ontwikkelen van nieuwe functionaliteiten. Na de opzet, zal de kwaliteit van nieuwe functionaliteiten veel hoger komen te liggen en kunnen deze sneller worden doorgevoerd. Hierdoor zijn wij in staat om binnen een uur een probleem te signaleren, het probleem op te lossen, de oplossing te testen en deze in het systeem te plaatsen.
Toekomst van DevOps
Waar DevOps het dus voor organisaties makkelijker maakt om veranderingen binnen haar applicaties en systemen door te voeren, is hiervoor echter ook een ander soort ontwikkelaar nodig. Waar ontwikkelaars voorheen voornamelijk gewend waren om met codes te werken, komt er bij een ‘DevOps-ontwikkelaar’ veel meer kijken. Daarom is het noodzakelijk dat organisaties investeren in de kennis en middelen om DevOps mogelijk te maken. Een van de grootste misvattingen bij DevOps is dat men het DevOps wil noemen, maar niet de investering in kennis en middelen willen doen om de stap te maken.
Door middel van deze investering in het eigen personeel, bereiden organisaties zich voor op de toekomst. Tegenwoordig worden vele markten overgenomen door diensten en producten die de markt vanuit een andere invalshoek benaderen. Met behulp van DevOps stellen bedrijven zichzelf in staat, om snel aanpassingen door te kunnen voeren. Want in een wereld waarin technologische ontwikkelingen elkaar in zo’n rap tempo opvolgen, zijn de bedrijven die zich het beste aanpassen de bedrijven die overleven.
Danny Higler, Agile-trainer en -coach bij Wemanity