Beren op de weg naar daily deployments

Door Jeroen Bezemer
Chief Technology Officer, Principal consultant

7 Redenen waarom je bang bent voor daily deployment (maar je het toch zou moeten doen)

We komen het regelmatig tegen. Een bedrijf stapt over op OutSystems, want met low-code kun je sneller, beter en flexibeler software ontwikkelen. Waterval wordt Agile en the sky is the limit. Tot op een gegeven moment toch een grens wordt bereikt.

Wat eerst heel snel en wendbaar leek – iteraties van twee à drie weken – blijkt toch niet snel genoeg. Bug fixing neemt veel tijd in beslag en verzoeken uit de business stapelen zich op. Ogenschijnlijk kleine aanpassingen duren lang, omdat grote features hun livegang tegenhouden. Urgente zaken worden aangepakt met hot fixes, maar dit is geen structurele oplossing. Het IT team loopt opnieuw vast en je realiseert je dat je terug bent gevallen in je oude werkwijze. Agile is in de praktijk een reeks kleine watervallen geworden.

Voor echte flexibiliteit is het tijd voor de volgende stap: daily deployment. Hierbij heb je je software pipeline volledig geoptimaliseerd. Er zijn geen blokkades meer. Op ieder moment kun je iets door de straat naar productie brengen. Je bent een voorspelbare partner voor de business en de klant, je levert kwaliteit en houdt je zonder moeite aan gemaakte beloftes. Je Software Development Life Cycle (SDLC) loopt als een zonnetje.

Waarschijnlijk schieten er nu allemaal redenen te binnen waarom daily deployment niet werkt voor jouw organisatie. We lopen ze even langs.

1. Door daily deployment komen onze grote features in gevaar

Het eerste wat je moet doen als je voor daily deployment gaat, is afhankelijkheden wegnemen, zowel op het gebied van business acceptance als technische afhankelijkheden in de vorm van grote features. Op technisch vlak biedt feature toggling een uitkomst. Met feature toggling kan een stukje code ‘aan’ en ‘uit’ worden gezet waardoor verschillende functionaliteiten veilig naast elkaar kunnen bestaan, zonder dat ze elkaar blokkeren of ondermijnen.

2. We hebben nu al te weinig tijd

Testen, bugfixing, kwaliteitscontrole, compliance, release documenting. Het is vaak al moeilijk genoeg om in een iteratie van twee weken alles gedaan te krijgen, hoe ga je dit in een dagelijkse cyclus passen? Het antwoord is: maak je releases klein en ga zoveel mogelijk automatiseren. Daily deployment vereist dat je alle handmatige acties elimineert.

Door release klein te maken, is het veel makkelijker om te achterhalen – mocht er toch een bug op productie zijn – waar het euvel zit. Deze oplossing is niet perfect, maar je leadtime om een bug te achterhalen en te fixen is vele malen kleiner.

3. We hebben niet elke dag iets voor productie, waarom zouden we die moeite doen?

Omdat het kan! Flauw antwoord natuurlijk, maar zo is het wel. Tenzij je Google of Amazon bent, heb je waarschijnlijk niet iedere dag iets om naar productie te brengen. Maar als het eens nodig is om morgen iets te releasen, ben je blij dat het kan. En je zult zien dat als de mogelijkheid er is, er ook vaker gebruik van wordt gemaakt. Bovendien maakt het je leven makkelijker, omdat je nu nog maar één proces hebt, of je nu iets wilt releasen, kwaliteit wilt controleren, een hotfix moet doorvoeren of iets live wil zetten voor je klant.

4. Maar dan gaan we naar productie met code die niet af is!

Hier beschermt OutSystems ons, want code die niet af is, kun je niet publiceren. Als er geen scherm is die de code aanroept, kan hij niet gebruikt worden. En om te voorkomen dat bestaande functionaliteiten omvallen door iets waar je die dag mee bezig bent geweest, bouw je een aantal controles in. Feature toggles helpen ons om features af te schermen zolang deze nog niet door de business zijn geaccepteerd. Met dagelijks deployen zien we de volgende ochtend of er fouten zijn en die kunnen we dan direct herstellen.

Daily deployment elimineert de situatie dat je na twee weken bouwen erachter komt dat je in het proces technical debt hebt opgebouwd, maar waar? Je vergrendelt kwaliteitschecks in je dagelijkse processen en ‘shift left’ wordt eindelijk realiteit.

5. Ik wil niet opnieuw onze werkwijze omgooien

Een dagelijkse iteratie vergt inderdaad een andere werkwijze dan een tweewekelijkse iteratie. Als je de transitie van waterval naar scrum Agile nog vers in het geheugen hebt, zul je van dit bericht misschien buikpijn krijgen. Wees gerust, daily deployment is niet moeilijk, het vergt alleen discipline om iedere dag het actielijstje af te vinken. Je team moet nieuwe gewoontes aanleren. Wanneer dat is gelukt heb je meer ruimte voor de leuke dingen: bouwen.

Als je een developer vraagt hoeveel tijd hij of zij aan code besteedt, is het antwoord vaak 40 tot 50%. De rest gaat op aan bugs en issues oplossen en saai handwerk. Wanneer je overstapt op daily deployment en de randprocessen zoveel mogelijk automatiseert (het streven is 100%), werk je efficiënter, heb je geen routinewerk meer en besteed je al snel 60 tot 70% van de tijd aan coderen. De kwaliteit van het geleverde product gaat omhoog en je team heeft meer werkplezier.

6. Hoe houden we in de waan van de dag langetermijndoelen in de gaten?

Als je iedere dag naar productie gaat en de business iedere dag aanvragen kan indienen, wie houdt dan de stip aan de horizon in de gaten? Dat doe je gezamenlijk als team. Jullie moeten hierover in gesprek blijven met elkaar, met de product owner en het management. Samen bepalen jullie waar de prioriteiten liggen.

Het is ook belangrijk om te overleggen met stakeholders over de transitie naar daily deployment en de business hierin mee te nemen. Dit betekent afspraken maken en verwachtingen managen.

7. Ja maar compliance?!

Compliance speelt een rol in iedere organisatie, bij sommige meer dan andere. Enterprises hebben strikte compliance-regels waar iedere nieuwe release voor livegang op moet worden getoetst. Dit hoeft daily deployment niet in de weg te staan als er een duidelijke scheiding is tussen productie en livegang, bijvoorbeeld door feature toggles.

Overigens kan compliance ook geautomatiseerd worden. Je kunt bijvoorbeeld limiteren welke handelingen in welke omgevingen zijn toegestaan of welke data gebruikt mogen worden. Als een feature niet aan deze check voldoet, komt hij niet door de pijplijn.

Het kan en mag leuker. Vergeet die beren!

Ben je al overtuigd of klinkt het je nog te mooi om waar te zijn? Verschillende bedrijven zijn al succesvol overgestapt op daily deployment en wij begeleiden een aantal van onze klanten die onderweg zijn naar dit proces. Voor het verbeteren van je Software Development Life Cycle werkt daily deployment als een versneller en het maakt software development ook gewoon leuker.

Meer weten? Ik vertel je graag hoe CoolProfs kan helpen jouw SDLC te verbeteren.

Jeroen Bezemer, CTO CoolProfs

Schakel JavaScript in je browser in om dit formulier in te vullen.
Type platform

CoolUp '24

De Uitdaging van Duurzame Innovatie in een Versnellende Wereld

Madhu Iyer, consultant bij Lean Digitale Transformatie

De technologische verandering raast voort. Ondanks Agile en low-code, worstelen we om bij te blijven met Generatief AI en de toenemende focus op duurzaamheid.

Een unieke aanpak, die Lean Thinking combineert met digitale transformatie, biedt soelaas. Dit beproefde framework versnelt innovatie en adaptatie, met oog op duurzaamheid.

In mijn lezing focus ik niet op kant-en-klare oplossingen, maar schets ik het framework en mijn vertaalslag naar de praktijk. Ik deel wat wel en niet werkte. Het framework is aanpasbaar – de juiste toepassing hangt volledig af van uw eigen context.

Toewijding, consistentie en emotionele veerkracht zijn cruciaal. In mijn lezing deel ik diverse ervaringen – successen en mislukkingen – om waardevolle lessen te trekken en met vertrouwen te navigeren in het veranderende bedrijfslandschap, met focus op duurzaamheid.

CoolUp '24

Dagelijks deployen een utopie? Nee hoor!

Ruud Rademaker, Software Architect bij PGGM

CoolProfs zegt “Er zijn tal van redenen te noemen om je software development lifecycle (SDLC) te verbeteren. Wat je doel ook is, de CoolProfs SDLC-Suite biedt alle tools om dit voor OutSystems low-code omgevingen werkelijkheid te maken. Met onze SDLC-Suite maak je de low-code belofte waar.

Maakt CoolProfs die belofte waar? Een kritische klant vertelt.

CoolUp '24

Domain Driven Architecture, een noodzaak?

Edwin Muijen, Principal Consultant CoolProfs en PO Cool Model

Domain Driven Design is niet nieuw, maar wordt steeds relevanter. Kleinere, bedrijfsonderdeel-specifieke apps zijn overzichtelijker, sneller aan te passen en onafhankelijk van andere apps en hun ontwikkelteams.

Monilithische applicaties uit het verleden kunnen misschien beter worden opgedeeld in kleine, herbruikbare delen.

Edwin Muijen vertelt waarom Domain Driven Architecture van belang is, nu en in de toekomst.

CoolUp '24

Tekenen met AI

Heb je zin om eens met jouw creatieve kant aan de slag te gaan? Grijp nu hier de kans om samen met Jan Loos tekeningen tot leven te laten komen door middel van AI.
Let op: voor deze workshop zijn beperkt plaatsen beschikbaar.

CoolUp '24

Op eigen benen staan, bouw je eigen OutSystems team.

Christa Roseboom, HR manager en mede-eigenaar Sogyo
Imelda Duivenvoorden, HR manager en MT-lid CoolProfs

Sogyo en CoolProfs geven tips en pitfalls over het samenstellen (en behouden) van je eigen OutSystems team. Samen helpen we je bij het werven van geschikte kandidaten en het vormgeven van een traineeprogramma. Uiteraard met de nodige begeleiding vanuit onze kant.

Samen zorgen we voor een instroom van goed opgeleide startende OutSystems-engineers die in vaste dienst kunnen treden. Ons plan is op basis van maatwerk en Best Practices. Zo heb je binnen de kortste keren ervaren OutSystems specialisten in dienst.

CoolUp '24

AI en UX voor OutSystems

Menno Cramer, Head of Solution Delivery & Experience bij OutSystems

UX/UI tovert apps om tot iets leuks en gebruiksvriendelijks, en met AI wordt het alleen maar beter – denk aan slimme personalisatie en bliksemsnel reageren. Met platforms zoals OutSystems kunnen we die dromen waarmaken en supercoole, slimme apps bouwen die precies doen wat gebruikers willen.

Dus, ontwerpers, omarm AI in jullie werk en wees niet bang – jullie creatieve magie en banen zijn veiliger dan ooit. En hey, vergeet niet: houd het simpel, test vaak, en luister altijd naar wat de gebruiker echt wil!

CoolUp '24

Road to ODC

Jeroen Bezemer, CTO bij CoolProfs
Arjan Waardenburg, Solution Architect bij OutSystems

Als OutSystems enthousiast zit je met een berg vragen. Je wilt zo snel mogelijk starten met ODC maar waar begin je en hoe zorg je voor een zo frictieloos mogelijke transitie van je huidige applicaties?

CoolProfs en OutSystems hebben een ijzersterke roadmap voor je uitgestippeld, met de stappen die je tussen nu en 2029 kunt doen. Daarbij wordt rekening gehouden met zowel de techniek als de mensen.