Architektur vs Agilität

1.440 Aufrufe

Veröffentlicht am

Vortrag auf der "Jax on tour", September 2012:

Sind die Zeiten, in denen man sich stolz Architekt nennen und sich darauf etwas einbilden konnte, vorbei? Wenn die Architektur ganz agil allen „gehört“, wozu dann eine herausgehobene Rolle? In diesem Vortrag wird auf die Auswirkungen moderner, leichtgewichtiger Vorgehensweisen auf die Architektenrolle eingegangen und gezeigt, was gleich bleibt, was sich verändern muss und welche Herausforderungen sich daraus ergeben, wenn der Architekt auf einmal ein gleichrangiges Teammitglied wird.

Veröffentlicht in: Business
0 Kommentare
1 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.440
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
31
Aktionen
Geteilt
0
Downloads
9
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Architektur vs Agilität

  1. 1. Matthias Bohlen Coach für effektive Produktentwicklung Architektur versus Agilität oder: Wer braucht schon noch Architekten? Benutzer Business Kunde Architekt Designer Fachbereich Domänen- Entwickler Programmierer Analyst experte Tester etc. +49 170 772 8545 mbohlen@mbohlen.de http://www.mbohlen.de @mbohlendeDonnerstag, 20. September 12
  2. 2. 3 Vorträge 2Donnerstag, 20. September 12
  3. 3. Wer ist ein Softwarearchitekt?Foto: Casey Hussein Bisson 3Donnerstag, 20. September 12
  4. 4. OOPSLA 1992 Publikum: Mr. Beck, was ist Softwarearchitektur? Softwarearchitektur? Das ist das, was Softwarearchitekten machen. Publikum (kichert): Also dann, was ist ein Softwarearchitekt? Hmm, Softwarearchitekt ist ein neuer pompöser Titel, den Programmierer auf ihrer Visitenkarte haben wollen, um ihre üppigen Bezüge zu rechtfertigen. 4Donnerstag, 20. September 12
  5. 5. Extreme Programming Explained (2000) "Softwarearchitektur ist in XP-Projekten genauso wichtig wie in irgendeinem Softwareprojekt. ... Nimm Dir für die erste Iteration einen Satz von Stories, der Dich zwingt, die ganze Architektur zu erschaffen. Am Ende dieser Übung wirst Du Deine Architektur haben. Es könnte sein, dass es nicht die ist, die Du erwartet hast, aber Du wirst etwas gelernt haben. ... Ich setze die Architektur rein, die ich jetzt brauche und vertraue auf meine Fähigkeit, sie später zu ändern." 5Donnerstag, 20. September 12
  6. 6. Die elende Bau-Metapher Der Entwickler bautFoto: Anna Oakley Der Architekt erklärt 6Donnerstag, 20. September 12
  7. 7. Wenn überhaupt Bau, dann... Architekten Der Compiler baut und Entwickler entwerfen 7Donnerstag, 20. September 12
  8. 8. Stille Post am Beispiel RUPFoto: Casey Hussein Bisson 8Donnerstag, 20. September 12
  9. 9. Matthias Bohlen Coach für effektive Produktentwicklung Rational Unified Process 9Donnerstag, 20. September 12
  10. 10. Matthias Bohlen Coach für effektive Produktentwicklung RUP: Das Metamodell 10Donnerstag, 20. September 12
  11. 11. Matthias Bohlen Coach für effektive Produktentwicklung RUP: Die Rolle "Softwarearchitekt" 11Donnerstag, 20. September 12
  12. 12. Matthias Bohlen Coach für effektive Produktentwicklung RUP: Die Rolle "Implementierer" 12Donnerstag, 20. September 12
  13. 13. Matthias Bohlen Coach für effektive Produktentwicklung RUP: Aktivität "Implement Component" Purpose: To produce source code in accordance with the design model. Steps: Implement Operations, Implement States, Use Delegation to Reuse Implementation, Implement Associations, Implement Attributes, Provide Feedback to Design, Evaluate the Code Input Artifacts: Resulting Artifacts: Software Architecture Document, Component, Test Component Design Package, Design Class, Design Model, Design Guidelines, Programming Guidelines, Supplementary Specifications, Test Case, Data Model, Test Interface Specification, Test Component Role: Implementer 13Donnerstag, 20. September 12
  14. 14. Der überforderte Architekt "Die ideale Architekt sollte des Schreibens mächtig sein, ein Mathematiker, vertraut mit historischen Studien, ein fleißiger Student der Philosophie, vertraut mit Musik, nicht unwissend in der Medizin, kundig in den Antworten der Rechtsgelehrten, vertraut mit Astronomie und astronomischen Berechnungen." - Vitruv, circa 25 v. Chr.Foto: Casey Hussein Bisson 14Donnerstag, 20. September 12
  15. 15. Matthias Bohlen Coach für effektive Produktentwicklung nach iSAQB CPSA-F Aufgaben von Softwarearchitekten Anforderungen und Randbedingungen klären, hinterfragen, verfeinern insbesondere geforderte Qualitätsmerkmale Strukturentscheidungen treffen Bausteine und Schnittstellen festlegen Übergreifende technische Konzepte entscheiden Persistenz, Kommunikation, GUI, etc. Software-Architektur kommunizieren und dokumentieren Umsetzung und Implementierung der Architektur überwachen Rückmeldungen der beteiligten Stakeholder einarbeiten Konsistenz von Quellcode und Softwarearchitektur sicherstellen Software-Architektur bewerten hinsichtlich Risiken bezüglich der geforderten Qualitätsmerkmale 15Donnerstag, 20. September 12
  16. 16. Matthias Bohlen Coach für effektive Produktentwicklung nach Philippe Kruchten Aufgaben von Softwarearchitekten Architektur des Systems definieren Integrität der Architektur sicherstellen Technische Risiken erkennen Risikomanagement-Strategien entwickeln An der Projektplanung teilnehmen Reihenfolge und Inhalt von Iterationen vorschlagen Consulting für Design-, Implementierungs- und Integrations-Teams Produktmarketing mit neuen Visionen unterstützen 16Donnerstag, 20. September 12
  17. 17. What you KNOW What you DO What You ARE •Yourself •Set team context (vision) •You and others see you as a leader Architect •Make decisions (stick) •Charismatic and credibleLeadership •Build teams •You believe it can and should be done, and can •Motivate lead the effort •You are committed, dedicated, passionate •You see the entire effort in a broader business context •Who the key players are in the •Communicate, communicate, communicate! •Able to see from and sell to multiple viewpoints CompetencyOrg. Politics organization •Listen, network, influence •Confident and articulate Ambitious and driven •What they want, both business •Sell the vision, keep the vision alive •Patient and not and personal •Take and retake the pulse of all critical •Resilient influencers of the architecture project •Sensitive to where the power is and how it flows in your organization •Your organization’s business •Influence business strategy •Visionary Framework strategy and rationale •Translate business strategy into technical •EntrepreneurialStrategy •Your competition (products, vision and strategy strategies and processes) •Understand customer and market trends •Your company’s business •Capture customer, organizational and practices business requirements on the architecture •Elicitation techniques •Build “trusted advisor” relationships •Committed to others’ success Bredemeyer Consulting 2002Consulting •Consulting frameworks •Understand what the developers want and •Empathetic, approachable need from the architecture •An effective change agent, process savvy •Help developers see the value of the •A good mentor, teacher architecture and understand how to use it successfully •Mentor junior architects •In-depth understanding of the •Modeling •Creative domain and pertinent •Tradeoff analysis •InvestigativeTechnology technologies •Prototype/experiment/simulate •Practical/pragmatic •Understand what technical issues are key to success •Prepare architectural documents and •Insightful presentations •Tolerant of ambiguity, willing to back-track, •Development methods and •Technology trend analysis/roadmaps seek multiple solutions modeling techniques •Take a system viewpoint •Good at working at an abstract level 17Donnerstag, 20. September 12
  18. 18. Agile, cross-funktionale TeamsFoto: Casey Hussein Bisson 18Donnerstag, 20. September 12
  19. 19. Matthias Bohlen Coach für effektive Produktentwicklung Kummunikation am Fließband Kunde Business Architekt Entwickler Tester Das funktioniert nicht! Software hat keine physikalischen Gesetze, die die Korrektheit der Ergebnisse sicherstellen würden! 19Donnerstag, 20. September 12
  20. 20. Matthias Bohlen Coach für effektive Produktentwicklung Entwicklung ist nicht Fertigung Architekt wird zum zentralen Kommunikator, also zum Flaschenhals Er wartet oder entscheidet alles selbst Es gibt keine Kommunikation, die an einer Stelle zum Abschluss kommt Stille Post dauert zu lange Man braucht immer die Sicht aller Rollen 20Donnerstag, 20. September 12
  21. 21. Matthias Bohlen Coach für effektive Produktentwicklung Agile Architekturrunde: Gemeinsam sind wir Architekten ! Benutzer Business Kunde Architekt Designer Fachbereich Domänen- Entwickler Programmierer Analyst experte Tester etc. 21Donnerstag, 20. September 12
  22. 22. Benutzer Business Kunde Domänen- Entwickler experteBenutzer Feature- Bequemlich- Produkt/ Qualität Priorität, keit einkaufen Feature- und Scope Machbarkeit Funktiona- lität StakeholderBusiness Machbarkeit Standards Anforderungen Machbarkeit Quelle von klären EinnahmenKunde Ein Markt Produkte Standards Standards Quelle von untereinander und Leistungen schaffen einhalten EinnahmenDomänen- Spanne von Angenehmer Bedarf an Domänen- Rahmenbe-experte Variabilität Arbeitsplatz Standards Synergien dingungen im Produkt und für -Konflikte TechnologieEntwickler Anforderung Angenehmer Beratung beim Orientierung Existieren- en klären Arbeitsplatz Ausliefer- durch APIs, den Code prozess poka-yoke verstehen 22Donnerstag, 20. September 12
  23. 23. Matthias Bohlen Coach für effektive Produktentwicklung Warum alle am Tisch sitzen müssen! Stakeholder Beitrag zur Architektur Benutzer Erwartungen, kognitives Modell Kunde Zeit, Kosten, Produktkonfiguration je nach Zielmarkt angepasst Business Umsatz, Kosten, Investment Domänenexperte Erfahrung Entwickler Machbarkeit, Testbarkeit 23Donnerstag, 20. September 12
  24. 24. Matthias Bohlen Coach für effektive Produktentwicklung Beispiel: Make or Buy Entscheidung Stakeholder Beitrag zur Architektur Business Schlägt "buy" statt "make" vor Kunde und Sagt, ob das gekaufte Etwas die Benutzer Standards einhält Domänenexperte Beurteilt Integrierbarkeit des gekauften Etwas Entwickler Beurteilen Aufwand und Nebenwirkungen der Integration des gekauften Etwas Tester Beurteilt, ob das integrierte System testbar sein wird 24Donnerstag, 20. September 12
  25. 25. Matthias Bohlen Coach für effektive Produktentwicklung Conways Gesetz Conway 1968: "organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations" Coplien / Harrison 2004: "If the parts of an organization (e.g. teams, departments, or subdivisions) do not closely reflect the essential parts of the product, or if the relationship between organizations do not reflect the relationships between product parts, then the project will be in trouble... Therefore: Make sure the organization is compatible with the product architecture" 25Donnerstag, 20. September 12
  26. 26. Matthias Bohlen Coach für effektive Produktentwicklung Die wesentliche Architektenaufgabe Systemschnitt entwickeln Essenzielle Systemteile entkoppeln Kopplung zwischen Systemteilen induziert Commitment zwischen Teams lässt agile Teams aufeinander warten Also müssen Architektur-Teams einen Systemschnitt entwerfen, der den anderen Teams erlaubt, eigenständig und schnell zu arbeiten. 26Donnerstag, 20. September 12
  27. 27. Matthias Bohlen Coach für effektive Produktentwicklung Zusammenarbeit Architekturrunde Delegation Delegation Saturn Architektur Neptun Saturn-Backlog Neptun-Backlog Saturn- Neptun- Team Team 27Donnerstag, 20. September 12
  28. 28. Matthias Bohlen Coach für effektive Produktentwicklung PO, Architektekturrunde, Team Architekturrunde liefert nicht-funktionale Product Owner Backlog-Elemente Product Owner entscheidet, ob und Team wann sie in die Entwicklung einfließen Backlog Architekt ist jetzt Team-Mitglied (Domänenexperte), der "Bergführer", der "Kümmerer", der die Architektur- Energie aufrechterhält 28Donnerstag, 20. September 12
  29. 29. Matthias Bohlen Coach für effektive Produktentwicklung Architekturarbeit gehört ins Backlog! Stefan Toth (oose GmbH) :: Architekturbewertung – Der Schlüssel zur besseren Architektur(-arbeit) 29Donnerstag, 20. September 12
  30. 30. Matthias Bohlen Coach für effektive Produktentwicklung Quality Story Eine Quality Story wird Story ins Backlog zwischen zwei andere Stories Q-Story einsortiert. Story Die Architektenrunde definiert die Q-Story, der Product Owner sortiert sie ein. 30Donnerstag, 20. September 12
  31. 31. Matthias Bohlen Coach für effektive Produktentwicklung Quality Aspect Ein Qualitätsaspekt Story kommt in die DoD Definition of Done einer oder mehrerer Stories. Die Architektenrunde definiert den Aspekt, der Product Owner lässt ihn zu. 31Donnerstag, 20. September 12
  32. 32. Matthias Bohlen Coach für effektive Produktentwicklung Quality Policy Eine Rahmenbedingung kommt als Merker auf Story die Backlog-Wand. Story Rahmen- bedingung Die Architektenrunde Story definiert die Rahmenbedingung, der Product Owner lässt sie zu. 32Donnerstag, 20. September 12
  33. 33. Schlanke Architektur- DokumentationFoto: Casey Hussein Bisson 33Donnerstag, 20. September 12
  34. 34. Matthias Bohlen Coach für effektive Produktentwicklung Was ist SW-Architektur? Form, Struktur, Verhalten, Stil Ralph Johnson: "Architektur ist die Menge von Entscheidungen, von denen Sie wünschten, Sie könnten sie früh im Projekt richtig treffen (aber bei denen die Wahrscheinlichkeit, sie richtig zu treffen, nicht notwendigerweise größer ist als bei jeder anderen Entscheidung)." 34Donnerstag, 20. September 12
  35. 35. Struktur stützt Form Form versus Struktur Form ermöglicht Verhalten 35Donnerstag, 20. September 12
  36. 36. Struktur stützt Form Form versus Struktur Form ermöglicht Verhalten 35Donnerstag, 20. September 12
  37. 37. Struktur stützt Form Form versus Struktur Form ermöglicht Verhalten 35Donnerstag, 20. September 12
  38. 38. Struktur stützt Form Form versus Struktur Form ermöglicht Verhalten 35Donnerstag, 20. September 12
  39. 39. Matthias Bohlen Coach für effektive Produktentwicklung Schlanke Architekturdokumentation Aspekt Bedeutung Medien Form Subsysteme, APIs, von Bilder und außen sichtbares Vodcasts im Wiki, Verhalten APIs im Code Struktur Subsystem-interne Code Klassen und Schnittstellen Verhalten wichtige Abläufe im Bilder im Wiki, System den Rest im Code Stil Entwurfsprinzipien Wiki 36Donnerstag, 20. September 12
  40. 40. Matthias Bohlen Coach für effektive Produktentwicklung Auch wichtig zu dokumentieren! Querschnittskonzepte Persistenz, Logging, Transaktionsbehandlung, Authentifizierung, Autorisierung, usw. Design-Entscheidungen Datum, Ausgangslage, Problemstellung, gewählte/verworfene Optionen, Entscheidungsweg/Begründung, Wiki 37Donnerstag, 20. September 12
  41. 41. Matthias Bohlen Coach für effektive Produktentwicklung Zusammen Architektur ist nötig fassung Sie ermöglicht unabhängiges Handeln in den Teams Alle zusammen sind "der Architekt" Architektur bleibt schlank, wenn man sich konzentriert! 38Donnerstag, 20. September 12
  42. 42. Matthias Bohlen Coach für effektive Produktentwicklung Mehr Info? Hier melden! Matthias Bohlen Coach für effektive Produktentwicklung Telefon: +49 170 772 8545 E-Mail: mbohlen@mbohlen.de Web: http://www.mbohlen.de/ Twitter: @mbohlendeDonnerstag, 20. September 12
  43. 43. Nächster Vortrag 15:30 Uhr 40Donnerstag, 20. September 12

×