+ All Categories
Home > Documents > Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis...

Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis...

Date post: 09-Oct-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
58
Agile Architektur Mar/n Bengl, Christoph Mathis How to develop outstanding products
Transcript
Page 1: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Agile&Architektur

Mar/n&Bengl,&Christoph&Mathis

How&to&develop&outstanding&products

Page 2: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

ArchitekturEine&Mo/va/on

Page 3: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

„Architektur&

repräsen/ert&die&signifikanten&Design@Entscheidungen,&die&ein&System&gestalten,&wobei&‚signifikant’&durch&die&Kosten'von'Änderungen&bes/mmt&wird“

Grady'Booch

Page 4: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products
Page 5: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products
Page 6: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products
Page 7: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products
Page 8: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products
Page 9: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Wie&konstruiert&man&für&Änderbarkeit

Page 10: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products
Page 11: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products
Page 12: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products
Page 13: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products
Page 14: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products
Page 15: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Gebäude:&Fritz&Haller

Page 16: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products
Page 17: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products
Page 18: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Conway´s&Gesetzund&die&Architektur

Page 19: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Conway‘s&Gesetz

..organiza/ons&which&design&systems&...&are&constrained&to&produce&designs&which&are'copies'of'the'communica8on'structures&of&these&organiza/ons

Page 20: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products
Page 21: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products
Page 22: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Teams&müssen&

cross@funk/onal&sein

Page 23: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Was&bes/mmt&die&Kosten&von&Änderungen

Page 24: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

ImprovementStart with the simplest solution that can possibly work.Improve it until it is good (transparent, maintainable)

Test succeedsRefactor

Write new test Test fails Write code

='Test'Driven'Development'+'Refactoring'+'Pa@erns

Architektur

AgileEngineering

Page 25: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

='Business'Epics,'ArchitekturEEpics

Architektur

GrundsatzEEntscheidungen

Rahmenbedingungen ...

Page 26: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Agile&Architektur&heißt&nicht,dass&es&keine&Upfront&Entscheidungen&gibt

Page 27: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Aber&Upfront&Entscheidungen&sind&nicht&der&einzige&Treiber

Page 28: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Treiber:&1.&BoXom&Up&:&Refactoring,&TDD,&PaXerns2.&Top&Down:&Vorarbeiten,&Vision,&S/l

3.&Outside&in:&User&Experience,&BDD

Page 29: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

und:&

Embrace&Change

Page 30: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Der&Änderungsprozess

Page 31: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

ImprovementStart with the simplest solution that can possibly work.Improve it until it is good (transparent, maintainable)

Test succeedsRefactor

Write new test Test fails Write code

='Test'Driven'Development?

Scrum'Prozess

AgileEngineering

Page 32: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

ImprovementStart with the simplest solution that can possibly work.Improve it until it is good (transparent, maintainable)

Test succeedsRefactor

Write new test Test fails Write code

Page 33: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Nicht'alles

ist'linear

Page 34: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Krea8ves'Arbeiten'hatlaterale'und'lineare'Aspekte

Page 35: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Plan

DoCheck

Act

ImprovementStart with the simplest solution that can possibly work.Improve it until it is good (transparent, maintainable)

Test succeedsRefactor

Write new test Test fails Write code

Page 36: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Ideas&for&an&experiment:

Non@Linear,&Divergent

Page 37: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Develop:Linear.&Consistent.&Logical.

Page 38: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Mind&States:&lateral&or&linear

X

X

X

X

X

Divergent Thinking

Convergent Thinking

Create Choices

Make Choices

Prototype and Learn

Iterate

Page 39: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Krea8ve'Impulsemuss'man'freisetzen

Page 40: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Zm&Beispiel&durch&Spiele&...

Page 41: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Teams'und'Product'Management'müssen'koEkrea8v'arbeiten

Page 42: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

An/@PaXerns

Page 43: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Technical&Debt

Page 44: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Reusability&and&Waste

Page 45: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Reusability&instead&of&usability

Page 46: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Beware&of:Blueprints&and&PaXerns

Page 47: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Beware&of&Non@coding&Architects

Page 48: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Boxes&don´t&crash

Page 49: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Conway’s&LawEin&System&wird&in&seiner&Struktur&der&Organisa/on&ähneln,&die&es&erstellt

Page 50: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Übergaben

Page 51: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Zusammenfassung

Page 52: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Drei&zentrale&Prinzipien

Page 53: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

1.&Lose&Kopplung

Page 54: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

2.&Lose&Kopplung

Page 55: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

3.&Lose&Kopplung

Page 56: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Prinzipien

Travel&light&

Assume&Simplicity&

Embrace&Change&

Incremental&Change&

Model&with&a&Purpose&

Mul/ple&Models&

Quality&Work&

Rapid&Feedback&

Maximize&Shareholder&Investment

Page 57: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

1. Lose&Kopplung

2. „KISS:&Use&the&simplest&approach&you&can&get&away&with“&

3. Architektur&ist&Kommunika/on

4. „embrace&change“&

Page 58: Agile&Architektur - improuv · 2018. 2. 21. · Agile&Architektur Mar/n&Bengl,&Christoph&Mathis How&to&develop&outstanding&products

Five&Design&Skills&every&Programmer&should&have• Given&an&exis/ng,&large&program,&determine&what&its&most&important&classes&are,&what&they're&responsible&for,&and&how&they&relate&to&each&

other.

• Given&a&program,&iden/fy&duplica/on&and&other&design&smells&that&make&arbitrary&change&difficult,&and&come&up&with&a&list&of&incremental,&behavior@preserving&refactorings&that&will&solve&those&problems&and&can&be&implemented&gradually,&over&/me.

• Given&a&program&and&a&list&of&feature&changes,&determine&what&parts&of&the&program&should&be&changed&to&support&the&new&features&and,&if&the&program&design&doesn't&support&the&new&features&cleanly,&what&incremental&refactorings&will&improve&the&design&so&that&it&will.

• Given&a&blank&slate&and&a&list&of&features,&use&test@driven&development&to&create&new&code&that&is&tested&by&unit&tests&that&meet&Michael&Feathers&defini/on&of&a&„unit&test“.&

• Given&a&blank&slate&and&a&list&of&features,&incrementally&mix&design&improvements&with&new&feature&development&on&a&daily&basis,&without&u/lizing&mul/@day&"design"&or&"refactoring"&phases.

hXp://jamesshore.com/Blog/Five@[email protected]


Recommended