Bij Cegeka ontwikkelen we graag Agile, dat bewees deze blog al. Door het gebruik van deze methodologieën kan men immers op een snelle manier software bouwen, alle nodige testen doorlopen en vervolgens de software installeren op de verschillende omgevingen van de klant. Maar wie voert deze installaties uit? Installaties in acceptatie- en productieomgevingen worden vrijwel altijd uitgevoerd door mensen van het Operations-team. Dit laatste deel van het proces is wat men noemt The Last Mile. Dankzij de agile principes verloopt die Last Mile heel wat vlotter.
Traditioneel worden softwarereleases klaargestoomd door de developers en daarna over de muur gegooid naar het Operations-team dat de installatie zal uitvoeren. Jammer genoeg mets je op deze manier een muur tussen het Development-team en het Operations-team. Zal deze installatie dan eigenlijk wel lukken? Zijn alle omgevingen waarop de software geïnstalleerd wordt wel gelijkwaardig ? Ik durf het bijna niet vragen maar… is ze manueel uit te voeren ? Er is pas sprake van Business value voor de klant als de software draait in de productie omgevingen en de klant er effectief gebruik van maakt. The Last Mile zo vlot mogelijk laten verlopen wordt vaak over het hoofd gezien.
Eén van de eerste principes uit het Agile Manifesto zegt “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.“ Valuable software neemt het development team voor zijn rekening door enkel software te schrijven voor wat de klant effectief nodig heeft, en door deze software door een heel proces van geautomatiseerde testen te laten lopen. Continuous Delivery wordt echter vaak over het hoofd gezien, hoewel het cruciaal is voor de goede oplevering van software. Het gaat in wezen immers over de volledige automatisatie van het ‘build, test, deploy & release’-proces. Door dit proces te automatiseren krijg je zeer snel feedback en weet je of het project klaar is om in productie te gaan en gereleaset te worden.
Door hetzelfde ‘deploy & release’-proces te gebruiken in zowel ontwikkeling als acceptatie en productie hoeft niemand nog te vrezen of de installatie van de software in productie wel zal lukken. Want het is reeds meermaals getest in de voorgaande stadia. Op deze manier is het zelfs mogelijk om meerdere keren per dag te ‘deployen’ naar productie. Stel je voor… Een en ander belichaamt een belangrijk aspect van Continuous Delivery, nl. “if it hurts, do it more often and bring the pain forward”. Als er iets in het software release proces hapert, neem dit probleem ter harte en zoek er een oplossing voor.
DevOps
Naast Continuous Delivery wordt ook vaak DevOps geopperd. Dit hangt nauw samen met Continuous Delivery omdat het gaat over een verbeterde communicatie tussen development, operations, testers, enz… kortom iedereen die iets te maken heeft met het opleveren van een bepaald softwareproject. DevOps gaat meer over cultuur en organisatorische veranderingen dan over de juiste tools. Die verandering in cultuur en organisatie levert meestal de grootste uitdaging op. Anderzijds vinden ook Operations-teams meer en meer hun gading in de Agile methodologieën. Iteraties, daily standups, Kanban, TDD, enzovoort, zijn geen onbekenden meer voor Operations.
Business value voor de klant is het belangrijkste criterium voor succesvolle softwareprojecten. Dit kan maar gebeuren door het toepassen van de principes en best practices van Continuous Delivery en DevOps. The Last Mile hoeft niet het laatste loodje te zijn.

2 reacties
Pingback: Breng je software eens makkelijk in productie, met vlotte last mile. | Fabian Dammekens
Pingback: achat maillot de foot