roger boesch technology solution professional - visual studio team system blogs.msdn.com/rogerboesch...

21
Software Development Process @ Microsoft Developer Division People & Tools Roger Boesch Technology Solution Professional - Visual Studio Team System blogs.msdn.com/rogerboesch Microsoft Schweiz GmbH

Upload: flora-french

Post on 18-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Software Development Process @ Microsoft Developer Division

People & Tools

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

Microsoft Schweiz GmbH

AgendaSoftware Development Process @ DevDiv

The software development processProcess layerPlanning layerWorking layer

Implementation in Team SystemWork Item typesFeatures

Feature planningControl of progress

Usage statistics of TFS

Process layerThe workflow – agile and easy to manage

Scenarios

ValueProposition

s

Experiences

Features

FeaturePlanning

Implementation

EstimationPlaninng

Checkpoint #1

Design

Checkpoint #2

Demo

Isolation

Release(s)

Iteration(s)

Feature Crews

QualityGatesQualityGatesQualityGates

Process layerThe process artefacts (WIT)

Scenario

Value Prop

Exp

Feature

Feature

Exp

Feature

Value Prop

Exp

Feature

Main objectives

Value proposition

Experiences

Features

Planning layerScenarios, value propositions and experiencesScenarios

The (Main-)business objectivesGoals of the division for a release

Value propositionsThe value from customer perspectiveAsk always: Why should the customer pay for it?A scenario contains multiple value propositions

ExperiencesBusiness level use caseWhat experience do we need that a customer realize the valueEpic story

Working layerWorking with features and feature crews

FeaturesThe feature we need to implement, to enable the experience to release the value props to meet the divisional goalFeatures are the break-down of the work.

Feature crewIndependent (isolated) team contains multiple membersInterdisciplinary (all roles needed to be indipendent)Fully responsible for an assigned feature

GoalA feature should be possible to implement in 4-6 weeks

Quality gatesEnsures constant qualityDevDiv: „More then 3000 persons working on over 700 features“

Working layerThe 6 Steps to a finished feature

Create a branch to ensure the isolated workCheckpoint #1 = Design

Show how the feature should be implemeneted

Checkpoint #2 = FunctionalityShow how the feature is implemented

If a feature is complete, all the changes from the main branch will be integrated into the feature branchBefore a feature branch is merged into the main branch, a set of quality gates must be reached. (Ex. >= 70% code coverage through automated testing)When all quality gates are reached, the feature can be merged. Quality gates ensuring, that the main release is always in a (nearly) stable state

Working layerThe life cycle of a feature

Working layerThe 16 quality gates for a feature (Extract)

Security Plan

Static Code Analysis

Code Coverage

No performance regressions

Localization testing

API reviews

All bugs fixed

Processes are done by People…and they need tools to do so!Process and tools support individuals, teams and organizations frictionlessly and transparently

“How we use our own tools to develop software”!

Work Item Types Implementation in Team System

Value PropositionsScenarios are implemented as fields (not as WIT)Connection to experiences through linksText field containing prosa text

ExperiencesConnection to value propositions through linksConnection to features through links

FeaturesConnection to experiences through linksDefinition fields (Ex. planning, progress etc.)Text field with a short descriptionOnePage link (Url) containing more details

Work Item Type: Value propositionImplementation in Team System

Feature: PlanningSimplicity is the key!

Excel Sheet with values from TFSThe data from the estimation is delivered by TFS

The input is done in different other toolsAdvantage: Central project data warehouse (single source)

Order of the features is top-down (ranking)Compare with team capacity

Yellow>= 70%, Red>= 100%

Quick overview what’s possible and what’s not possibleYellow/Red game:

Find the cut-line in the feature list (playground)Example: Move larger features down, but move also multiple smaller features above the cut-lineTry to remove most of the yellow and red entries

Feature: Control progressOverview

Start- and end datesFeature start

Commitment of checkpoint #1 (Date)Estimation checkpoint #2 (Date) and feature end (Date)

Checkpoint #1Commitment of checkpoint #2 (Date) and Feature end (Date)

Checkpoint #2Commitment of feature end (Date)

Progress in percentageOpen and closed work (Features) in percentage

Risk levelGreen: Estimated date would be reachedYellow: Estimated date is not sure (Risk)Red: Estimated date will not be reached

Prosa text contains the state of the feature crew

Team Foundation Server @ DevDivInternal usage (September 2008)Developer divsion

Users4500 registered users

Work items490‘000 work items (All types)290‘000 attached files

Version control370 Mio. files560‘000 ckeck-in‘s57‘000 shelvesets15‘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.