Legacy is sexy and this room is hot Story Drivers Tips Enterprise SOA / Quality Agile / Scrum Solution Coaching Java Integration Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 1
Why this talk? Remove from tech dictionary words: generic reusable flexible Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 2
Large software projects today ...are replacing something old for new . Many of them have single goal: Replace outdated technology with new one. Many of them are huge investments with long term promises of so called flexibility in future . ...and if your project is not one of these, then you’re maybe creating a christmas tree . Looks nice, but it is dead very soon. Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 3
Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 4
Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 5
Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 6
Great Mosque of Djenné, Mali ruins 1828 Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 7
Great Mosque of Djenné rebuilt 1895 Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 8
Great Mosque of Djenné 1910 Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 9
Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 10
Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 11
Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 12
Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 13
Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 14
Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 15
Everyone is involved Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 16
Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 17
About 6 years ago... 24/7 system for traffic management, transport, environmental safety and crisis management. Port of Rotterdam, Project HaMIS 1. Replace outdated traffic management system 2. Support the port of Rotterdam expansion Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 18
Old KRVE IVS Journaal Journaal Journaal Journaal (08) B&S PVT VPO VTS systeem Port Security Journaal (09) VKL SPIL VOS TMV Bedr. DB Infoschermen (10) VKB DataDirk Dossier Mini BOS HCC (11) GSA ZORRO (38) (12) GSE RCS (13) SISTER (27) REF (37) RIV (28) HM (14) DHK (29) RostarFlex (30) SRV (15) DWH (01) (31) ZOS (16) PCS TAM (17) (18) QORRIDOR (02) Expert (19) SSN (03) TARGET SAP (32) (20) MARS (04) NNI (33) Legenda te vervangen naam applicatie niet te vervangen Identity naam (34) NOD Bunkeren applicatie (21) (26) Vault uitgefaseerde naam (05) (35) applicatie externe KLPD naam (22) (36) Passage WM applicatie (06) systeem interface via (23) DOD-Port (24) RWS directe interface Morsingen REF uitgefaseerde (07) (25) schepentabel interface Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 19
New (as defined about 5 years ago) Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 20
Lots of documents Architecture Operations Vision Blueprint Vision QA Reference Migration .... Vision data Plan Vision Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 21
We just need... Project Start Q&A Architecture 100+ department identified use cases Architecture with 4 layers & 6 subsystems BPEL process server 6 architects 800+ architectural RUP and Scrum but decisions Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 22
1 Use Case in 6 months Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 23
(Re)Started Ship inspections process Little risk Significant business value Migration stuff completely postponed Agile / Scrum introduction One sprint later, useful functions delivered in production Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 24
Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 25
Welcome to double legacy! Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 26
Any decision that can be postponed is postponed ...also the migration path Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 27
Which path to choose? Should we do all reporting first in the new system? Which part of the system should we replace first? How do we prevent a big bang? Where to start? We followed ships in harbour! Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 28
Migration without a plan User Messaging Messaging ???? ???? ???? ???? HaMIS (new) IVS (old) BVDM Messaging Messaging Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 29
Migration = Strangulation Every 2 weeks 24/7 system in production User Business Business event 2 event 1 Business event 1 Business event 2 HaMIS (new) IVS (old) data not yet managed in HaMIS "The most important reason to consider a strangler application over a cut-over rewrite is reduced risk.” - Martin Fowler, StranglerApplication Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 30
We banned term: Generic or Reusable on every level Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 31
Aren’ t you creating a mess? One team delivers the simplest possible solution Another team delivers another similar even simpler possible solution :-) ...and maybe third one. Then, we get together and talk about what you learned and which one is really the best in this context . Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 32
Example portmap portview Features VesselPosition Startmal ImageLayer MapStyle some fat library GIS server GIS server HaMIS backend Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 33
Delivering value with partial foundation or DVWPF :-) Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 34
Examples Data model with production data is gradually extended and continually refactored IBM Websphere replaced by JBoss User interface redesigned 2 or more times SOAP replaced by binary Hessian Core domain model concepts (gradually) redesigned: inspection checklist, vessel visit vs. vessel Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 35
Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 36
Each team is a cross- functional team and has intensive contact with end-users Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 37
Some challenges Teams want to understand business first, before accepting epics and stories. Continuous discussion about priorities Making business value SMART. Technical complexity is NOT a real challenge. Should we spend (or waste) money on synchronization vs. postpone going live. Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 38
65 sprints later; Almost all of them delivered business value (functions in production) Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 39
Software Quality Agile (Fowler) ?? Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 40
Lessons learned Never stop delivering business value. Deal with migration gradually / strangulation Everything in software can be soft even data / domain model! Trust in business / context driven approach above standard / generic solutions Involve everyone to solve complex problems Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 41
Software Agile quality Scrum Business events DevOps Liquid architecture User domain Context Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 42
Thank You ! You work in Hong Kong? Please contact me! @vgrgic Viktor Grgi ć @vgrgic, LeanArch.eu dinsdag 25 juni 13 43
Recommend
More recommend