40

Click here to load reader

ASAS 2014 - Viktor Grgic

Embed Size (px)

DESCRIPTION

How to design and deliver large 24/7 systems in an agile manner

Citation preview

Page 1: ASAS 2014 - Viktor Grgic

CoachingSOA / IntegrationSolution Quality Enterprise

JavaAgile / Scrum

Viktor Grgić @vgrgic, LeanArch.eu

Large 24/7 systems and Agile Soft. Dev.

Architecting Story 1 Story 2

Page 2: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

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

Page 3: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Some nice False Dichotomies (fallacy of the false alternative)

“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 4: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

The biggest problem in software architecture is that we think we know what we are doing.

Page 5: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Page 6: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Page 7: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Page 8: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Great Mosque of Djenné, Mali ruins 1828

Page 9: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Great Mosque of Djenné rebuilt 1895

Page 10: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Great Mosque of Djenné 1910

Page 11: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Page 12: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Page 13: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Page 14: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Page 15: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Page 16: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Page 17: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Everyone is

involved

Page 18: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Page 19: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

About 7 years ago...

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 20: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

New (as defined about 6 years ago)

Page 21: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Lots of documents

Migration Plan

ArchitectureVisionOperations

Vision

....QA

Vision

Blueprint

ReferencedataVision

Page 22: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

We just need...

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

Page 23: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

1 Use Case in 6 months

Page 24: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

(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

Page 25: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Page 26: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Optimize the whole

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 27: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Product Vision Box

Page 28: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Architecting

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 29: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Business processes?

Page 30: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

What was my role?

����� �

������� �

����� �

�������

Page 31: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Welcome to double legacy!

Page 32: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

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!

Page 33: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Any decision that can be postponed is postponed

...also the migration path

…but, this is not easy

Page 34: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Migration = Strangulation

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 35: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

We banned term: Generic or Reusable on every level

Page 36: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

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.

Page 37: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

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

Page 38: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

Each team is a cross-functional team and has intensive contact with end-users

Page 39: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

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.

Page 40: ASAS 2014 - Viktor Grgic

Viktor Grgić @vgrgic, LeanArch.eu

“Everybody, all together, early on” James O. Coplien