Festlegen von Entwicklungsstandards
Optimieren Sie die Produktivität, indem Sie Entwicklungspraktiken standardisieren, Qualitätstore erzwingen und den Fortschritt und Erfolg durch systematisches Change Management nachverfolgen. |
---|
Das Entwicklungsteam ist dafür verantwortlich, Probleme mit der Arbeitsauslastung vor der Veröffentlichung mit minimalen Reibungen zu lösen. Achten Sie auf die Effizienz der Entwickler und optimieren Sie für schnelle Bearbeitungszyklen, von der Codierung bis hin zu Testergebnissen. Implementieren Sie effektive und angemessene Prozesse, die technische Aktivitäten planen und standardisieren und den Konsens innerhalb des Teams und der Projektbeteiligten fördern.
Beispielszenario
Contoso Ticketing ist ein kleines Startup, das eine SAAS-Lösung für die Ticketing-Branche (Line of Business, LOB) für mittelständische Unternehmen bereitstellt. Das Onboarding neuer Kunden ist ein komplexer Prozess, bei dem Produktanpassungen und benutzerdefinierte Entwicklung erforderlich sind, um die Integration in die Umgebung des Kunden zu ermöglichen. Das Implementierungsteam verwendet Azure DevOps als Plattform für Zusammenarbeit und Bereitstellung, befolgt aber keine formale Entwicklungsmethode.
Einführung von Branchenstandards für die Entwicklung
Verwenden Sie eine Branchenstandardmethode für die Softwareentwicklung, die entsprechend auf die Anforderungen Ihrer Workload und die Teamgröße optimiert ist. Führen Sie ein Backlog, das von allen Rollen gemeinsam genutzt wird.
Die Einführung einer bekannten Methodik gibt den Rhythmus des Projekts vor. Sie entfernt Mehrdeutigkeiten im Prozess, indem sie den Teammitgliedern klare Erwartungen und Verantwortlichkeiten auferlegt.
Durch das Nachverfolgen anhand einer allgemeinen Liste können Aufgaben mit Standardpraktiken optimiert und priorisiert werden. Das Projekt wird bessere Chancen haben, rechtzeitig geliefert zu werden.
Standardmethoden helfen beim Risikomanagement. Mit granularen Reviews von Meilensteinen können Entwickler potenzielle Probleme beheben, bevor sie zu Showstoppern werden.
Herausforderung von Contoso
- Das Hauptprodukt des Unternehmens erfreut sich zunehmender Beliebtheit, und das Integrationsteam arbeitet nun an mehr gleichzeitigen Implementierungsprojekten als je zuvor. Um mit der erhöhten Arbeitsauslastung Schritt zu halten, musste das Team seinen Personalbestand erhöhen.
- Das Wachstum des Teams, gepaart mit dem Mangel an formalen Prozessen, hat zu einigen Herausforderungen geführt, z. B. unklare Kommunikation zwischen Teammitgliedern, zufällige und unproduktive Besprechungen sowie unregelmäßige und ungeplante Entwicklungszyklen. Einige der Onboarding-Projekte liegen jetzt hinter dem Zeitplan, und das Führungsteam des Unternehmens hat das Team gebeten, die notwendigen Änderungen vorzunehmen, um die Situation zu korrigieren.
Umsetzung und Ergebnisse
- Um diese Herausforderungen zu überwinden, entscheidet sich das Team, eine Scrum-Methodik zu übernehmen, ein beliebtes Agile-Framework für die Softwareentwicklung.
- Scrum wird dem Team helfen, einige der Probleme zu beheben, mit denen es konfrontiert ist. Unter anderem bietet Scrum eine klare und konsistente Struktur für den Entwicklungsprozess mit vordefinierten Rollen, Ereignissen, Artefakten und Regeln. Ein gemeinsamer Backlog und eine Reihe kurzer Entwicklungssprints würden dem Team helfen, an einer gemeinsamen Vision zu arbeiten und den Kunden regelmäßig und zuverlässig Wert zu liefern.
Nach links verschieben zum Testen
Stellen Sie Qualitätssicherungsprozesse sicher, die das frühzeitige Testen im Entwicklungslebenszyklus hervorheben. Schließen Sie alle Artefakte für geplante Testprozeduren ein, einschließlich Anwendungskomponenten, Infrastruktur und Vorgänge auf der Datenebene, die Teil eines Featurereleases oder einer Aktualisierung sind.
Behandeln Sie Artefakte als unveränderlich, wenn sie durch Umgebungen höher gestuft werden, und gewinnen Sie jedes Mal Vertrauen, wenn sie ein Qualitätstor bestehen.
Automatisieren Sie wo praktikabel Routineprüfungen.
Die Qualitätssicherung stellt sicher, dass funktionale und nichtfunktionale Anforderungen zuverlässig erfüllt wurden, was sich positiv auf Kunden auswirkt.
Herausforderung von Contoso
- Die Funktionsteststrategie des Workloadteams verwendet eine Kombination aus automatisierten und manuellen Tests. Ihr Testvorgehen deckt nicht alle Aspekte des Systems ab, z. B. Leistung, Sicherheit und Nutzbarkeit. Sie haben auch keine einheitliche Möglichkeit, ihren Code in verschiedenen Umgebungen vollständig automatisiert bereitzustellen, was zu Variabilität und Unsicherheit führt.
- Die Zunahme des Volumens und der Komplexität der Bemühungen des Kunden-Onboardings hat die Herausforderungen ihrer Teststrategie vergrößert, was zu häufigen Fehlern, Überarbeitungen und Kundenunzufriedenheit führt.
Umsetzung und Ergebnisse
- Das Workloadteam bemüht sich, seine Teststrategie zu verbessern und die Konsistenz und Vorhersagbarkeit ihrer Bereitstellungspipelines zu erhöhen.
- Zunächst erstellen sie Testpläne für jedes Feature oder jede Anpassung in der Entwicklung, die sowohl funktionale als auch nichtfunktionale Anforderungen abdeckt. Sie verwenden Azure DevOps, um ihre Testfälle, Testdaten und Testergebnisse zu verwalten. Sie richten Qualitätstore in ihren Bereitstellungspipelines ein, welche die Qualität des Codes, die Konfiguration und die Bereitstellung überprüfen, bevor sie die Artefakte in die nächste Umgebung hoch stufen.
- Nach der Implementierung dieser Verbesserungen sieht das Team eine Abnahme der Anzahl der fehlgeschlagenen Bereitstellungen wie auch der Anzahl der Fehler und Vorfälle in der Produktion. Dadurch haben Qualität, Liefergeschwindigkeit und Kundenzufriedenheit erheblich zugenommen.
Messen der Entwicklungseffizienz
Melden Sie Fortschritt und Trends, um die Effizienz zu messen. Verfolgen und melden Sie Trends in Fehlern, fehlgeschlagenen Updates, der Zeit für die Bereitstellung und Feedbackschleifen, um Verbesserungen in Ihren Entwicklungspraktiken zu fördern.
Herausforderung von Contoso
- Das Workloadteam hat kürzlich mehrere Änderungen implementiert, um die Qualität und Vorhersagbarkeit der Prozesse zum Kunden-Onboarding zu verbessern. Das Unternehmen steht jedoch vor der Herausforderung, die Auswirkungen dieser Änderungen zu messen und zu melden. Leider verfügt das Unternehmen nicht über zuverlässige Daten oder Metriken, um zu zeigen, wie viel die Qualität und Vorhersagbarkeit verbessert wurden oder welche Änderungen mehr zur Verbesserung beigetragen haben als andere.
- Das Unternehmen benötigt eine Möglichkeit, die Vorteile seiner Prozessinvestitionen zu quantifizieren und zu kommunizieren, damit es seine Ressourcen und den Aufwand in Zukunft priorisieren kann.
Umsetzung und Ergebnisse
- Das Team entscheidet, mit der Nutzung der Berichterstellungsfunktionen in AzDO zu beginnen, die das Team bereits verwendet, um Verbesserungen im Laufe der Zeit quantifizieren und die Ressourcenzuordnung für zukünftige Investitionen priorisieren zu können.
- Sie beginnen mit der Nutzung mehrerer sofort einsatzbereiter Berichte:
- Geschwindigkeitsberichte
- Kumulative Flussdiagramme
- Fehlertrends: Wie viele Fehler im Zeitverlauf erstellt, behoben und geschlossen werden, und wie sie sich auf Qualitätsmetriken auswirken.
- Bereitstellungsstatistiken: Wie lange es dauert, Software vom Code bis zur Produktion zu liefern, und wie es im Vergleich zu Zielen und Benchmarks aussieht.
- Das Team plant auch, in naher Zukunft angepasste Berichte mit Dashboard- und Power BI Analytics-Berichten zu entwickeln.