roger boesch technology solution professional - visual studio team system blogs.msdn.com/rogerboesch...
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 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: ExperienceImplementation in Team System
Work Item Type: FeatureImplementation 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: PlanningImplementation in Team System
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
Feature: Control progressImplementation in Team System
Feature Crews: Control progressImplementation in Team System (Report)
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.