large 24 7 systems and agile soft dev - shanghai aha conference
TRANSCRIPT
Large 24 / 7 systems and Agile Soft. Dev.
Old story, new story, tips
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Gartner says…
• Bimodal IT is the future- 2 distinct IT methodologies in the same
company- “Agile IT” teams for fast-changing stuff- “Traditional IT” for doing things right the first
time.
2
Euhmm……No!
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
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 large project is none of these, then
you’re maybe creating a christmas tree.Looks nice, but it is dead very soon.
• …or your project is small and delivers value
3
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Some nice False Dichotomies(fallacy of the false alternative)
4
“You can’t simply start coding, therefore you always have some up-front design.”
“Developers don’t care and are incapable of caring about architecture, because they need to focus on coding”
“Agile / Scrum, that is something for frontend apps, not for 24/7 business critical systems”
We need to be more Agile
We need more architecture
“Some things cannot and should not change”
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
The biggest problem in software architecture is that we think we know
what we are doing.
5
Large software
6
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Large software projects today
7
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Large software projects today
8
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 9
Great Mosque of Djenné, Mali ruins 1828
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 10
Great Mosque of Djenné rebuilt 1895
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 11
Great Mosque of Djenné 1910
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 12
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 13
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 14
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 15
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 16
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 17
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 18
Everyone is
involved
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 19
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
About 7 years ago...
20
Port of Rotterdam, Project HaMIS 1. Replace outdated traffic management system
2. Support the port of Rotterdam expansion
24/7 system for traffic management, transport, environmental safety and crisis management.
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
New (as defined about 6 years ago)
21
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Lots of documents
22
Migration Plan
ArchitectureVision
OperationsVision
....
QAVision
Blueprint
Referencedata
Vision
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 23
100+ identified use cases
Project Start Architecture Q&A
department
Architecture with 4 layers & 6 subsystems
6 architects
800+ architectural
decisions
RUP and Scrum but
BPEL process server
We just need...
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 24
1 Use Case in 6 months
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
(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
25
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 26
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Optimize the whole
27
Marketing
User / Business
Requirements gathering
Architecture
Planning
Analysis
Development
TestingDelivering
...has a challenge
Leadtime
Department 1 Department 2 Department 3
Department 4
Department 5
Department 6
Department 7Department 8
Agile team
Agile teamAgile team
Agile team
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Product Vision Box
28
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Self-designed teams
29
See LeSS.works if you want to know more
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Architecting
30
Open space sessions
Knowledge sharing
Documentation is Wiki filled by “harvesting” the
knowledge
Standardization is discovered and not
predefined
Just-in-timejust-enough
Continuous refactoring towards
better designArchitecture principles:
Simplicity and design for change
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Business processes?
31
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Technical debt
32
So, did we paid this debt back ???
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Continuous Architecting
33
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Things that matter
34
Multilayered Domain-Driven DesignSOA
SOAP
Frameworks
Micro-services
Simplicity
Business-driven
everything
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
What was my role?
35
����� �
������� �
����� �
�������
Management: ”…but who is accountable?”
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Welcome to double legacy
36
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
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!
37
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 38
Any decision that can be postponed is postponed
...also the migration path
…but, this is not easy
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Migration = Strangulation
39
HaMIS (new)IVS (old)
User
Businessevent 1
Businessevent 1
Businessevent 2
Businessevent 2
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
24/7 system Every 2 weeks in production
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
We banned terms:Generic or Reusable
on every level
40
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
We banned premature generalisation
41
Why Windows 10 instead 9 ???
“Microsoft dev here, the internal rumours are that early testing revealed just how many third party products that had code of the form
if(version.StartsWith("Windows 9")) { /* 95 and 98 */ } else {
and that this was the pragmatic solution to avoid that.”
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
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.
42
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
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
43
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
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• Don’t get stuck in complexities of architectural
B.S.
44
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
6 years later
45
Then
6 months delivery time for large features
“Documents”-based collaboration business / IT
Dedicated operations team - 6 people + on average 5 developers fixing issues full time
Many architects, analysts, QA, “coordinators”
Very displeased business
Now
More than 100 sprints every 2 weeks new features / intensive collaboration
No dedicated operations team
Production issues involving code change solved in 1 hour!
One of 4 development teams responsible for operations, 30% of time actually spend on operations.
Architects, analysts, QA, OPs,… part of cross-functional teams
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 46
“Everybody, all together, early on” James O. Coplien
Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Want to know more?:less.works
Blog: leanarch.eu
Tomorrow:Collaborative Visualisation
workshop47