De kunst van Agile werken, en waarom Kubernetes daarin onmisbaar is.
In onze vorige blog hebben we al verteld hoe je meer grip krijgt op software-ontwikkeling door Kubernetes te gebruiken. Daar heb je al gelezen dat het een tool is die perfect in DevOps past, waar we bij Seleno graag gebruik van maken. Daarnaast helpt het ook enorm in de overkoepelende werkwijze: Agile. In dit artikel vertellen we je daar graag meer over. Bij Agile draait het er namelijk om dat je als organisatie in staat bent om snel in te spelen op veranderingen. Dat lukt alleen als alles daar ook op ingericht is.
Van branch naar deployment
Voordat een feature ontwikkeld kan worden, moet er een goede user story geschreven worden. Dit vormt de basis van de feature en is datgene waar het ontwikkelteam mee aan de slag gaat.
In versiebeheer wordt er vervolgens een branch aangemaakt op basis van de user story. Zodra er code gepubliceerd wordt, is de feature zichtbaar voor stakeholders via een unieke URL. Daar gebruiken we bij Seleno de tool Kubernetes voor, waar je in deze blog meer over kunt lezen. Waar het op neerkomt, is dat elke user story zijn eigen branch in versiebeheer heeft en dus een eigen URL waar op meegekeken kan worden.
De link naar Continuous Integration
Tools die bij dit proces helpen, vormen de basis van continuous integration. In de praktijk komt het neer op het automatiseren van de manier waarop code van de ontwikkelomgeving naar de live-omgeving gaat. Door dit te koppelen aan verschillende omgevingen per ontwikkelfase, is het proces goed te sturen. Het belangrijkste voordeel is dat je als organisatie precies kunt zien welk deel van de software in welke fase zit. Door dit bij te houden met een scrumboard, lopen planning en deployment gelijk aan elkaar.
Agile werken en continuous integration kan alleen een succes worden als het wordt omarmd door de complete organisatie. Alleen dan zal het een positief effect hebben op het releasen van software. Als bijvoorbeeld alleen het ontwikkelteam zo werkt, maar de wijzigingen niet gedeployed worden omdat er gediscussieerd wordt over wat er wanneer live gaat, dan werk je alsnog in de stroperige watervalstructuur en wordt je software niet sneller gepubliceerd.
Agile werken en denken moet onderdeel zijn van het proces. Om die reden moet er elke dag een productowner bereikbaar zijn die ontwikkelde features kan beoordelen en door kan zetten naar een volgende fase, zodat de feature uiteindelijk beschikbaar is voor alle gebruikers. Door dit proces goed in te richten, zou je als organisatie in staat moeten zijn dagelijks kleine updates te doen aan de software. Zo speel je snel in op vragen en problemen van je gebruikers.
De rol van Kubernetes
Bij Seleno gebruiken we Kubernetes als tool om het proces van continuous integration te ondersteunen. Met Kubernetes kunnen we namelijk dynamische omgevingen per feature maken, zodat een productowner mee kan kijken in de ontwikkeling, zonder software te installeren. Hij kan zo eenvoudig de werking van een feature controleren, aan de hand van de acceptatiecriteria uit de user story.
Dit maakt Kubernetes een multifunctionele tool voor organisaties. Het zorgt er namelijk niet alleen voor dat je product maximaal schaalbaar is in de productie-omgeving. Door Kubernetes te koppelen aan een continuous integration-tool maak je hier namelijk ook al efficiënt gebruik van tijdens de development-, test- en acceptatiefase.
Wil je weten wat agile, continuous integration en Kubernetes voor jouw bedrijf kunnen betekenen? We vertellen je er graag meer over!