ING : How top quality software and state-of-the-art technology leads to continuous delivery
Naam Jos Klompe , Roy BosPlaats, Datum Nijkerk, 6 november 2013
Scrum Readiness Check 2
De inhoud van deze presentatie …
1
2
3
5
Fase 1
Huidige situatie
Craftmanship
Achtergrond ING Beleggen
6 Einde
Scrum Readiness Check 3
Achtergrond ING BELEGGEN
Situatie tot 2009:
• 120 IT applicaties voornamelijk Mainframe
Situatie 2009:• Pakket gekozen om 120 IT applicaties te vervangen
Situatie 2009 – 2011:• Migratie van oud systemen naar nieuw Pakket
Situatie 2011:• Doorontwikkeling Pakketsituatie ism Leverancier
Situatie 2012:• Besluit vervangen Front end applicaties
Scrum Readiness Check 4
Achtergrond ING BELEGGEN
VERVANGEN BESTAANDE FRONT END APPLICATIEAGILE/SCRUM
In house ontwikkeling om als ING onafhankelijker te worden (van waterval naar scrum)
Subdoelen
3
Kortere time to market4
Vervangen Flash applicatie zodat beleggen ook beschikbaar komt op IPAD2
Alignment binnen ING1
Scrum Readiness Check 5
Overzicht Beleggen
5
Scrum Readiness Check 6
De inhoud van deze presentatie…
1
2
3
Fase 1
Huidige situatie
Achtergrond ING Beleggen
5 Craftmanship
6 Einde
Scrum Readiness Check 7
FASE 1 Traject vervangen Front end Applicatie
Van waterval naar Lean / Agile aanpak
• Samenwerking Developers met Architectuur om basis vast te stellen
• Neerzetten ontwikkelomgeving (van standaard desktop naar….)
• Scrumcoaching ingericht• Application team Agility versus hardware agility
Scrum Readiness Check 8
ING Beleggen (Front end)
Scrum Readiness Check 9
Frameworks
Scrum Readiness Check 10
Ontwikkel- en testtooling
Scrum Readiness Check 11
Codekwaliteit
Verbonden met:teamprocesinhoudomgeving
Codekwaliteit is onlosmakelijk deel van het hele ontwikkelproces
Géén:• aparte rol• aparte fase• aparte techniek
Scrum Readiness Check 12
Bouw het proces en de ontwikkelomgeving geleidelijk uit/mee
Geen ramp-up / opstart tijd (zeer kort)Geen uitgebreide (test) setup vooraf -> Wel aandacht voor de (test) setup vanaf dag één.Geen voor opgelegde technische keuzes.
Scrum Readiness Check 13
Ontwikkel/test feedback loop
Zo kort mogelijkOntwikkelaar moet alle functionele testen kunnen draaienLiefst live code wijzigen op de ontwikkelomgeving
Scrum Readiness Check 14
Tooling
Best of breed: Fitnesse / Selenium, Maven, GitTooling is context en team afhankelijkGéén compromissen (b.v. nexus vs. eigen download)Gebruik zoveel mogelijk bewezen alternatieven (open source)Maak deze makkelijk toegankelijk (nexus)Vertrouw het teamZelfs voor de hand liggende oplossingen.Zo min mogelijk zelf schrijven (lombok)
Scrum Readiness Check 15
Empower the team
Scrum Readiness Check 16
Kennisdeling
Pair programmingDesign discussiesBeschrijvende testen (unit + functioneel)Beschrijvende domein gerichte code.
Scrum Readiness Check 17
Continuous improvements
Het is belangrijk om continue je software te verbeteren, het is nooit af.Wat een jaar geleden de beste oplossing was, is dat nu misschien niet meer.Men loopt ver achter met software waardoor problemen opgelost moeten worden die
andere mensen al opgelost hebben.
Scrum Readiness Check 18
Automatiseer
De build (altijd en alles)Testen (zoveel mogelijk)Ontwikkeltaken (waar mogelijk)Kwaliteitscontrole blijft mensenwerk (tools helpen om aandacht juist te richten)
Scrum Readiness Check 1919
Experiences with Scrum
Scrum Readiness Check 2020
Experiences with Scrum
Scrum Readiness Check 2121
Experiences with Scrum
Scrum Readiness Check 2222
Experiences with Scrum
‘Coming together is a beginning, keeping together is progress, working together is success.’ (Henry Ford)
Scrum Readiness Check 23
De inhoud van deze presentatie…
1
2
3
Fase 1
Huidige situatie
Achtergrond Readiness Check Scrum
5 Craftmanship
6 Einde
Scrum Readiness Check 24
Connected Enterprise (Verbonden onderneming)
Integrated Enterprise (Geïntegreerde onderneming)
Real-Time Enterprise(Real-time onderneming)
Predictive Enterprise (Voorspellende onderneming)
ING bevindt zichop dit moment hier
IT strategie: groeien naar Predictive bank
Scrum Readiness Check 25
Een veranderende werkwijze
Scrum Readiness Check 26
STAND VAN ZAKEN November 2013
• 3 DEV/OPS teams• Commerciele Live gang is geweest• Iedere twee weken naar produktie• Iedere twee weken demo aan stakeholders en teams
door Product Owner• Continous improvement op gebruik frameworks• Continuos delivery met automatic testing en automatic
deployment• Introductie Open Source perfomance testtool• Naast vervangen oude front end applicatie nu ook bouw
van nieuwe features• Zeer weinig incidenten op produktiesituatie• Sonar dashboard met tools om de Technical Debt te
meten. Feedback op de code• Inrichting Monitoring tooling
Scrum Readiness Check 27
Detail plaat
Customer Browser ING Employee Browser
Javascript DS Application
EuroPort Services (EPoS)
EuroPort+ Internet Broker (EIB)
Content Delivery Service (CDS4R)
Market Data Feed(Markit)
EuroPort+ DB
Securities DS WebApp
Charts(Markit)
Content Mngmnt Service (CMS)
SSO Auth. Proxy
datagrid
Datagrid Loaderdatagrid
Securities AS WebApp
datagrid
Javascript AS Application
BM Collector
Counter DB
GetOrderLimitations
Authentication Filter
Corp. Dir.
UpdateRealTimeCounter
GetInstrumentList
Scrum Readiness Check 28
Jenkins
Scrum Readiness Check 29
BUILD WALL
Scrum Readiness Check 30
PERFORMANCE TESTTOOL nGrinder
Scrum Readiness Check 31
Overview Sonar
Scrum Readiness Check 32
Automatic GUI testing
Scrum Readiness Check 33
Tools die de verschillende activiteiten ondersteunen
ALM SCM BuildContin.Integr.
Analyze Reposit. Test Deploy Monitor
ITCAM
Graphite
Scrum Readiness Check 34
De inhoud van deze presentatie…
1
2
3
Fase 1
Huidige situatie
Achtergrond ING Beleggen
5 Craftmanship
6 Einde
Scrum Readiness Check 35
Craftmanship to get things done in a big enterprise !
• PAIREN
• KWALITEIT (Clean Code)
• CONTINUOUS IMPROVEMENT
• HIGHLY SKILLED
• AGILE/SCRUM is way of working/living
• IMPEDIMENT MASTER
• LEF/ONDERNEMEN
• AUTOMATE EVERYTHING
Scrum Readiness Check 36
De inhoud van deze presentatie …
1
2
3
5
Fase 1
Huidige situatie
Craftmanship
Achtergrond ING Beleggen
6 Einde