Software Entwicklungs-Prozess @ Microsoft Developer Division
Roger BoeschTechnology Solution Professional - Visual Studio Team Systemblogs.msdn.com/rogerboesch
Microsoft Schweiz GmbH
Agenda
Der ProzessProzessebenePlanungsebeneArbeitsebene
Implementierung in Team SystemWork Item TypenFeature
PlanungFortschrittskontrolle
Team Foundation Server: Das Mengengerüst
ProzessebeneDer Workflow
Scenarios
ValueProposition
s
Experiences
Features
Planung
Realisierung
SchätzungPlanung
Checkpoint #1
Design
Checkpoint #2
Demo
QualityGates
Isolation
Release(s)
Iteration(en)
Feature Crews
ProzessebenDie Prozess Artefakte (WIT)
Scenarios
Value Props
Exp
Feature
Feature
Exp
Feature
Value Props
Exp
Feature
Main objectives
Value proposition
Experiences
Features
PlanungsebeneScenarios, Value Propositions und ExperiencesScenarios
(Main-) Business Objectives (Ziele)Ziele der Division für einen Release
Value PropositionsDer Wert aus KundensichtWarum soll der Kunde dafür bezahlenEin Szenario enthält mehrere Value Propositions
ExperiencesBusiness level Use CaseErkennungswert eines Values
Arbeitsebene Arbeiten mit Features und Feature Crews
FeaturesMehrere Features implementieren eine Experience, die notwendig ist, um eine Value Proposition zu erzielen um wiederum ein Division Ziel zu erreichen
Feature CrewUnabhängiges (isoliertes) Team aus mehreren PersonenInterdisziplinär zusammengesetztAllein zuständig für zugewiesene Features
ZielEin Feature sollte innerhalb von 4-6 Wochen umsetzbar sein
Quality GatesSicherstellen gleichbleibender QualitätMehr als 3000 Personen arbeiten an über 700 Features
Arbeitsebene Die 6 Schritte zum fertigen Feature
Erstellen eines eigenen Branches um ein isoliertes Arbeiten sicherzustellenCheckpoint #1 = Design: Präsentation, wie ein Feature umgesetzt werden sollCheckpoint #2 = Funktionalität: Die Feature Crew präsentiert, wie das Feature umgesetzt wurdeIst ein Feature fertig, werden alle Änderungen aus dem Main Branch integriertBevor ein Feature in den Main Branch überführt wird, muss ein Set an Quality Gates erreicht sein. (Bsp. >= 70% Code Coverage durch autom. Testing)Sind die Quality Gates erreicht, darf eingechekt werden. Quality Gates stellen sicher, dass der Main Release immer nahezu Release fähig ist
ArbeitsebeneLife Cycle eines Features
ArbeitsebeneDie 16 Quality Gates eines Features (Auszug)
Security Plan
Static Code Analysis
Code Coverage
No performance regressions
Localization testing
API reviews
All bugs fixed
Work Item Typen Implementierung in Team System
Value PropositionsScenarios sind implementiert als Felder (kein WIT)Verbindung zu Experiences über LinksText Feld enthält den beschreibenden Text
ExperiencesVerbindung zu Value Propositions über LinksVerbindung zu Features über Links
FeaturesVerbindung zu Experiences über LinksFeldern zur Definition (Bsp. Planung, Progress etc.)Beschreibungsfeld enthält KurzbeschreibungOnePage Link (Url) mit mehr Details
Work Item Typ: Value PropositionImplementierung in Team System
Work Item Typ: ExperienceImplementierung in Team System
Work Item Typ: FeatureImplementierung in Team System
Feature: PlanungBeschreibung
Mit TFS verknüpftes Excel SheetDie Daten der Aufwand Schätzungen kommen direkt vom TFS
Die Eingabe erfolgt in verschiedenen anderen ToolsVorteil: Zentrales Project Data Warehouse
Reihenfolge der Features Top-Down (Ranking)Vergleich der Auslastung mit Team Kapazität
Gelb >= 70%, Rot >= 100%
Schneller Überblick, was möglich ist und was nichtYellow/Red Game:
Finden der Cut-Line in der Featureliste (Spielwiese)Beispielsweise werden grössere Features nach unten verschoben, dafür kommen viele kleinere nach obenVersuch möglichst viele Gelb- und Rot-Einträge “verschwinden” zu lassen
Feature: PlanungImplementierung in Team System
Feature: FortschrittskontrolleBeschreibung
Start- und End Datum, Zwei Check-Point DatenFeature Beginn
Commitment Checkpoint #1 (Datum)Schätzung Checkpoint #2 (Datum) und Feature Abschluss (Datum)
Checkpoint #1Commitment Checkpoint #2 (Datum) und Feature Abschluss (Datum)
Checkpoint #2Commitment Feature Abschluss (Datum)
Fortschritt in ProzentAusstehende und fertige Arbeit (Features) in Prozent
Risiko LevelGrün: Geschätztes Datum wird erreichtGelb: Geschätztes Datum ist unsicher (Risiko)Rot: Geschätzes Datum wird nicht erreicht
Prosatext, der den Status der Feature Crew beschreibt
Feature: FortschrittskontrolleImplementierung in Team System
Feature Crews: FortschrittskontrolleImplementierung in Team System (Report)
Team Foundation Server @ DevDivDas Mengengerüst (Juli 2008)Benutzer
4300 registrierte Benutzer2400 „aktive“ Benutzer
Work Items450‘000 Work Items (Alle Typen)250‘000 verknüpfte Dokumente
Versionskontrolle312 Mio. Dateien480‘000 CkeckIns40‘000 Shelvesets und 11‘000 Workspaces
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.