Large 24 7 systems and agile soft dev - shanghai aha conference
1. Large 24 / 7 systems and
Agile Soft. Dev.
Old story, new story, tips
2. 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!
3. 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
4. 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”
5. 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
7. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Large software projects today
7
8. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Large software projects today
8
9. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
9
Great Mosque of Djenné, Mali ruins
1828
10. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
10
Great Mosque of Djenné rebuilt
1895
11. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
11
Great Mosque of Djenné
1910
12. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
12
13. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
13
14. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
14
15. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
15
16. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
16
17. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
17
18. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
18
Everyone
is
involved
19. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
19
20. 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.
21. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
New (as defined about 6 years ago)
21
22. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Lots of documents
22
Migration
Plan
Architecture
Vision
Operations
Vision
....
QA
Vision
Blueprint
Reference
data
Vision
23. 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...
24. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
24
1 Use Case in 6
months
25. 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
26. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
26
27. 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
Architectu
re
Planning
Analysis
Development
TestingDelivering
...has a
challenge
Lead
time
Department 1 Department 2 Department 3
Department 4
Department 5
Department 6
Department 7
Department 8
Agile team
Agile team
Agile team
Agile team
28. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Product Vision Box
28
29. 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
30. 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-time
just-enough
Continuous
refactoring towards
better design
Architecture principles:
Simplicity and design for change
31. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Business processes?
31
32. 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 ???
33. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Continuous Architecting
33
34. 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
35. 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?”
36. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Welcome to double legacy
36
37. 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
38. 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
39. Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works
Migration = Strangulation
39
HaMIS (new)IVS (old)
User
Business
event 1
Business
event 1
Business
event 2
Business
event 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
40. 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
41. 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.”
42. 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
43. 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
44. 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
45. 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
46. 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
47. 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
workshop
47