Más contenido relacionado
La actualidad más candente (13)
Similar a Architektur agiles vorgehen seacon 2013 (20)
Architektur agiles vorgehen seacon 2013
- 1. © OPITZ CONSULTING GmbH 2013 Seite 1Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Dr. Ralf Sigmund, Solution Architect
OPITZ CONSULTING
Vom Zusammenhang zwischen
Architekturen und agilem Vorgehen
Hamburg, 17. Mai 2013
Don't supersize me!
- 2. © OPITZ CONSULTING GmbH 2013 Seite 2Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Agenda
1. Das Projekt bei der freenet GmbH
2. Also agil?
Konsequenzen für die Architektur und die Plattformauswahl
3. Architekturentscheidungen
Systematisch treffen und dokumentieren
4. Fazit
Welche Plattform war für freenet die richtige?
- 3. © OPITZ CONSULTING GmbH 2013 Seite 3Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
1 Das Projekt Wasabi bei der freenet GmbH
- 4. © OPITZ CONSULTING GmbH 2013 Seite 4Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
E-Commerce bei freenet
Customer Frontend
Customer Database
Bonität
Wirksysteme
Billing SAP
Callcenter
Mail-Gateway
Business Intelligence
- 5. © OPITZ CONSULTING GmbH 2013 Seite 5Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Prozessorientiertes Vorgehen
Produktwelten
mail, singles
Vertragsabschluss
Upgrade
Kündigung
<<Subprozess>> Provisionierung
- 6. © OPITZ CONSULTING GmbH 2013 Seite 6Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Projektziele
Automatisierung
Vereinfachung
SaaS
agil
- 7. © OPITZ CONSULTING GmbH 2013 Seite 7Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
BPMN 2.0 ist agil ;-)
- 8. © OPITZ CONSULTING GmbH 2013 Seite 8Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Prozessmodelle
Strategisches
Prozessmodell
Operatives
Prozessmodell
Technisches
Prozessmodell
Business
IT
- 9. © OPITZ CONSULTING GmbH 2013 Seite 9Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Transparenz
Modell Engine
Monitor
ing
Transp
arenz
- 10. © OPITZ CONSULTING GmbH 2013 Seite 10Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
2 Also agil?
- 11. © OPITZ CONSULTING GmbH 2013 Seite 11Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
awareness
Wissens
-silos
Probleme
spät
erkannt
Lange
Zyklen
:-(
- 12. © OPITZ CONSULTING GmbH 2013 Seite 12Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
desire Produkti
vität
Engage
ment,
Zufriede
nheit
Faster
Time to
Market
Höhere
Qualität
- 13. © OPITZ CONSULTING GmbH 2013 Seite 13Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
agil: if it ain’t perfect keep improving
nicht agil: if it ain’t broke do not fix it
motif
- 14. © OPITZ CONSULTING GmbH 2013 Seite 14Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
1975 Fred Brooks
All repairs tend to destroy
structure, increase entropy and
disorder. Less and less effort is
spent fixing original design flaws,
more and more time fixing flaws
introduced by earlier fixes.
Sooner or later, fixing ceases to
gain any ground. Also usable, the
system has worn out as a base
for progress. Machine,
configuration and requirement
changes eventually dictate
ground-up redesign.
Modifikationen
(Bugs, neue Features)
Entopie
Aber Entropie / Unordnung
- 15. © OPITZ CONSULTING GmbH 2013 Seite 15Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Simplicity is the ultimate sophistication.
Leonardo da Vinci
Simple made easy
Rich Hickey
- 16. © OPITZ CONSULTING GmbH 2013 Seite 16Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Agile
Emergent Design
Refactoring
Test Driven Development
Automated Tests
Excellent technical Practice
- 17. © OPITZ CONSULTING GmbH 2013 Seite 17Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
ability
Als Team
denken, selbst
verantwortlich
sein
Collective code
ownership
Excellent
technical
practice
Emergent
Design
- 18. © OPITZ CONSULTING GmbH 2013 Seite 18Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
easy
Wizards
BPEL
Zero Coding
- 19. © OPITZ CONSULTING GmbH 2013 Seite 19Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
easy ???
Refactoring?
Merging?
Codebasis lesen und verstehen?
- 20. © OPITZ CONSULTING GmbH 2013 Seite 20Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Zeit
Produktivität
Rich Hickey http://www.infoq.com/presentations/Simple-Made-Easy
easy
simple
simple versus easy
- 21. © OPITZ CONSULTING GmbH 2013 Seite 21Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Exkurs - Komposition
- 22. © OPITZ CONSULTING GmbH 2013 Seite 22Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Verflechtung durch Zustand
- 23. © OPITZ CONSULTING GmbH 2013 Seite 23Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Agiles Vorgehen erfordert zwingend exzellente
technische Praxis
Continuous
testing
Refactor
Simple
System
Michael Feathers definiert
Legacy Code als “Code
ohne automatisierte
Tests”.
- 24. © OPITZ CONSULTING GmbH 2013 Seite 24Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
3 Architekturentscheidungen
• Systematisch treffen und dokumentieren
- 25. © OPITZ CONSULTING GmbH 2013 Seite 25Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Qualität ist orthogonal zu Funktionalität
Funktionalität - User Stories
“als Kunde mit einem Basic Vertrag
wenn ich ein Upgarde auf einen PAID-Vertrag durchführe
und die Bonitätsprüfung erfolgreich war,
dann wird das Mailbox-Volumen auf 100GB erhöht.”
Qualität
“die Anbindung einer neuen Reseller-Marke ist
mit einem Aufwand von 20 PT implementierbar”
- 26. © OPITZ CONSULTING GmbH 2013 Seite 26Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Geschäftsziele
- 27. © OPITZ CONSULTING GmbH 2013 Seite 27Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
planen entwickeln testen releasen betreiben
Zeit
Geschäftsqualität - Time to Market
- 28. © OPITZ CONSULTING GmbH 2013 Seite 28Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Time to market
Cost and
benefit
Projected lifetime
Rollout
schedule
Geschäftsqualitäten
- 29. © OPITZ CONSULTING GmbH 2013 Seite 29Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Architektur System
Geschäfts-
Qualität
Qualität
Qualitäten wirken sich aufeinander aus
Qualität
- 30. © OPITZ CONSULTING GmbH 2013 Seite 30Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Analysis scheitert an Systemen
Analysis Systemdenken
Stories
Epics
MMFs, MVPs Emergent Design Architektur
- 31. © OPITZ CONSULTING GmbH 2013 Seite 31Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
System
Funkt-
ionalität
Zuver-
lässigkeit
Benutz-
barkeit
Effizienz
Wartbar-
keit
Übertrag-
barkeit
Qualität in Software Systemen
- 32. © OPITZ CONSULTING GmbH 2013 Seite 32Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
ISO 9126
ISO/IEC 25012:2008
- 33. © OPITZ CONSULTING GmbH 2013 Seite 33Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Alle Qualitäten sind erstrebenswert
- 34. © OPITZ CONSULTING GmbH 2013 Seite 34Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Aber, Tradeoffs sind unvermeidlich
- 35. © OPITZ CONSULTING GmbH 2013 Seite 35Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Architecture Tradeoff Analysis Method
http://www.sei.cmu.edu/reports/00tr004.pdf
Lightweight Architecture Alternative
Assessment Method
http://technogility.sjcarriere.com/2009/05/11/its-pronounced-like-lamb-not-like-lame/
Qualitätsmerkmale und Tradeoffs methodisch
angehen
Szenarien Risiken
Sensitivity
points
Tradeoffs
Attribute
Requirements
Architektur-
ansätze
Analyse
- 36. © OPITZ CONSULTING GmbH 2013 Seite 36Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Quelle:
Stimulus: Antwort:
Antwort-Maßzahl:
Artefakt:
Umgebung:
Software Architecture in Practice (2nd Ed.)
Qualitäts-Attribute in Szenarien konkretisieren
- 37. © OPITZ CONSULTING GmbH 2013 Seite 37Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Quelle:
Stimulus: Antwort:
Antwort-Maßzahl:
Artefakt:
Prozess
Umgebung:
System-Extern
Unerwartete
Nachricht
(ein Fehler) Normaler Betrieb
Operator
informieren,
Verarbeitung
fortführen Keine Ausfallzeit
Ein Szenario zur Verfügbarkeit
- 38. © OPITZ CONSULTING GmbH 2013 Seite 38Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Quelle:
QA /
Produktion
Artefakt:
Prozesse /
Codebasis /
DeliverablesStimulus: Antwort:
Antwort-Maßzahl:
Umgebung:
Fehler in der
Prozesslogik
Korrektur in
Produktion
ohne
Seiteneffekt In 5 Stunden
System > 200 FTE
Implementierung
Modifizierbarkeit – Korrektur von Fehlern
- 39. © OPITZ CONSULTING GmbH 2013 Seite 39Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Quelle:
Architekt
agiles Team
Artefakt:
Prozesse /
Codebasis /
DeliverablesStimulus: Antwort:
Antwort-Maßzahl:
Umgebung:
System
vereinfachen
Refactoring
Verbesserte
Code-Struktur
erreicht ohne
Seiteneffekt In einem
Sprinttag
System > 200
FTE
Implementierung
Modifizierbarkeit – Refactoring
- 40. © OPITZ CONSULTING GmbH 2013 Seite 40Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Modfizierbarkeit – Refactoring – Testbarkeit
https://github.com/sistar/camunda-fox-demo-app-oc
- 41. © OPITZ CONSULTING GmbH 2013 Seite 41Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Quelle:
Analyst
Artefakt:
Prozesse /
Codebasis /
DeliverablesStimulus: Antwort:
Antwort-Maßzahl:
Umgebung:
Änderung einer
Geschäftsregel
Änderung
durchgeführt
ohne
Seiteneffekt Ohne Beteiligung
des Entwickler-
Teams
Analyst kennt
BPMN 2.0, Rules.
Kennt nicht
technische
Details
Benutzbarkeit – Zero Coding
- 42. © OPITZ CONSULTING GmbH 2013 Seite 42Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Qualität / Utility
Effizienz Antwortzeit
Frontend - Eine
Cluster-Node bei
normaler Last <2s
Funktionalität Sicherheit
Kein Zugriff auf
interne Daten durch
Frontend
Zuverlässigkeit Robustheit
Kein Ausfall bei
falschem Aufruf
durch Frontend
Wartbarkeit
Modifizierbarkeit
Fehler-Korrektur der
Prozesslogik in 5h
Refactoring
Verbesserte Code
Struktur in einem
Sprinttag
Testbarkeit
Testgetriebene
Entwicklung
Prozess Unit Test < 1
Minute
Benutzbarkeit Erlernbarkeit
Business / IT
gemeinsames
Prozessmodell
Zero Coding -
Änderung von
Geschäftsregel ohne
Entwicklerteam
Qualitätsszenarien als Utility Tree
- 43. © OPITZ CONSULTING GmbH 2013 Seite 43Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Qualität / Utility
Effizienz Antwortzeit
Frontend - Eine
Cluster-Node bei
normaler Last <2s
Funktionalität Sicherheit
Kein Zugriff auf
interne Daten durch
Frontend
Zuverlässigkeit Robustheit
Kein Ausfall bei
falschem Aufruf
durch Frontend
Wartbarkeit
Modifizierbarkeit
Fehler-Korrektur der
Prozesslogik in 5h
Refactoring
Verbesserte Code
Struktur in einem
Sprinttag
Testbarkeit
Testgetriebene
Entwicklung
Prozess Unit Test < 1
Minute
Benutzbarkeit Erlernbarkeit
Business / IT
gemeinsames
Prozessmodell
Zero Coding -
Änderung von
Geschäftsregel ohne
Entwicklerteam
Ranking im Utility Tree
Ranked Attribute Weights:
-> 0,262
-> 0,461
-> 0,163
-> 0,094
-> 0,045
-> 0,75
-> 0,25
1
2
1->0,75
2->0,25
0,26
0,46
0,16
0,05
0,017
0,023
0,03
0,01
1->0,75
2->0,25
- 44. © OPITZ CONSULTING GmbH 2013 Seite 44Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Priorisierte Liste der Qualitätsszenarien
Sicherheit / Kein Zugriff auf interne Daten durch Frontend
Effizienz / Antwortzeit Frontend - Eine Cluster-Node bei normaler Last <2s
Robustheit Kein Ausfall bei falschem Aufruf durch Frontend
Wartbarkeit / Fehler-Korrektur der Prozesslogik in 5h
Testbarkeit / Testgetriebene Entwicklung Prozess Unit Test < 1 Minute
Erlernbarkeit / Business / IT gemeinsames Prozessmodell
Erlernbarkeit / Zero Coding - Änderung von Geschäftsregel ohne Entwicklerteam
- 45. © OPITZ CONSULTING GmbH 2013 Seite 45Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Sensitivity Points
Sicherheit / Kein Zugriff auf interne Daten durch Frontend
Effizienz / Antwortzeit Frontend - Eine Cluster-Node bei normaler Last <2s
Robustheit Kein Ausfall bei falschem Aufruf durch Frontend
Wartbarkeit / Fehler-Korrektur der Prozesslogik in 5h
Testbarkeit / Testgetriebene Entwicklung Prozess Unit Test < 1 Minute
Erlernbarkeit / Business / IT gemeinsames Prozessmodell
Erlernbarkeit / Zero Coding - Änderung von Geschäftsregel ohne Entwicklerteam
- 46. © OPITZ CONSULTING GmbH 2013 Seite 46Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Assesment (exemplarisch)
Szenario Gewicht Camunda
BPM
Oracle
BPM
Testgetriebene
Entwicklung
Prozess Unit
Test < 1 Minute
0,023 Exzellent (4)
0,092
Mäßig (1)
0,023
Zero Coding
Änderung von
Geschäftsregel
ohne
Entwicklerteam
0,01 Mäßig (1)
0,01
Exzellent (4)
0,04
Architekturalternativen
0,102 0,063Summe
- 47. © OPITZ CONSULTING GmbH 2013 Seite 47Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
4 Fazit
- 48. © OPITZ CONSULTING GmbH 2013 Seite 48Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
It depends…
Zeit
Produktivität
easy
simple
Zeit
Produktivität
Code zentrisch
Tool-
/Plattformzentrisch
Standard
Organisatorisch
Klare Ziele und
Anforderungen
Individuell
Zentral für
Wertschöpfung
agil
- 49. © OPITZ CONSULTING GmbH 2013 Seite 52Vom Zusammenhang zwischen Architekturen und agilem Vorgehen
Danke! Fragen und Antworten
ralf.sigmund@opitz-consulting.com
Twitter: @sistar Xing Ralf Sigmund