DSO

De Donna Service Organisatie is een organisatie met een hele grote uitdaging. Een monoliet van 1 miljoen regels code met 50% test coverage moet een beheersbaar product worden, omgevormd in microservices op het nieuwe OpenShift platform. Ook moet qua werkwijze een hoop veranderen. Men wil van 4 releases in een waterval proces naar volwaardig DevOps teams die zelf continue kunnen releasen.

Bij aanvang bleek de monoliet vol technical debt en deze pijn werd gerouleerd over de teams. De problemen werden naar Jeroens inzicht niet goed genoeg onderzocht en ook niet opgelost, waardoor ze opnieuw werden gemeld en je vaak een oud probleem van een ander team kreeg. Jeroen heeft de intakes naar zijn team getrokken en de grote monoliet in brokken kennisgebied opgedeeld om teams rust te geven en een mogelijkheid voor een structurele oplossing. Het bleek een groot succes. De doorgaande werkzaamheden en de bijbehorende focus werden niet meer doorbroken door een beheersprint, maar iedere sprint werd een duidelijk onderzocht probleem aangepakt door elk team. Onderzoek naar de moeilijke en vaak diepe problemen waren best leuk, en Jeroens team werd daar steeds beter en sneller in.

De kennisgebieden vormden de basis voor de werkverdeling van de nieuwe microservices. Jeroens team leverde de eerste services en hebben gelijk de maatstaven van huidige software gesteld. Docker containers met microservices, Angular frontend, en alles 100% functioneel getest en geleverd in een grondige pipeline. De eerste was een hobbelige weg, maar daarna gingen we heel snel. Om alles af te ronden, hebben we onze kennis en ervaringen gedeeld met de rest van de organisatie. Een vlammetje ontstak en nog geen 2 maanden later een uitnodiging voor een kennissessie van een ander team. Angular was nieuwe technologie voor de DSO, dus Jeroen heeft intern Angular trainingen verzorgd voor meerdere teams, met eindresultaat een 100% geteste frontend webapplicatie die een films laat zoeken op een films-API.

We hebben 4 backend services opgeleverd en in beheer, een default frontend gegenereerd op de OpenApi spec en uitgebouwd tot beheerapplicatie in Angular 8, met minder dan 5% handwerk achteraf, alles 100% getest, waarvan vrijwel 100% met cucumber, en 1 volledige pipeline, die de namespage maakt, onze apps allemaal, met alle branches uitcheckt uit git, hiervoor build pipelines opgezet, alles gebouwd, en waar nodig gedeployed en gemonitord. Alles uitgevoerd met 1 single gradle command. Het team voelt zich ook echt eigenaar, en het laatste jaar hebben we ons gestelde doel 80% van de sprints minimaal 85% voorspelbaarheid gehaald, met een top van 6 sprints op rij 100%.
De Donna Service Organisatie is een organisatie met een hele grote uitdaging. Een monoliet van 1 miljoen regels code met 50% test coverage moet een beheersbaar product worden, omgevormd in microservices op het nieuwe OpenShift platform. Ook moet qua werkwijze een hoop veranderen. Men wil van 4 releases in een waterval proces naar volwaardig DevOps teams die zelf continue kunnen releasen.

Bij aanvang bleek de monoliet vol technical debt en deze pijn werd gerouleerd over de teams. De problemen werden naar Jeroens inzicht niet goed genoeg onderzocht en ook niet opgelost, waardoor ze opnieuw werden gemeld en je vaak een oud probleem van een ander team kreeg. Jeroen heeft de intakes naar zijn team getrokken en de grote monoliet in brokken kennisgebied opgedeeld om teams rust te geven en een mogelijkheid voor een structurele oplossing. Het bleek een groot succes. De doorgaande werkzaamheden en de bijbehorende focus werden niet meer doorbroken door een beheersprint, maar iedere sprint werd een duidelijk onderzocht probleem aangepakt door elk team. Onderzoek naar de moeilijke en vaak diepe problemen waren best leuk, en Jeroens team werd daar steeds beter en sneller in.

De kennisgebieden vormden de basis voor de werkverdeling van de nieuwe microservices. Jeroens team leverde de eerste services en hebben gelijk de maatstaven van huidige software gesteld. Docker containers met microservices, Angular frontend, en alles 100% functioneel getest en geleverd in een grondige pipeline. De eerste was een hobbelige weg, maar daarna gingen we heel snel. Om alles af te ronden, hebben we onze kennis en ervaringen gedeeld met de rest van de organisatie. Een vlammetje ontstak en nog geen 2 maanden later een uitnodiging voor een kennissessie van een ander team. Angular was nieuwe technologie voor de DSO, dus Jeroen heeft intern Angular trainingen verzorgd voor meerdere teams, met eindresultaat een 100% geteste frontend webapplicatie die een films laat zoeken op een films-API.

We hebben 4 backend services opgeleverd en in beheer, een default frontend gegenereerd op de OpenApi spec en uitgebouwd tot beheerapplicatie in Angular 8, met minder dan 5% handwerk achteraf, alles 100% getest, waarvan vrijwel 100% met cucumber, en 1 volledige pipeline, die de namespage maakt, onze apps allemaal, met alle branches uitcheckt uit git, hiervoor build pipelines opgezet, alles gebouwd, en waar nodig gedeployed en gemonitord. Alles uitgevoerd met 1 single gradle command. Het team voelt zich ook echt eigenaar, en het laatste jaar hebben we ons gestelde doel 80% van de sprints minimaal 85% voorspelbaarheid gehaald, met een top van 6 sprints op rij 100%.
Java, Eclipse RCP, Oracle, GIT, Gradle, Spring Boot, Spring Web (Rest), LiquiBase, MyBatis, JUnit, Cucumber, Angular 5-8, Agile SCRUM, OpenShift, Jenkins, Docker, OpenApi spec (swagger 3), Kibana, Grafana, InFluxDB, Prometheus
Java, Eclipse RCP, Oracle, GIT, Gradle, Spring Boot, Spring Web (Rest), LiquiBase, MyBatis, JUnit, Cucumber, Angular 5-8, Agile SCRUM, OpenShift, Jenkins, Docker, OpenApi spec (swagger 3), Kibana, Grafana, InFluxDB, Prometheus