Stap uit de architectuur moeras!
Mijn verhaal
Solution
Lean / Agile architectuur SOA / Integration
Coaching
HaMIS
Quality
Enterprise Java
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
1
Ik wilde geloven dat...
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
2
Te veel fake architectuur & design voorspelbare toekomstvaste architectuur blijkt utopie
vele projecten zonder directe business value
Slechte ervaringen uit verleden
Teams worden langzamer
introduceer architectuurprocessen en tools
Anticipeer om problemen in toekomst te voorkomen
Systemen worden complexer krankzinnige oplossingen
Bouw meer dan nodig
generieke & out-of-box architecturen
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
3
Waarom Lean / Agile Architectuur? Weinig samenwerking met engineers Weinig aandacht voor stakeholders en hun belangen Politieagent opstelling Veel focus op modellen, methodieken en tools Veel focus op lange termijn en met name hypothetische situaties Weinig koppeling met voortdurende verandering
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
4
Gedrag
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
5
Architect lijkt wel een Superman!
Client
Software???? Hardware???
Operations Management External parties Vendors Engineers
DYA RUP
Functional domain knowledge
TOGAF 6
Zachman
SOA
Cloud
EAI DDD
DCI OO
Technical domain knowledge
CBD MDA
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
6
Stakeholders IEEE 1471-2000 Recommended Practice for Architectural Description of Software-Intensive systems
Missie vervult
beinvloedt
Omgeving
heeft
Systeem
Architectuur
bevindt zich in heeft 1 of meer
is beschreven door
Belanghebbende
Architectuur beschrijving
is toegekend aan
identificeert 1 of meer
Belang / zorg
Argumentatie
partcipeert in georganiseerd door
selecteert 1 of meer
heeft 1 of meer
geeft
Viewpoint
voldoet aan
View
dekt
komt uit
Verzameling oogpunten
bestaat uit 1 of meer
bestaat uit 1 of meer
is basis voor 1 of meer
Model
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
7
Waar is het fout gegaan?
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
8
Is bezig zijn met architectuur wel belangrijk!
Maar wat is een kundige manier?
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
9
Waar heb ik het over? Alle stakeholders tevreden “Maximale” kwaliteit Architectuur die steeds beter wordt met meer code en functies Projectmanager en architect kunnen met elkaar opschieten :-) Documentatie die echt nuttig is Projectleden heel veel lol hebben
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
10
“Everybody, all together, early on” James O. Coplien
11 woensdag 22 juni 2011
11
Optimize the whole Hyperproductive Agile team Hyperproductive team Department 1 Agile Department 2 Hyperproductive Agile team
Requirements gathering
Department 3
Architecture
Marketing Department 4
...has a challenge
User / Business
Planning
Lead time
Department 5
Agile team
Analysis Department 6 Department 8
Delivering
Department 7
Development
Testing
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
12
De Dienende Architect De Klassieke Architect
De Dienende Architect
Aandacht voor architectuur zelf
Aandacht voor belanghebbenden
Architectuur is een product geleverd door een of meer architecten
Architectuur is de resultaat na samenwerking met bouwers
Architectuurraamwerk en modelleertechniek staan centraal in communicatie
“Common sense” en eenvoud zijn het belangrijkst in communicatie
Architecten zijn bewakers en zorgen ervoor dat iedereen de uitgestippelde lijn volgt
Architectuur bewaking komt voort uit een gevoel van verantwoordelijkheid van zowel bouwers als architecten
Bepaalt alle kaders waarbinnen ontwikkelaars zich mogen begeven.
Definieert en draagt één visie uit
Bedenkt en bewaakt de architectuur
Initieert, faciliteert en coordineert het architectuurproces
bron: De Dienende Architect artikel (Viktor Grgic) http://www.via-nova-architectura.org/artikelen/tijdschrift/de-dienende-architect.html
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
13
Essentie Architectuur is te belangrijk om die aan architecten over te laten Dienstverlenende opstelling van architect(en) “Emerging Architecture” Complexiteit van de oplossing = belangrijke faalfactor Veranderende samenhang i.p.v. BDUF Architectuur is de software; niet het document Quality requirements; meten is weten Modellen & tools zijn goed, maar gezond verstand is leidend Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
14
Opstelling van een architect
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
15
Delivering business value & reducing waste
Doing less
by
Better alignment
Delaying decisions
by
Less rework during development
Feedback loop
Removing products farthest from customer
by
but
Internal communic ation
means
Not later than responsible
results in
Rework in creates design
by
Based on James Coplien - Lean Architecture
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
16
Architectuurvisie
Fase 1
Identify aspects affecting architecture
Define architectural principles
Stakeholders analysis en interviews
Presentation: Interviews feedback
Fase 2
Achitecture Vision
Quality Requirements Engineering
Analyse current situation
Define Migration / Roadmap
New insights
Focus on form and needs instead of structure Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
17
Wat zit in de flow?
Did we improve a quality?
Problem Definition
Technical Vision
Distillation of standards and guidelines
Reqs, concerns & business goals Roadmap
Product backlog and delivery Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
18
Een systeem groeit
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
19
Een enterprise landschap groeit
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
20
Oplossing voor te weinig design Teams worden in staat gesteld om snel code te schrijven te refactoren zonder dat het systeem breekt altijd op de hoogte of refactoring iets gebroken heeft Geautomatiseerde regressietest Just-in-time design patterns & out-of-box producten
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
21
Design for change Schrijf altijd hoge kwaliteit code Doe veel aan kennisuitwisseling zodat code makkelijk aanpasbaar is. Refactor op tijd Kies de meest eenvoudige oplossing
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
22
Architectuur & SCRUM
Problem definition Technical Vision
}
Documen teren
Feedback
Herzien
Communi catie
Done
Lessons learned
Convergeren
Questions
Brainstorm
Impediments
Todo
1. Iteration Zero 2. Tech Story 3. Spike 4. Assembly Line (experiments)
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
23
Havenbedrijf - HaMIS
Hoe bereik je meer met minder!
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
24
HaMIS,
Havenbedrijf, Havenmeester Management Information System.
24/7 applicatie voor verkeersmanagement, transport, milieuveiligheid en crisisbeheersing.
Goals: 1.Vervang verouderd systeem 2. Rotterdam’s haven groeit (Maasvlakte 2) Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
25
Bestaand systeem / landschap Journaal B&S
Journaal PVT
Journaal VPO
Port Security Bedr. DB
Journaal TMV
Dossier
Mini BOS
Journaal VTS
IVS
(08)
KRVE systeem
VOS
VKL
(09)
SPIL
VKB
(10)
DataDirk
GSA
(11)
ZORRO
Infoschermen HCC
(38) (12)
GSE
(13)
REF
(01)
SRV
(14)
DHK
(15)
DWH
naam naam naam
te vervangen applicatie niet te vervangen applicatie uitgefaseerde applicatie externe applicatie interface via DOD-Port directe interface uitgefaseerde interface
RostarFlex
(30) (31)
PCS QORRIDOR
(19)
SSN
(03)
(04)
MARS
NOD
(21)
(26)
Bunkeren
(05)
Passage
(06)
Morsingen
(07)
(32)
SAP
(33)
Legenda
naam
(29)
RIV
(02)
(20)
NNI
(28)
(17) (18)
TARGET
(27)
(16)
TAM Expert
SISTER (37)
HM
ZOS
RCS
(34) (35)
(22)
WM
(23)
REF
(24) (25)
(36)
Identity Vault KLPD systeem RWS schepentabel
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
26
Waar komen we vandaan?
100+ geidentificeerde use cases
Project Start Architecture
Veeleisend Q&A afdeling
Architectuur met 4 lagen & 6 sub-systemen BPEL process server
RUP & Scrum but
6 architecten
800+ architectuurbesluiten Viktor Grgić, LeanArch.eu
woensdag 22 juni 2011
27
Waar komen we vandaan? 1 use case in 6 maanden !!!!
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
28
A Solution, Agile Manifesto Individuals and interactions!
over!
Process and tools!
Working software!
over!
Comprehensive documentation!
Customer collaboration!
over!
Contract negotiation!
Responding to change!
over!
Following a plan!
Source: www.agilemanifesto.org!
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
29
Eenvoud
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
30
Samen
Diner na iedere sprint
Waar ben ik trots op? Workshops in hotel
Een week wintersporten in Frankrijk
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
31
Creativiteit
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
32
Toewijding
Teams zijn trots op de behaalde resultaten
Vertrouwen & verantwoordelijkheid Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
33
Uitdaging: Gedrag & Titels I am an - architect - manager - designer - analist - scrum master ...
Bureaucratie is de compensatie van incompetentie en gebrek aan discipline
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
34
Uitdaging: Technische achterstand (Meer) druk van boven
Team velocity loopt terug
Achterstand loopt op
Snij de bochten af
Betaal technische achterstand niet terug
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
35
Technische achterstand kost geld
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
36
Architectuur is heel belangrijk Just-in-time just-enough
Open space sessies
Kennis uitwisseling Documentation is Wiki filled by “harvesting” the knowledge
Standaarden zijn ontdekt en niet voorgedefinieerd
Architectuur principes: Eenvoud & Design for Change woensdag 22 juni 2011
Voortdurende refactoring naar een beter design Viktor Grgić, LeanArch.eu 37
Kwaliteit We leveren maximale kwaliteit! Goed is dus niet goed genoeg!
Zero defects beheer
Voelt de code goed aan? Just-in-time out-of-box technologieen en producten
Refactoring z.s.m. doen Geen just-incase generieke oplossingen
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
38
Architectuur besluiten
Alle significante architectuur besluiten worden samen genomen!
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
39
Hoe bereiken we meer met minder? Less...
More...
Whish lists
Concrete doelen
Architecten in traditionele zin
Visie
Pakketten of tools die geen directe waarde hebben voor gebruikers
Architectuurverantwoordelijkheid bij teams
Architectuurconcepten en lagen die geen direct probleem oplossen Generieke en just-in-case oplossingen Voorbereidende documenten Geen uitgebreide use case beschrijvingen
1-uur architectuurbesluiten in gefaciliteerde workshops Voortdurende refactoring naar verbeterde architectuur Wiki documentatie altijd up-to-date en just-enough; iedereen is auteur van alles Oplossingen voor de Havenmeester en geen “toekomstevaste” en “flexibele” uitspraken.
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
40
Resultaten Iedere 3 weken met HaMIS in productie of potentially shippable Gebruikers
Product owners
“Inspecties” proces opgeleverd binnen budget & tijd
Getronics (infra)
Gebruikers tevreden Teams
Hoge kwaliteit (4.3 van 5) volgens SIG
Business, stakeholders tevreden
Edwin de Werk & Viktor Grgić woensdag 22 juni 2011
41
“Everybody, all together, early on” James O. Coplien
42 woensdag 22 juni 2011
42
Meer lezen:
http://www.leanarch.eu/publicaties
Via Nova Architectura: De Dienende Architect Agile Holland: Lichte Architectuur door onderscheid tussen vorm en structuur XR magazine: NoESB, een alternatief voor een ESB Complexiteit aanpakken met Domain-Driven Design Architectuur in een SCRUM project - De kunst van het loslaten Eenvoud in Architectuur - Deel 1: Inleiding Architectuurrollen vervangen door domein-experts Architectuur op een Agile manier
James O. Coplien
Webwereld: Verkiezing IT Architect van het jaar 2009 Eenvoud helpt Handelsregister uit complexiteit Computable SOA expert panel: Top 10 SOA valkuilen Een Enterprise Service Bus is nog geen SOA Ervaring kan overheidsproject niet redden EDA wordt de nieuwe hype Complexiteit SOA is onderschat De ROI van SOA is niet aan te tonen 10 tips voor een succesvolle SOA-implementatie
Viktor Grgić, LeanArch.eu woensdag 22 juni 2011
43