Business Development Innovatie Management

Hoe ‘Continuous Delivery’ uw bedrijf verder kan helpen

Continuous Delivery, business as usual? Dat zou het kunnen zijn, zeker als je het Agile gedachtegoed omarmt. Vraag jij je nog af hoe Continuous Delivery jouw organisatie kan helpen? Wij vertellen in dit artikel hoe de methode werkt, wat de principes en voordelen zijn. En, misschien nog interessanter, wat bij Covalent onze ervaring in de praktijk is.

Iedereen die zich bezig houdt met softwareontwikkeling weet dat er een tijdsintensief proces vooraf gaat aan het in productie zetten van nieuwe functionaliteiten. De software moet ontwikkeld, getest en geaccepteerd worden. Wij werken al jaren op basis van de Agile ontwikkelmethode Scrum, waardoor we sneller en beter kunnen ontwikkelen. Het heeft ons geholpen om nog beter te sturen op dat wat de klant wil. Desondanks verliep het in productie zetten van nieuwe functionaliteiten niet altijd vlekkeloos.


Continuous-Delivery snel resultaat

Test- en releasemanagement

Het uitrollen van functionaliteiten vraagt namelijk niet alleen kennis van de applicatie, maar ook van de infrastructuur waarop de applicatie draait. Het uitrollen van een functionaliteit is handwerk waarbij gemakkelijk fouten gemaakt kunnen worden. Het werk moet dus secuur uitgevoerd worden en is daardoor tijdrovend. Bovendien wordt testen vaak, denk aan de watervalmethAdode, aan het einde van het proces gepland. Hierdoor constateer je fouten in een laat stadium, waardoor het vinden van de oorzaak meer effort én tijd kost.

Idealiter zou het uitrollen van functionaliteiten geautomatiseerd zijn, waardoor het in productie zetten van software zonder problemen verloopt. En zou ook het testen geautomatiseerd zijn, waardoor elk stukje ontwikkeling direct getest wordt. Geautomatiseerd test- en releasemanagement dus. Precies daar biedt Continuous Delivery mogelijkheden voor.

Continuous Delivery

Continuous Delivery is een software ontwikkelmethode die er voor zorgt dat nieuwe ideeën zo snel en efficiënt mogelijk in productie gezet worden. Zie het als een aanvulling op Scrum. Scrum zorgt dat de kleine stukjes functionaliteit binnen een sprint opgeleverd kunnen worden. Met Continuous Delivery automatiseer je het proces waarmee de functionaliteiten over de OTA-straat (ontwikkel-test-acceptatie) navigeren. Denk aan het build-, test-, deployment- en releaseproces. Wijzigingen gaan hierdoor veel sneller naar de test- en productie omgeving.

Continuous-Delivery infrastructuur geautomatiseerd test- en releasemanagementPrincipes

Dat klinkt mooi. Maar het inrichten van Continuous Delivery gaat niet vanzelf. Ook bij ons niet. Om volgens de methode te gaan werken, moet je niet alleen op technisch vlak optimaliseren, maar ook op organisatorisch vlak. De organisatie moet de manier van werken wel kunnen bijhouden. Dat doen wij door te werken met Agileteams. Daarnaast gaat Continuous Delivery uit van een aantal principes. Integreer je deze principes in je werkwijze, dan creëer je de voorwaarden voor het werken met de methode.

  • Automatiseer alles
    Handwerk kost tijd en is foutgevoelig. Automatiseer daarom waar het kan de stappen in een opleverproces.
  • Als het pijn doet, doe het vaker
    Het proces richt zich erop een continue stroom van features naar productie te sturen. Door taken vaker uit te voeren, krijg je eerder feedback. Bijvoorbeeld over fouten.
  • Done is live
    Nieuwe functionaliteiten zijn pas van waarde als ze in productie staan. Een team is dus pas klaar als alle code in productie staat. En tot die tijd pak je geen nieuw werk op.
  • Bouw kwaliteit in
    Bouw effectieve kwaliteitscontroles in, zoals geautomatiseerde testen. Zo kunnen alle betrokkenen vertrouwen hebben in het eindproduct.
  • Voer continue verbeteringen door
    De continue stroom van functionaliteiten levert een continue stroom van feedback. Daardoor krijg je inzicht in waar verbeterpotentieel ligt.
  • Het hele team is verantwoordelijk
    Een team bestaat uit developers, testers, managers enz. Iedereen is evenredig verantwoordelijk voor het eindproduct en daarmee voor het totale leveringsproces.

continuous-delivery automatiseer alles

(klik op afbeelding voor meer details)

Voordelen

Eenmaal ingevoerd, brengt het werken volgens Continuous Delivery je belangrijke voordelen.

  • Hogere kwaliteit

AdWat ons enorm aanspreekt, is de gedachte te “automatiseren waar het kan” in het build-, test-, deployment- en releaseproces. Zo worden processen niet alleen sneller, maar ook betrouwbaarder uitgevoerd. Dit maakt dat de kwaliteit van de software beter is. En dat is goed nieuws voor zowel de interne organisatie als voor de klant.

  • Voorspelbaar proces

Het proces is voorspelbaar en herhaalbaar, waardoor vooruitplannen mogelijk is. Een release plannen in het weekend of ’s nachts betekent niet meer automatisch dat je erbij moet zijn. Bijkomend voordeel is dat het proces onafhankelijk van de technische kennis van een persoon. Een uitrol kan door ons allemaal ingepland worden.

  • Reductie van fouten

Het automatiseren van processen scheelt handwerk. Daarmee elimineer je de  foutgevoeligheid van handwerk. Denk bijvoorbeeld aan het testen van nieuwe functionaliteiten. Het risico van handwerk is dat een tester kan denken “dit gaat altijd goed”. Na 10 keer dezelfde test, kan het gebeuren dat je dingen niet meer ziet. Een systeem gaat anders om met testen. Bovendien krijg je direct feedback, waardoor herstel in een vroeg stadium mogelijk is. Terugzoeken naar het ontstaan van fouten kost meer tijd dan direct inspringen. De reductie van fouten levert dus tijdwinst en geld op.

  • Zeer korte releasecylus

Er wordt een korte releasecylus aangehouden. Dat betekent snel resultaat en een korte “time-to- market”. Dat heeft ons inziens ook te maken met het rollforward-herstel van fouten. Fouten in een release worden direct gerepareerd en overgezet naar productie. Voorheen bracht het rollback- herstel de staat van de software terug naar een eerdere versie. Rollforward- herstel is constructiever en levert snel resultaat.

LEES HIER MEER OVER CONTINUOUS DELIVERY 

[alert type=”info” title=”Leestip: 7 tips voor dagelijkse innovatie. Innovatie is meer dan incidenteel succes, het technische vernuft van een enkeling of een extraatje van het bedrijf. Om een organisatie succesvol te houden.”] Lees het artikel.

Tags

Over de auteur

Michiel Noij

De redactie wordt verzorgd door Michiel Noij en Nomair van Wijk.

Heeft u inhoudelijke vragen en/of zoekt u ondersteuning bij een organisatievraagstuk?
Neem dan gerust contact met ons op. Een team van adviseurs staat u voor u klaar. U kunt contact opnemen met Michiel Noij en/of Nomair van Wijk via 030-2270497 (optie 6) en/of contact [at] ubsbusiness.nl

Laat een reactie achter

Klik hier om een reactie achter te laten