Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Jeroen Reijn & Sjoerd Hemminga
Hoe releasen minder pijnlijk
werd bij de ANWB
Alarmcentrale
is powered by
Waar gaan we het over hebben?
• Problemen
• Hoe kan Continuous Delivery helpen?
• Onze aanpak & opstart-problemen
• Huidig...
Over ons
Jeroen Reijn
• IT-Architect @ ANWB
• Software/Solution architect
@ Luminis Amsterdam
Sjoerd Hemminga
• Software e...
Intro ANWB
5
6
7
8
9
10
11
12
Intro HV / ALC / WW
14
Transitie oud naar nieuw
15
0
20,000
40,000
60,000
80,000
100,000
120,000 April
Juni
Juli
Augustus
September
Oktober
Novem...
Processing
Storage
UI
Technology stack
16
Intake
Landschap
17
Zakelijke markt
FLOW
Consumenten
markt
BI
Logicx
Finance
Uitvoering
Online
Zusterclubs
ONTWIKKELPROCES BEGIN 2016
18
Agile werkwijze & Scrum
• 3 ontwikkel teams
– Case, Rechten en Publiceren
– Bestaande uit Ontwikkelaars, Testers en Analis...
Werkwijze
20
Git workflow
21
Werkwijze
22
Jenkins
• Een open source, cross-platform, continuous integration en continuous
delivery applicatie.
• Makkelijk te config...
XLDeploy
• Gestandaardiseerde deployments
• Applicatie configuratie
• Bevat alle deployables
24
Verantwoordelijkheid
25
WAAR LIEPEN WE TEGEN AAN?
26
Waar liepen we tegen aan?
• Geregeld verstoringen
– Veel en divers werk per sprint
– ‘Haast’ om wijzigingen mee te krijgen...
HOE KAN CONTINUOUS DELIVERY HELPEN?
28
Continuous Delivery
“Continuous Delivery is the ability to get changes of all
types—including new features, configuration ...
Principes
• Bouw kwaliteit in
• Werk in kleine batches
• Computers doen de herhalende taken, mensen lossen
problemen op
• ...
ONZE AANPAK
31
Begin bij het begin…
• Praat met elkaar en creëer een gezamenlijk begrip
• Cultuur
• Wat is er in de teams nodig?
• Wat is...
Gezamenlijk begrip
• Continuous Integration != Continuous Delivery !=
Continuous Deployment
• “Gaan de ontwikkelteams de s...
Cultuurveranderingen
• Ontwikkelaars, testers, analisten, beheerders en gebruikers werken als
één team. Verwijder ‘afstand...
Analyse
Ontwikkeling Test Acceptatie Productie
35
Analyse verbeterpunten
Ontwikkeling Test Acceptatie Productie
36
Los team ter ondersteuning
• Focus op automatisering
• Ondersteunend aan andere teams
• Monitoring
• Alertering
37
Testen
• ANWB Regressietest Tool (ART)
• Onder versie beheer brengen van de tests
• Breder gedragen kennis van test tool
•...
Release per story
• Ontkoppel deployment van het einde sprint moment
• Maak de sprint demo ceremonieel
• Releases van 1 ke...
Test omgevingen?
• Hoe gaan we om met de bottleneck voor test omgevingen?
– VM’s?
– Containers?
40
Wat doet Docker?
41
Bron: https://www.docker.com/
Docker FLOW
42
Docker Swarm
Node 1 Node 2 Node 3 ART Node
FLOW
-1321
FLOW
-1322
FLOW
-1323
FLOW
-1323
On-demand test omgevingen
43
Directe feedback
• Release notificaties via messenger tool
• Verstoring notificaties
• Real-time feedback
44
Splunk
• Verzamelt en indexeert log en machine data
• Krachtige zoek, analyse en visualizatie mogelijkheden
• Beschikbaar ...
Zabbix
• Open source monitoring tool
• Servers monitoring
• Applicatie monitoring
• DB Monitoring
46
KINDERZIEKTES
47
Zorgen over
stabiliteit van
operatie
Afspraken
over uitrol-
windows
48
Zorgen over
stabiliteit van
software
Betere tests
49
Onbekendheid
van developers
met tests
Meer tests
door
developers
50
Wachtrijen
voor
omgevingen
Meer
omgevingen /
containers
51
Verwachte
oplevering
Per sprint
52
Meerdere
releases
tegelijk
Een release-
bord
53
De release-paal
54
WAAR STAAN WE NU?
55
Nieuw Git workflow
56
master
feature
feature
v4.17.3.1
v4.17.3.2
Verantwoordelijkheid nu
57
Wat heeft het opgeleverd?
• Minder stress:
– Geen haast meer om stories in sprint-release te stoppen
– Geen stress voor de...
RESTERENDE UITDAGINGEN
59
Releases zijn nog veel werk
Merge master
Aftrappen
regressietest
Aftrappen
performancetest
Aftrappen
datatest
Release bouw...
Regressietest niet stabiel
• Instabiliteit door:
– GUI jitter
– Tests die te veel op externe test-systemen leunen
• Ervari...
Test-keten
62
Intake
Zakelijke markt
FLOW
Consumenten
markt
BI
Logicx
Finance
Uitvoering
Online
Zusterclubs
Lessons learnt
• Blijf in gesprek
– Creëer gezamenlijk begrip
– Neem zorgen serieus, maar laat je niet verlammen
• Begin k...
?Bedankt
Vragen?
is powered by
Upcoming SlideShare
Loading in …5
×

of

Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 1 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 2 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 3 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 4 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 5 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 6 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 7 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 8 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 9 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 10 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 11 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 12 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 13 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 14 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 15 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 16 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 17 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 18 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 19 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 20 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 21 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 22 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 23 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 24 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 25 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 26 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 27 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 28 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 29 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 30 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 31 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 32 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 33 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 34 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 35 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 36 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 37 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 38 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 39 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 40 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 41 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 42 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 43 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 44 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 45 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 46 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 47 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 48 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 49 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 50 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 51 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 52 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 53 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 54 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 55 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 56 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 57 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 58 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 59 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 60 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 61 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 62 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 63 Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale Slide 64

YouTube videos are no longer supported on SlideShare

View original on YouTube

Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

0 Likes

Share

Download to read offline

Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale

Download to read offline

Continuous Delivery wordt vaak geassocieerd met een snellere time-to-market, maar wat als dat niet je voornaamste probleem is? Een aantal jaar geleden heeft de ANWB besloten om zich van een traditionele enterprise organisatie te transformeren naar een Agile organisatie. Bij de afdeling Hulpverlening zijn wij met drie teams bezig met het ontwikkelen van het nieuwe case managementsysteem voor de ANWB Alarmcentrale. Als onderdeel van onze agile werkwijze maakten wij een release en rolden wij deze uit aan het eind van onze 2 wekelijkse sprints. Dit leverde ons regelmatig verschillende problemen op en halverwege 2016 besloten we dat het anders moest. We hebben toen een beweging ingezet richting Continuous Delivery. In deze presentatie zullen we ingaan op de uitdagingen die we hadden, hoe we die hebben aangepakt, en op een aantal onverwachte voordelen.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale

  1. 1. Jeroen Reijn & Sjoerd Hemminga Hoe releasen minder pijnlijk werd bij de ANWB Alarmcentrale is powered by
  2. 2. Waar gaan we het over hebben? • Problemen • Hoe kan Continuous Delivery helpen? • Onze aanpak & opstart-problemen • Huidige staat & resterende uitdagingen 2
  3. 3. Over ons Jeroen Reijn • IT-Architect @ ANWB • Software/Solution architect @ Luminis Amsterdam Sjoerd Hemminga • Software engineer @ ANWB 3 @jreijn @shemminga
  4. 4. Intro ANWB
  5. 5. 5
  6. 6. 6
  7. 7. 7
  8. 8. 8
  9. 9. 9
  10. 10. 10
  11. 11. 11
  12. 12. 12
  13. 13. Intro HV / ALC / WW
  14. 14. 14
  15. 15. Transitie oud naar nieuw 15 0 20,000 40,000 60,000 80,000 100,000 120,000 April Juni Juli Augustus September Oktober November December Januari Februari Maart April Mei Juni Juli Augustus September Oktober November December Januari Februari Maart 2015 2016 2017 AantalCases jaar, maand Nederland
  16. 16. Processing Storage UI Technology stack 16
  17. 17. Intake Landschap 17 Zakelijke markt FLOW Consumenten markt BI Logicx Finance Uitvoering Online Zusterclubs
  18. 18. ONTWIKKELPROCES BEGIN 2016 18
  19. 19. Agile werkwijze & Scrum • 3 ontwikkel teams – Case, Rechten en Publiceren – Bestaande uit Ontwikkelaars, Testers en Analisten • 2 beheer teams – Functioneel – Technisch • 2 wekelijkse sprints – 26 vaste releases per jaar – Hotfix releases als nodig 19
  20. 20. Werkwijze 20
  21. 21. Git workflow 21
  22. 22. Werkwijze 22
  23. 23. Jenkins • Een open source, cross-platform, continuous integration en continuous delivery applicatie. • Makkelijk te configureren • Groot plugin ecosysteem • Gebruiken we voor diverse jobs: – Compile en Unit test – Releases – Regressie tests – Performance test 23
  24. 24. XLDeploy • Gestandaardiseerde deployments • Applicatie configuratie • Bevat alle deployables 24
  25. 25. Verantwoordelijkheid 25
  26. 26. WAAR LIEPEN WE TEGEN AAN? 26
  27. 27. Waar liepen we tegen aan? • Geregeld verstoringen – Veel en divers werk per sprint – ‘Haast’ om wijzigingen mee te krijgen • Tijd nodig om releases te stabiliseren • Veel afstemming en wachttijd tussen teams – Git merge conflicten – Tests samenvoegen na de ‘release’ – Beschikbaarheid test omgeving • Grote/langdurige GAT na de sprint 27
  28. 28. HOE KAN CONTINUOUS DELIVERY HELPEN? 28
  29. 29. Continuous Delivery “Continuous Delivery is the ability to get changes of all types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way.” 29 Bron: https://continuousdelivery.com/
  30. 30. Principes • Bouw kwaliteit in • Werk in kleine batches • Computers doen de herhalende taken, mensen lossen problemen op • Blijf continu verbeteren • Iedereen is verantwoordelijk 30
  31. 31. ONZE AANPAK 31
  32. 32. Begin bij het begin… • Praat met elkaar en creëer een gezamenlijk begrip • Cultuur • Wat is er in de teams nodig? • Wat is er aan de business kant nodig? 32
  33. 33. Gezamenlijk begrip • Continuous Integration != Continuous Delivery != Continuous Deployment • “Gaan de ontwikkelteams de software nu direct uitrollen naar productie?” • “We zijn toch geen Netflix, waarom hebben we dit nodig?” 33
  34. 34. Cultuurveranderingen • Ontwikkelaars, testers, analisten, beheerders en gebruikers werken als één team. Verwijder ‘afstand’. • Af als het ook echt af is. • Afstappen van een ‘allesomvattende’ GAT • Openheid en transparantie • Continu samen leren, reflecteren en verbeteren 34
  35. 35. Analyse Ontwikkeling Test Acceptatie Productie 35
  36. 36. Analyse verbeterpunten Ontwikkeling Test Acceptatie Productie 36
  37. 37. Los team ter ondersteuning • Focus op automatisering • Ondersteunend aan andere teams • Monitoring • Alertering 37
  38. 38. Testen • ANWB Regressietest Tool (ART) • Onder versie beheer brengen van de tests • Breder gedragen kennis van test tool • Focus op dekkingsgraad • Regressie test op iedere werkplek kunnen draaien tegen een installatie van FLOW 38
  39. 39. Release per story • Ontkoppel deployment van het einde sprint moment • Maak de sprint demo ceremonieel • Releases van 1 keer per sprint naar tot 3 keer per dag 39
  40. 40. Test omgevingen? • Hoe gaan we om met de bottleneck voor test omgevingen? – VM’s? – Containers? 40
  41. 41. Wat doet Docker? 41 Bron: https://www.docker.com/
  42. 42. Docker FLOW 42 Docker Swarm Node 1 Node 2 Node 3 ART Node FLOW -1321 FLOW -1322 FLOW -1323 FLOW -1323
  43. 43. On-demand test omgevingen 43
  44. 44. Directe feedback • Release notificaties via messenger tool • Verstoring notificaties • Real-time feedback 44
  45. 45. Splunk • Verzamelt en indexeert log en machine data • Krachtige zoek, analyse en visualizatie mogelijkheden • Beschikbaar on-premise en in de cloud • Verstuurt notificaties op basis van events 45
  46. 46. Zabbix • Open source monitoring tool • Servers monitoring • Applicatie monitoring • DB Monitoring 46
  47. 47. KINDERZIEKTES 47
  48. 48. Zorgen over stabiliteit van operatie Afspraken over uitrol- windows 48
  49. 49. Zorgen over stabiliteit van software Betere tests 49
  50. 50. Onbekendheid van developers met tests Meer tests door developers 50
  51. 51. Wachtrijen voor omgevingen Meer omgevingen / containers 51
  52. 52. Verwachte oplevering Per sprint 52
  53. 53. Meerdere releases tegelijk Een release- bord 53
  54. 54. De release-paal 54
  55. 55. WAAR STAAN WE NU? 55
  56. 56. Nieuw Git workflow 56 master feature feature v4.17.3.1 v4.17.3.2
  57. 57. Verantwoordelijkheid nu 57
  58. 58. Wat heeft het opgeleverd? • Minder stress: – Geen haast meer om stories in sprint-release te stoppen – Geen stress voor de demo meer: niet af is niet af • Meer inzicht in release • Betere verdeling van kennis • Sneller problemen kunnen oplossen • Minder merge conflicten • Minder wachten op testomgevingen • … en natuurlijk sneller time to market. 58
  59. 59. RESTERENDE UITDAGINGEN 59
  60. 60. Releases zijn nog veel werk Merge master Aftrappen regressietest Aftrappen performancetest Aftrappen datatest Release bouwen Proef- deployment Smoke test Deployment naar productie 60
  61. 61. Regressietest niet stabiel • Instabiliteit door: – GUI jitter – Tests die te veel op externe test-systemen leunen • Ervaring nodig om echte fouten te zien • Handmatige retry van tests bij onzekerheid • Tijdelijk opgelost met automatische retry • Permanente oplossing: – Tests verbeteren – Stubs van externe systemen 61
  62. 62. Test-keten 62 Intake Zakelijke markt FLOW Consumenten markt BI Logicx Finance Uitvoering Online Zusterclubs
  63. 63. Lessons learnt • Blijf in gesprek – Creëer gezamenlijk begrip – Neem zorgen serieus, maar laat je niet verlammen • Begin klein • Verbeter incrementeel • Actie is beter dan stilstand Neem verantwoordelijkheid voor je eigen proces 63
  64. 64. ?Bedankt Vragen? is powered by

Continuous Delivery wordt vaak geassocieerd met een snellere time-to-market, maar wat als dat niet je voornaamste probleem is? Een aantal jaar geleden heeft de ANWB besloten om zich van een traditionele enterprise organisatie te transformeren naar een Agile organisatie. Bij de afdeling Hulpverlening zijn wij met drie teams bezig met het ontwikkelen van het nieuwe case managementsysteem voor de ANWB Alarmcentrale. Als onderdeel van onze agile werkwijze maakten wij een release en rolden wij deze uit aan het eind van onze 2 wekelijkse sprints. Dit leverde ons regelmatig verschillende problemen op en halverwege 2016 besloten we dat het anders moest. We hebben toen een beweging ingezet richting Continuous Delivery. In deze presentatie zullen we ingaan op de uitdagingen die we hadden, hoe we die hebben aangepakt, en op een aantal onverwachte voordelen.

Views

Total views

313

On Slideshare

0

From embeds

0

Number of embeds

0

Actions

Downloads

4

Shares

0

Comments

0

Likes

0

×