Roger Boesch Technology Solution Professional - Visual Studio Team System blogs.msdn.com/rogerboesch...

20
Software Entwicklungs- Prozess @ Microsoft Developer Division Roger Boesch Technology Solution Professional - Visual Studio Team System blogs.msdn.com/rogerboesch Microsoft Schweiz GmbH

Transcript of Roger Boesch Technology Solution Professional - Visual Studio Team System blogs.msdn.com/rogerboesch...

Page 1: Roger Boesch Technology Solution Professional - Visual Studio Team System blogs.msdn.com/rogerboesch Microsoft Schweiz GmbH.

Software Entwicklungs-Prozess @ Microsoft Developer Division

Roger BoeschTechnology Solution Professional - Visual Studio Team Systemblogs.msdn.com/rogerboesch

Microsoft Schweiz GmbH

Page 2: Roger Boesch Technology Solution Professional - Visual Studio Team System blogs.msdn.com/rogerboesch Microsoft Schweiz GmbH.

Agenda

Der ProzessProzessebenePlanungsebeneArbeitsebene

Implementierung in Team SystemWork Item TypenFeature

PlanungFortschrittskontrolle

Team Foundation Server: Das Mengengerüst

Page 3: Roger Boesch Technology Solution Professional - Visual Studio Team System blogs.msdn.com/rogerboesch Microsoft Schweiz GmbH.

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

Page 4: Roger Boesch Technology Solution Professional - Visual Studio Team System blogs.msdn.com/rogerboesch Microsoft Schweiz GmbH.

ProzessebenDie Prozess Artefakte (WIT)

Scenarios

Value Props

Exp

Feature

Feature

Exp

Feature

Value Props

Exp

Feature

Main objectives

Value proposition

Experiences

Features

Page 5: Roger Boesch Technology Solution Professional - Visual Studio Team System blogs.msdn.com/rogerboesch Microsoft Schweiz GmbH.

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

Page 6: Roger Boesch Technology Solution Professional - Visual Studio Team System blogs.msdn.com/rogerboesch Microsoft Schweiz GmbH.

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

Page 7: Roger Boesch Technology Solution Professional - Visual Studio Team System blogs.msdn.com/rogerboesch Microsoft Schweiz GmbH.

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

Page 8: Roger Boesch Technology Solution Professional - Visual Studio Team System blogs.msdn.com/rogerboesch Microsoft Schweiz GmbH.

ArbeitsebeneLife Cycle eines Features

Page 9: Roger Boesch Technology Solution Professional - Visual Studio Team System blogs.msdn.com/rogerboesch Microsoft Schweiz GmbH.

ArbeitsebeneDie 16 Quality Gates eines Features (Auszug)

Security Plan

Static Code Analysis

Code Coverage

No performance regressions

Localization testing

API reviews

All bugs fixed

Page 10: Roger Boesch Technology Solution Professional - Visual Studio Team System blogs.msdn.com/rogerboesch Microsoft Schweiz GmbH.

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

Page 11: Roger Boesch Technology Solution Professional - Visual Studio Team System blogs.msdn.com/rogerboesch Microsoft Schweiz GmbH.

Work Item Typ: Value PropositionImplementierung in Team System

Page 14: Roger Boesch Technology Solution Professional - Visual Studio Team System blogs.msdn.com/rogerboesch Microsoft Schweiz GmbH.

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

Page 16: Roger Boesch Technology Solution Professional - Visual Studio Team System blogs.msdn.com/rogerboesch Microsoft Schweiz GmbH.

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

Page 18: Roger Boesch Technology Solution Professional - Visual Studio Team System blogs.msdn.com/rogerboesch Microsoft Schweiz GmbH.

Feature Crews: FortschrittskontrolleImplementierung in Team System (Report)

Page 19: Roger Boesch Technology Solution Professional - Visual Studio Team System blogs.msdn.com/rogerboesch Microsoft Schweiz GmbH.

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

Page 20: Roger Boesch Technology Solution Professional - Visual Studio Team System blogs.msdn.com/rogerboesch Microsoft Schweiz GmbH.

© 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.