Reactive programming met Java 8 en Java EE 7 - Martijn Blankestijn
ING : How top quality software and state-of-the-art technology leads to continuous delivery
1. ING : How top quality software and state-of-the-art
technology leads to continuous delivery
Naam
Plaats, Datum
Jos Klompe , Roy Bos
Nijkerk, 6 november 2013
2. De inhoud van deze presentatie …
1
Achtergrond ING Beleggen
2
Fase 1
3
Huidige situatie
5
Craftmanship
6
Einde
Scrum Readiness Check
2
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
3
4. Achtergrond ING BELEGGEN
AGILE/SCRUM
VERVANGEN BESTAANDE FRONT END APPLICATIE
Subdoelen
1
Alignment binnen ING
2
Vervangen Flash applicatie zodat beleggen ook beschikbaar komt op IPAD
3
In house ontwikkeling om als ING onafhankelijker te worden (van waterval naar scrum)
4
Kortere time to market
Scrum Readiness Check
4
6. De inhoud van deze presentatie…
1
Achtergrond ING Beleggen
2
Fase 1
3
Huidige situatie
5
Craftmanship
6
Einde
Scrum Readiness Check
6
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
7
11. Codekwaliteit
Codekwaliteit is onlosmakelijk deel van het hele ontwikkelproces
Géén:
• aparte rol
• aparte fase
• aparte techniek
Scrum Readiness Check
Verbonden met:
team
proces
inhoud
omgeving
11
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
12
13. Ontwikkel/test feedback loop
Zo kort mogelijk
Ontwikkelaar moet alle functionele testen kunnen draaien
Liefst live code wijzigen op de ontwikkelomgeving
Scrum Readiness Check
13
14. Tooling
Best of breed: Fitnesse / Selenium, Maven, Git
Tooling is context en team afhankelijk
Géén compromissen (b.v. nexus vs. eigen download)
Gebruik zoveel mogelijk bewezen alternatieven (open source)
Maak deze makkelijk toegankelijk (nexus)
Vertrouw het team
Zelfs voor de hand liggende oplossingen.
Zo min mogelijk zelf schrijven (lombok)
Scrum Readiness Check
14
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
17
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
18
22. Experiences with Scrum
‘Coming together is a beginning, keeping together is progress, working together is success.’
(Henry Ford)
Scrum Readiness Check
2
22
23. De inhoud van deze presentatie…
1
Achtergrond Readiness Check Scrum
2
Fase 1
3
Huidige situatie
5
Craftmanship
6
Einde
Scrum Readiness Check
23
24. IT strategie: groeien naar Predictive bank
ING bevindt zich
op dit moment hier
Real-Time
Enterprise
(Real-time
onderneming)
Predictive
Enterprise
(Voorspellende
onderneming)
Integrated
Enterprise
(Geïntegreerde
onderneming)
Connected
Enterprise
(Verbonden
onderneming)
Scrum Readiness Check
24
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
26
27. Detail plaat
Customer Browser
Market Data Feed
(Markit)
SSO Auth. Proxy
Securities DS
WebApp
datagrid
Datagrid Loader
datagrid
ING Employee Browser
Charts
(Markit)
Javascript DS
Application
GetInstrumentList
EuroPort Services
(EPoS)
Javascript AS
Application
Authentication
Filter
BM Collector
Content Delivery
Service (CDS4R)
GetOrder
Limitations
UpdateRealTime
Counter
EuroPort+ Internet
Broker (EIB)
EuroPort+ DB
Scrum Readiness Check
Securities AS
WebApp
datagrid
Content Mngmnt
Service (CMS)
Corp.
Dir.
Counter DB
27
33. Tools die de verschillende activiteiten ondersteunen
ALM
SCM
Build
Contin.
Integr.
Analyze
Reposit.
Test
Deploy
Monitor
ITCAM
Graphite
Scrum Readiness Check
33
34. De inhoud van deze presentatie…
1
Achtergrond ING Beleggen
2
Fase 1
3
Huidige situatie
5
Craftmanship
6
Einde
Scrum Readiness Check
34
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
35
36. De inhoud van deze presentatie …
1
Achtergrond ING Beleggen
2
Fase 1
3
Huidige situatie
5
Craftmanship
6
Einde
Scrum Readiness Check
36