large 24 7 systems and agile soft dev - shanghai aha conference

47
Large 24 / 7 systems and Agile Soft. Dev. Old story, new story, tips

Upload: ahaconference

Post on 17-Jul-2015

65 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Large 24 7 systems and agile soft dev - shanghai aha conference

Large 24 / 7 systems and Agile Soft. Dev.

Old story, new story, tips

Page 2: Large 24 7 systems and agile soft dev - shanghai aha conference

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!

Page 3: Large 24 7 systems and agile soft dev - shanghai aha conference

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

Page 4: Large 24 7 systems and agile soft dev - shanghai aha conference

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”

Page 5: Large 24 7 systems and agile soft dev - shanghai aha conference

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

Page 6: Large 24 7 systems and agile soft dev - shanghai aha conference

Large software

6

Page 7: Large 24 7 systems and agile soft dev - shanghai aha conference

Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works

Large software projects today

7

Page 8: Large 24 7 systems and agile soft dev - shanghai aha conference

Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works

Large software projects today

8

Page 9: Large 24 7 systems and agile soft dev - shanghai aha conference

Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 9

Great Mosque of Djenné, Mali ruins 1828

Page 10: Large 24 7 systems and agile soft dev - shanghai aha conference

Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 10

Great Mosque of Djenné rebuilt 1895

Page 11: Large 24 7 systems and agile soft dev - shanghai aha conference

Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 11

Great Mosque of Djenné 1910

Page 12: Large 24 7 systems and agile soft dev - shanghai aha conference

Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 12

Page 13: Large 24 7 systems and agile soft dev - shanghai aha conference

Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 13

Page 14: Large 24 7 systems and agile soft dev - shanghai aha conference

Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 14

Page 15: Large 24 7 systems and agile soft dev - shanghai aha conference

Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 15

Page 16: Large 24 7 systems and agile soft dev - shanghai aha conference

Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 16

Page 17: Large 24 7 systems and agile soft dev - shanghai aha conference

Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 17

Page 18: Large 24 7 systems and agile soft dev - shanghai aha conference

Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 18

Everyone is

involved

Page 19: Large 24 7 systems and agile soft dev - shanghai aha conference

Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 19

Page 20: Large 24 7 systems and agile soft dev - shanghai aha conference

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.

Page 21: Large 24 7 systems and agile soft dev - shanghai aha conference

Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works

New (as defined about 6 years ago)

21

Page 22: Large 24 7 systems and agile soft dev - shanghai aha conference

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

Page 23: Large 24 7 systems and agile soft dev - shanghai aha conference

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...

Page 24: Large 24 7 systems and agile soft dev - shanghai aha conference

Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 24

1 Use Case in 6 months

Page 25: Large 24 7 systems and agile soft dev - shanghai aha conference

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

Page 26: Large 24 7 systems and agile soft dev - shanghai aha conference

Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works 26

Page 27: Large 24 7 systems and agile soft dev - shanghai aha conference

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

Page 28: Large 24 7 systems and agile soft dev - shanghai aha conference

Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works

Product Vision Box

28

Page 29: Large 24 7 systems and agile soft dev - shanghai aha conference

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

Page 30: Large 24 7 systems and agile soft dev - shanghai aha conference

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

Page 31: Large 24 7 systems and agile soft dev - shanghai aha conference

Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works

Business processes?

31

Page 32: Large 24 7 systems and agile soft dev - shanghai aha conference

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 ???

Page 33: Large 24 7 systems and agile soft dev - shanghai aha conference

Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works

Continuous Architecting

33

Page 34: Large 24 7 systems and agile soft dev - shanghai aha conference

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

Page 35: Large 24 7 systems and agile soft dev - shanghai aha conference

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?”

Page 36: Large 24 7 systems and agile soft dev - shanghai aha conference

Viktor Grgic @vgrgic Odd-e Hong Kong Blog: leanarch.eu odd-e.com http://less.works

Welcome to double legacy

36

Page 37: Large 24 7 systems and agile soft dev - shanghai aha conference

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

Page 38: Large 24 7 systems and agile soft dev - shanghai aha conference

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

Page 39: Large 24 7 systems and agile soft dev - shanghai aha conference

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

Page 40: Large 24 7 systems and agile soft dev - shanghai aha conference

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

Page 41: Large 24 7 systems and agile soft dev - shanghai aha conference

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.”

Page 42: Large 24 7 systems and agile soft dev - shanghai aha conference

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

Page 43: Large 24 7 systems and agile soft dev - shanghai aha conference

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

Page 44: Large 24 7 systems and agile soft dev - shanghai aha conference

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

Page 45: Large 24 7 systems and agile soft dev - shanghai aha conference

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

Page 46: Large 24 7 systems and agile soft dev - shanghai aha conference

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

Page 47: Large 24 7 systems and agile soft dev - shanghai aha conference

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