Implementieren von agilen Methoden, die skaliert werden
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018
Enterprise-Organisationen übernehmen agile Methoden aus vielen Gründen. Prime aus diesen Gründen:
- Kürzere Zeit für den Markt, beschleunigen Sie die Produktbereitstellung
- Verbessern der Organisationseffizienz zum Verwalten von Änderungsprioritäten
- Verbessern der Softwarequalität und Der Übermittlungsvorhersage
- Verbessern der Projektsichtbarkeit und Reduzieren des Projektrisikos
Wenn Ihre Organisation wächst, möchten Sie Ihre Methoden skalieren, um agile zu bleiben und sich zu ändern. Berücksichtigen Sie dazu diese beiden Leitprinzipien:
- Wie sieht der Erfolg für Sie, Ihre Teams und Ihre Organisation aus? Was ist von Interesse: On-Time-Lieferung? Produktqualität? Berechenbarkeit? Kundenzufriedenheit?
- Kehren Sie zu ersten Prinzipien zurück, kehren Sie zu den Prinzipien und gemeinsamen Werten zurück, die im agilen Manifesto aufgezählt wurden, wie von Ken Schwaber, einem der Gründer von Scrum:
- "Werte und Prinzipien skalieren, aber Methoden sind Kontext vertraulich."
- "Halten Sie die Werte, behalten Sie die Prinzipien, denken Sie für sich selbst. Eine kernige Prämisse von Agile ist, dass die Menschen, die die Arbeit tun, die am besten herausfinden können, wie sie ausgeführt werden können."
Erstellen von Rhythmus und Fluss
Indem Sie eine gemeinsame Kadenz und eine Reihe von regelmäßigen Kommunikationen übernehmen, erstellen Sie einen konstanten Aktivitätsfluss in der gesamten Organisation. Methoden, die dazu beitragen, Rhythmus und Fluss innerhalb größerer Organisationen zu schaffen:
- Gemeinsame Kadenz: Regelmäßige Sprints und Veröffentlichungen schaffen den Rhythmus des Geschäfts. Alle Teams arbeiten an einer freigegebenen Kadenz, hilft bei allen Koordinations- und Zusammenarbeitsaktivitäten.
- Sprint-E-Mails: Um die Organisation und alle Teams über den Fortschritt und die Pläne von Featureteams informiert zu halten, kann jedes Featureteam eine Zusammenfassung ihrer vorherigen Sprintergebnisse und aktuellen Sprintpläne senden.
- Sprint-Demos: Ein schnell-2 bis 3 Minuten-Video, das ein neues Feature veranschaulicht, das das Team produziert hat. Links zu solchen Videos können innerhalb von Sprint-E-Mails enthalten sein.
- Präsentationsbesprechungen: Um andere Teams zu informieren und Feedback zu Software in der Entwicklung zu bitten, zeigen Teams die Arbeit an, die sie getan haben. Führen Sie diese Besprechungen in regelmäßigen Abständen im gesamten Projektlebenszyklus aus, und öffnen Sie sie allen Interessierten.
- Fehlerzusammenfassungs-E-Mails: Um Einblicke in die Produktqualität zu unterstützen und die Wartung der Fehlerdisziplin zu fördern, teilen Sie regelmäßig Qualitätsmetriken mit der Organisation. Diese Metriken können aktive Fehler pro Featureteam, Fehlertrends und Fehler pro Techniker enthalten.
- Koordinationsbesprechungen: Halten Sie Besprechungen fest, die Teams in regelmäßigen Abständen oder so oft wie erforderlich koordinieren, um überlappende Ziele, Abhängigkeiten und Risiken zu behandeln.
Interagieren mit Kunden
Die Einbindung der Kunden während des gesamten Produktlebenszyklus ist ein primäres Agile-Prinzip. Ermöglichen Sie jedem Team, direkt mit Kunden in den Features zu interagieren, die sie besitzen.
- Kontinuierliches Feedback: Erstellen sie in Kundenfeedbackschleifen. Diese Schleifen können viele Formen annehmen:
- Kundenstimme: Machen Sie es kunden einfach, Feedback zu geben, Ideen hinzuzufügen und über die Features der nächsten Generation zu abstimmen. Das Geben von Feedback erfolgt häufig über eine dedizierte Website.
- Produktfeedback: In-Product Feedback-Schaltflächen sind eine weitere Möglichkeit, Feedback über die Produkterfahrung oder bestimmte Features zu erhalten.
- Kundendemos: Regelmäßig geplante Demos, die Feedback von Ihren Kunden anfordern, können Ihnen helfen, Produkte der nächsten Generation zu gestalten und Sie auf dem Laufenden zu halten, um Anwendungen zu erstellen, die Ihre Kunden nutzen möchten.
- Frühe Adopterprogramme: Solche Programme sollten mit der Idee entwickelt werden, dass alle Teams möglicherweise als punkt teilnehmen möchten. Frühe Adopter erhalten Zugriff auf frühe Versionen von Arbeitssoftware, die sie dann Feedback geben können. Häufig funktionieren diese Programme, indem Sie Feature-Flags für eine frühe Adopterliste aktivieren.
- Datengesteuerte Entscheidungen: Finden Sie Möglichkeiten, Ihr Produkt zu instrumentieren, um nützliche Daten zu erhalten und verschiedene Hypothesen zu testen. Helfen Sie, zu einer experimentfreundlichen Kultur zu fahren, die das Lernen feiert.
Verbessern der Sichtbarkeit des Projekts
Je mehr Einblicke Sie und Ihre Teams in das Ziel, die Vision und den Fortschritt der arbeit haben, desto besser können Sie Risiken reduzieren und Abhängigkeiten verwalten.
- Teamstruktur: Unabhängig davon, wie groß Ihre Organisation wird, strukturieren Sie Ihre Organisation um kleine Teams von 6 bis 9 Skalierungen. Erstellen Sie vertikale, autonome Featureteams , die unter Portfolioverwaltungsbereichen gruppiert sind.
- Struktur der Arbeitsaufschlüsselung: Aufschlüsselung großer Ziele, Features oder Anforderungen in kleinere bleibt ein stabiles Projektmanagement. Durch das Aufteilen von Arbeit in ähnliche Aufgaben können Teams bessere Schätzungen vornehmen und Risiken und Abhängigkeiten identifizieren.
- Konsolidierte Ansichten: Verwenden Sie Ihre Online-Tracking-Tools, um Arbeit zu aggregiert, um Wissen über Teams hinweg zu erhalten. Erstellen Sie Dashboards, um Fortschritt und Trends anzuzeigen.
- Erfahrungsüberprüfungen: Diese Besprechungen, die vor der Entwicklung an einem Feature durchgeführt werden, werden verwendet, um Die Führung in Szenarien und Prioritäten zu informieren, Feedback zu sammeln, Erwartungen festzulegen und alle teamübergreifenden Probleme über das Feature aufzudecken.
Ermöglichen einer produktiven Mitarbeiterschaft
Einige spezifische agile Methoden, die gut skalieren und zu glücklicheren, engagierten und produktiven Mitarbeitern führen, umfassen:
- Eingebettete Führung: Ermöglichen Sie Teams und Führungskräften innerhalb der Organisation, so viel wie möglich selbst zu organisieren und selbst zu verwalten. Die Teamautonomie erhöht die Teameffizienz des Organisationsteams. Stellen Sie sicher, dass Teams über das Unternehmens-Sponsoring verfügen, das erfolgreich sein muss.
- Tägliche Stand-ups: Oder, Scrum-Besprechungen helfen Teams dabei, sich auf das zu konzentrieren, was sie täglich tun müssen, um ihre Fähigkeit zu maximieren, ihre Sprintverpflichtungen zu erfüllen. Wenn Organisationen wachsen, sollten sie diese Besprechungen in Betracht ziehen, damit die teamübergreifende Teilnahme bei Bedarf auftreten kann.
- Scrum of Scrums: Tägliche Stand ups von Mitgliedern aus unterschiedlichen agilen Teams treffen täglich, um abgeschlossene, nächste Schritte und Probleme oder Blöcke in ihren repräsentativen Teams zu melden.
- Teamkommunikation: Bereitstellen und ermutigen Sie Teams, ihre Praktiken und Anleitungen zu teilen, auf die sie und andere Teams über das Unternehmensnetzwerk zugreifen können. Allgemeine Tools, die für diesen Zweck verwendet werden, umfassen Teamwikis, OneNotes oder Markdown-Websites.
- Zusammenarbeit: Ermutigen Sie informelle Team-to-Team-Kommunikation und Zusammenarbeit innerhalb des Teams. Institutionelle Methoden wie Codeüberprüfungen, Designüberprüfungen, Spezifikationsüberprüfungen erhöhen nicht nur die Teamzusammenarbeit, sondern helfen dabei, individuelle und allgemeine Unternehmenskompetenz zu entwickeln.
Verbessern der Organisationskultur
Sie verbessern die Organisationseffizienz, indem Sie an der Kultur teilnehmen, die Sie erstellen möchten. Kulturänderungen treten auf, wenn Einzelpersonen, Teams und Organisationen eine oder mehrere fortlaufende Verbesserungspraktiken übernehmen. Mehrere skalierbare agile Methoden umfassen:
Retrospektive: Indem Sie Fragen wie: "Was war gut?", "Was sollten wir anders tun?", und "Was sollten wir beenden?" helfen Teams zu reflektieren, wie sie ihre Prozesse und Methoden verbessern können. Retrospektive helfen Teams dabei, die Arbeit gut zu gestalten und welche Verbesserung erforderlich ist. Retrospektiven können jederzeit und überall durchgeführt werden. Die Institutionalisierung bestimmter Retrospektiven bei einer regelmäßigen Kadenz hilft jedoch, kontinuierliche Verbesserungspraktiken zu institutionalisieren. Beispiel:
Sprint-Retrospektive können Teams helfen, Bereiche zu identifizieren, die sich bei einer regelmäßigen Kadenz verbessern.
Release-Retrospektive können Organisationen dabei helfen, Bereiche zu identifizieren, um Kommunikation und interne Methoden und Kraftstoffverbesserungen für die nächste Version zu verbessern.
Betriebsüberprüfungen: werden in der Regel monatlich gehalten und umfassen Vertreter aus einem gesamten Wertstrom. Über ein Portfolio von Projekten und anderen Initiativen und die Verwendung objektiver, quantitativer Daten, entwerfen Sie diese Retrospektiven, um Diskussionen über die Dynamik der Leistung zwischen Teams zu provozieren.
Sehen Sie sich das Agile-Ressourcenwiki für Ideen, Tipps und Tools für die Planung und Durchführung von Retrospektiven an. Siehe auch die Marketplace-Retrospektives-Erweiterung.
Verbesserungsverfolgungsboard: Gute Ideen zur Verbesserung von Prozessen können jederzeit entstehen. Die Erfassung dieser Ideen, um zu diskutieren und zu entscheiden, wie sie schnell handeln, ist ein Schlüssel zur Unterstützung der Prozessverbesserungsbemühungen.
Ein Whiteboard bietet alle einfachen und visuellen Mittel, mit denen Ideen erfasst werden sollen. Außerdem können Sie ein Verbesserungsverfolgungsteam erstellen und Ideen erfassen, die Sie auf einem elektronischen Kanban-Board verfolgen.
Institutionelle Freigabe: Teilen von bewährten Methoden und Kommunikation von Ideen hilft allen Teams in einer Organisation zu wachsen und zu verbessern. Die Entwicklung einer Kultur des Lernens ist wichtig, um diese und andere kontinuierliche Verbesserungsaktivitäten zu unterstützen. Einige Ideen, die berücksichtigt werden sollen:
In-House-Wikis
In-House-Verteilerlisten
Hackathon-Wochen oder 10 % Hackzeit
Internes agiles Supportteam zur Unterstützung von Teams, die Agile-Methoden übernehmen
Das Kulturspiel bietet eine gute Ressource für Agile-Manager, um Teams dabei zu unterstützen, Agile zu übernehmen und bewährte Methoden zu teilen.
Praxisgemeinschaften: Unterstützen interner gemeinsamer Disziplinen (z. B. DBAs, SW Architects, UX-Entwurf)
Arbeitssoftware
"Liefern Sie Arbeitssoftware häufig, von einigen Wochen bis zu einigen Monaten, mit einer Vorliebe für die kürzere Zeitskala."
"Arbeitssoftware ist das primäre Maß an Fortschritt."
- Agile Manifesto
Da die Menge an Software, Features und Komplexität erhöht wird, müssen Sie Praktiken einführen, die Ihnen dabei helfen, Verbrauchslösungen zu produzieren.
- Featurekennzeichnungen: Verwenden Sie Featurekennzeichnungen, um den Zugriff auf verschiedene Features zu aktivieren oder zu deaktivieren. Bieten Sie Unterstützung für das Aktivieren von Features für frühe Adopter, um Arbeitsfeedback zu erhalten.
- Veröffentlichungszüge: Stellen Sie einen anderen Typ von Cadence bereit, um mindestens eine Funktion bereitzustellen. Featureteams verstehen den vordefinierten Zeitplan für das Pushen neuer Features und planen ordnungsgemäß. Veröffentlichungszüge können demselben Sprint-Kadenz entsprechen, der für die Organisation hergestellt wird, oder bei einer anderen Abweichung auftreten. Weitere Informationen zum Einrichten von Sprints und Release-Zügen finden Sie unter Scaled Agile Framework .
- Kontinuierliche Integration: Übernehmen Sie Prozesse, die manuelle Arbeit beseitigen und stattdessen den Softwarefluss über den Test,Build und die Bereitstellung von Zyklen automatisieren.
- Interne Open Source: Bringen Sie den Wert und die Ethos, die in der Open Source Software Community entwickelt wurden, in Ihre internen Entwicklungsteams.
Verwandte Artikel
Zusammen mit den oben genannten Methoden finden Sie weitere Anleitungen zur Skalierung Ihrer Agile-Tools in den folgenden Artikeln:
- Agile-Kultur
- Hinzufügen von Teams
- Portfoliomanagement
- Teamübergreifende Sichtbarkeit
- Skalierung von Agile für große Teams
Branchenressourcen
Methoden, die nicht skaliert werden
- Schätzung großer Initiativen: Teil der Wasserfallprojektmethoden sind die Schätzung von Ressourcen und Terminplänen. Je größer die Initiativen sind, desto weniger wahrscheinlich waren diese Schätzungen von jedem Wert. Da Projekte wachsen, können Risiken und unvorhergesehene Probleme und Hindernisse entstehen, was viele Schätzungen ungültig macht.
- Geschwindigkeit: Während die Teamgeschwindigkeit eine nützliche Metrik zur Verfügung stellen kann, um zu erfahren, wie viel Arbeit jedes Teams während eines Sprintzyklus abschließen kann, können Sie keine Teamgeschwindigkeiten hinzufügen, um aussagekräftige oder nützliche Metriken zu gewinnen. Außerdem ist die Verwendung von Geschwindigkeiten, die von vielen Teams gewonnen wurden, um zuverlässig lange Reichweitenprognosen abzuschließen, problematisch. Teams variieren in der Art und Weise, wie sie ihre Arbeit schätzen, und diese Variationen steigen im Laufe der Zeit.
- Top-down-Präskriptive Lösungen: Eine Größe passt nicht zu allen, und eine Lösung passt in der Regel nicht zu allen Teams. Die Unterstützung der Teamautonomie bedeutet, dass Teams ihre eigenen Lösungen finden können.