Wer ist in einem agilen Team dafür verantwortlich, übergeordnete Architektur- und Designentscheidungen zu treffen, die sich auf das gesamte System auswirken und nicht nur auf die Arbeit im aktuellen Sprint?
Vielleicht Product Owner, Scrum Master, das Scrum Team oder jemand anderes?
Antworten:
quelle
Architekten natürlich, aber vielleicht nicht die traditionellen Architekten.
Ich meine damit nicht den leitenden Chirurgen, der alles nachdenkt und dann die Affen das ganze Tippen überlässt. Ich meine einen erfahrenen Programmierer, der die Kosten-Nutzen-Kompromisse von schwer umkehrbaren Entscheidungen versteht und Teams berät, was zu tun ist.
Effektive Architekten sind schwer zu finden, aber es kann eine fantastische Position sein, und deshalb haben Sie wahrscheinlich mindestens einen erfahrenen, nachdenklichen Programmierer, der es gut kann. Eine solche Person muss
Dieser letzte Punkt bringt viele Menschen um den Verstand. Wenn gut gemeinte Agilisten Dinge wie "Das Team besitzt die Architektur" sagen, haben sie das "Recht", aber ich finde den Ratschlag in seiner Anwendung fast völlig bedeutungslos. Wenn Sie sich darauf verlassen würden, dass Teams die Verantwortung für ihre eigene Architektur übernehmen, würden Sie die Frage nicht gleich stellen, oder ?! Ich gehe daher davon aus, dass Sie die Frage stellen, weil es auch diesbezüglich Bedenken gibt
Wenn Sie jemanden brauchen , der Verantwortung übernimmt, geben Sie sie jedem, der sie annehmen möchte. Ernst. Wenigstens diese Person kümmert es. Geben Sie dieser Person die Ressourcen, die sie für die Arbeit benötigt, und helfen Sie ihnen, wenn sie sie benötigen. Es ist wahrscheinlich egal, wie kompetent die Person ist, denn wenn es sie interessiert, werden sie versuchen zu lernen, was sie lernen müssen. Natürlich braucht eine solche Person Unterstützung in Form von guten Büchern und einer Gemeinschaft von Gleichaltrigen und Mentoren, die sie um Hilfe und Rat bitten kann.
Wenn Sie befürchten, dass die falsche Person die Verantwortung übernimmt, dann hoffe ich, dass Sie wissen, wer "die richtige Person" ist, und kämpfen werden, um sie als Architekten einzusetzen. Ein Buch wie The New Strategic Selling wird Ihnen helfen, die Verkaufstechniken zu erlernen, die dies ermöglichen.
Wenn Sie nur einen Sündenbock brauchen, stupsen Sie ruhig andere an, um die Verantwortung für die Karriere zu übernehmen, die Sie am liebsten zerstören oder beeinträchtigen möchten. Sei wenigstens ehrlich.
Wenn sie zu ihrer Arbeit als Architekt zurückkehren, können sie sich ihre Arbeit als Führungsposition und nicht als bloße Entscheidungsposition vorstellen. Wenn sie nicht mindestens die routinemäßigsten Entscheidungen an die Teams delegieren, werden sie zu einem Engpass und verlangsamen die gesamte Organisation . Das Hinzufügen von mehr Architekten an der Spitze beschleunigt dies nicht. Bessere Architekturentscheidungen von Grund auf kultivieren. Die Technik der Delegationstafel hilft Ihrem Architekten, im Laufe der Zeit mehr und mehr Entscheidungen an die Teams zu delegieren, da diese Teams Vertrauen gewinnen, indem sie Kompetenz beweisen.
Ich stelle mir einen großartigen Architekten als jemanden vor, der mir hilft, meine Systeme besser zu entwerfen, der mich geduldig berät, wenn ich danach frage, und der mich gelegentlich davon abhält, eine sehr schlechte Entscheidung zu treffen. Ein solcher Architekt verhält sich im wahrsten Sinne des Wortes wie ein Führer: jemand, dem andere freiwillig folgen .
Ich weiß, dass das viel war.
Verweise
Miller, The New Strategic Selling . Dieses Buch enthält ein Modell, anhand dessen Sie nachvollziehen können, warum Sie einen bestimmten Verkauf nicht abgeschlossen haben. Ich finde das von unschätzbarem Wert, wenn ich verstehe, warum Mitarbeiter nicht das offensichtlich Wunderbare tun, was ich vorschlage.
Weinberg wird technischer Vorreiter . Dieses Buch hat mir geholfen zu lernen, wie man den Nicht-Architekten-Teil der effektiven Architektenarbeit erledigt.
Appelo, Delegation Boards und Delegation Poker . Unterschätzen Sie nicht, wie hart die Delegation ist und wie sehr wir daran leiden. Lernen Sie es effektiver und komfortabler zu machen.
quelle
Das Team organisiert sich also selbst, um Architekturentscheidungen nach eigenem Ermessen zu treffen. Es gibt keine feste Regel, sie kann vom Konsens über einen "Rat" der höchsten Mitglieder bis hin zur Ernennung eines bestimmten Mitglieds zur Architekturbehörde und der Entscheidung des Architekten, ob es ein Mitglied mit einer solchen Berufsbezeichnung gibt, reichen. .
quelle
Ich bin der Meinung, dass die Antwort auf die Frage, wer für die Entscheidungen über Architektur und Design auf hoher Ebene verantwortlich ist, von der Größe und Anzahl der Teams abhängt.
Für ein oder zwei Teams mit 3-7 in jedem Team kann das selbstorganisierte Team die Führung der Senior-Mitglieder übernehmen.
Bei 3 oder mehr Teams führt die erhöhte Komplexität dazu, dass ein Architekturteam benötigt wird, das sieht, ob die verschiedenen Subteams Arbeiten ausführen, die mit den anderen Teams zusammenarbeiten. Meiner Erfahrung nach ist dieser Punkt erreicht, wenn ungefähr 8 Teams oder ungefähr 50 Personen anwesend sind.
quelle
Das Team von Scaled Agile Framework (SAFe) hat auf seiner Website einige hervorragende Ressourcen bereitgestellt.
Es hilft Ihnen im Wesentlichen dabei, die Agilität in Ihrem gesamten Unternehmen zu skalieren und über eine einzelne Version hinaus in die Portfolio- und Programmplanung einzusteigen. Die Dokumentation enthält Vorschläge, wie Sie Ihre Unternehmens- und Systemarchitekten in den Prozess einbeziehen können, um Architekturepos in den Release-Zug einzuführen.
Bearbeiten Sie zur besseren Übersicht, um die Frage direkter zu beantworten:
In einer skalierten, agilen Umgebung gibt es mehrere Eigentümerstufen für die Architektur. Das agile Implementierungsteam wird Eigentümer der aufstrebenden Low-Level-Architektur sein, indem es nach Bedarf umgestaltet, um die Implementierung der Rückstände fortzusetzen. Übergeordnete Architekturentscheidungen (unterstützte Betriebssysteme, Browser, Plattformen, Bibliotheken) liegen in der Verantwortung Ihrer System- und Unternehmensarchitekten. Sie erstellen die Business Cases für den Zeitpunkt, zu dem diese Änderungen vorgenommen werden müssen, und empfehlen, diese Architekturänderungen dem Release-Zug für die Implementierungsteams hinzuzufügen.
In Bezug auf die Architekturentscheidungen auf hoher Ebene, die über den Sprint hinausgehen, müssen Sie diese normalerweise auf einer Ebene über dem Team treffen. Diese Fachleute haben traditionell bereits eine Architektenrolle innerhalb des Unternehmens.
quelle
Ich denke, die meisten anderen Antworten denken darüber aus der Perspektive nach, in einem Projekt zu sein.
Wenn dies die einzige Architekturstufe in einer Organisation ist, ist das Ergebnis offen gesagt ein Chaos. Ich habe dieses Chaos aus erster Hand miterlebt, leider passiert es.
Laut TOGAF erstellt die Abteilung für Unternehmensarchitektur Pläne auf hoher Ebene für und mit dem Unternehmen, um die IT-Umgebung zu erstellen und zu ersetzen. Der Enterprise Architect hat Architekturprinzipien definiert und diese auf den höchsten Ebenen der Organisation abgemeldet. Er hilft bei der Erstellung der Architektur auf hoher Ebene und der Anforderungen für jedes Projekt. Jedes Projekt wird initiiert, um einen architektonischen Baustein in dieser übergeordneten Architektur bereitzustellen.
Auf Projektebene erstellt der Solution Architect die Projektarchitektur (möglicherweise iterativ) und erhält eine Abmeldung vom Enterprise Architect.
Konzentrieren Sie sich jetzt auf ein agiles Projekt. Ein agiles Projekt hat Anforderungen. Sie haben nicht die Form eines massiven "Anforderungsdokuments", sondern sind episch und Geschichten. Diese Epen müssen noch geplant werden. Sie schicken kein Entwicklerteam auf ein paar Sprints ins Unbekannte. Sie wissen auf hohem Niveau, was das System tun muss, mit welchen anderen Systemen es interagieren muss und welche Hardware- / Betriebssystem- / Spracheinschränkungen das Unternehmen hat. Dies führt und schränkt die architektonischen Entscheidungen ein, die dem Solution Architect offenstehen. Wenn Sie sich beispielsweise für .NET und SQL Server engagieren, müssen Sie einen extremen Wert festlegenÜberzeugende Gründe für die Implementierung einer auf Magento basierenden E-Commerce-Site mit PHP und MySQL sind die Kosten für die Unterstützung von zwei Datenbanken, zwei Sprachen, zwei Webservern usw. Alternativ könnte ein Projekt eine völlig andere Bibliothek oder ein anderes Erscheinungsbild und verwenden fühlen und dies könnte Auswirkungen auf alle anderen Bordprojekte haben. Es ist wichtig, die Aufsicht eines Enterprise Architect zu haben, um zu verhindern, dass diese Art von "architektonischer Verschuldung" auftritt.
quelle
Hängt vom Organisationsdesign der Organisation ab und davon, ob sich das Produkt in einem Portfolio befindet. Größere, rollenorientierte Organisationen können leitende Architekten mit der Leitung dieser Art von Aktivitäten beauftragen.
Im Allgemeinen wird ein leitender Architekt Entwurfsentscheidungen erleichtern und leiten, da sie sich nicht nur auf einen Produktstau auswirken, sondern auch auf mehrere Produkte in einem Produktportfolio.
Kleinere, agile Unternehmen können sich auf Entwickler verlassen, die Systemexperten sind, die das Entwicklerteam bei der Ausrichtung auf das Architekturdesign unterstützen.
Letztendlich müssen architektonische Entscheidungen vom Lieferteam, das an dem Produkt arbeitet, vereinbart werden. Erfahrene Architekten und technische Leiter konzentrieren sich eher darauf, die Diskussion darüber zu erleichtern, wie das Design aussehen soll, als das Design zu diktieren.
quelle
Ich denke, die meisten Antworten heben bereits hervor, dass das Team nicht eine einzige Person diese Entscheidungen treffen sollte.
Was sie nicht berühren, ist ein anderes Agiles Prinzip:
Das Nachdenken über übergeordnete Architekturen und Entwurfsentscheidungen wird oft nicht einfach getroffen, was möglicherweise zu einem erheblichen Aufwand und einer unnötigen Komplexität führen kann, die das Erweitern erschwert.
Während Ihrer aktuellen Iteration sollten Sie Architektur- und Designentscheidungen für Ihre aktuellen Anforderungen treffen. Statt in eine Zukunft zu blicken, die niemals werden könnte, konzentrieren Sie sich nur auf das, was Sie jetzt brauchen. Wahrscheinlich ist YAGNI jetzt eine gut durchdachte Architektur. Lassen Sie das Team Stück für Stück damit umgehen.
Andere liest:
quelle