Visual Studio 2005 Team System: Mastering Software Project Management with Process Guidance and Office System 2003 Integration
Visual Studio 2005 Team System: Mastering Software Project Management with Process Guidance and Office System 2003 Integration
Beny Rubinstein Beny Rubinstein Randy MillerRandy MillerProduct Manager Product Manager Program Program ManagerManager
Visual Studio 2005 Team SystemVisual Studio 2005 Team SystemMicrosoft CorporationMicrosoft Corporation
Technical Breakout Session: DEV347Technical Breakout Session: DEV347
GoalsGoals
In this session we will use Visual In this session we will use Visual Studio 2005 Team System to project Studio 2005 Team System to project manage and build new functionality manage and build new functionality in the Adventure Works application. in the Adventure Works application.
This session will also focus on some This session will also focus on some of the artifacts associated with the of the artifacts associated with the integrated process guidance, MSF, in integrated process guidance, MSF, in Visual Studio 2005 Team System.Visual Studio 2005 Team System.
The Rules Have ChangedThe Rules Have ChangedFrom AnticipationFrom Anticipation
(Define, Design, Build)(Define, Design, Build)
To AdaptationTo Adaptation(Envision, Explore, Adapt)(Envision, Explore, Adapt)
AdventureWorks ProjectPlan
ID Task Name Start Finish DurationJul 2004
18 19 20 21 22 23 24 25 26 27 28 29 30 31
1 1d7/19/20047/19/2004Define
2 5d7/26/20047/20/2004Design
3 1d7/27/20047/27/2004Build
4 1d7/28/20047/28/2004Deploy
5 1d7/29/20047/29/2004Party
???????????
Agile vs. FormalAgile vs. Formal
AgileAgile
““Evolve and adapt”Evolve and adapt”
Ideal for Ideal for Competitive Competitive EnvironmentsEnvironments
Rely on PeopleRely on People
Plan as you goPlan as you go
Drawbacks: Project Drawbacks: Project Plan can’t keep up Plan can’t keep up with changewith change
FormalFormal
““Plan and Plan and optimize”optimize”
Ideal for Regulated Ideal for Regulated EnvironmentsEnvironments
Rely on ProcessRely on Process
Plan in advancePlan in advance
Drawback: Project Drawback: Project Plan becomes out Plan becomes out of date or does not of date or does not reflect realityreflect realityEither way, Project Management is a lot of work
State of Project ManagementState of Project Management
• PMI• “Science” of Project Management
• Risk Assessment• Planning and Scheduling• Work Breakdown
Primitive
“Are you done yet?”
Primitive
Status Reports
Reporting Continuum
Tedium
Change Management
Work Item Tracking
Reporting
Project Site
Visual Studio
Team Foundation
Integration Services
Project Management
Pro
cess
an
d A
rch
itect
ure
Pro
cess
an
d A
rch
itect
ure
G
uid
an
ceG
uid
an
ce
Dynamic Code Analyzer
Visual Studio
Team Architect
Static Code Analyzer
Code Profiler
Unit Testing
Code Coverage
Visio and UML Modeling
Team Foundation Client
VS Pro
Class Modeling
Load Testing
Manual Testing
Test Case Management
Application Modeling
Logical Infra. Modeling
Deployment Modeling
Visual Studio
Team DeveloperVisual Studio
Team Test
Vis
ual S
tud
io In
du
stry
V
isu
al S
tud
io In
du
stry
Part
ners
Part
ners
Visual Studio Team SystemVisual Studio Team System
My team is on the same pageMy team is on the same page
Organize the data to make senseOrganize the data to make sense
Use the tools I wantUse the tools I want
Manage the project, not the data Manage the project, not the data gatheringgathering
New angles on project success beyond New angles on project success beyond bugsbugs
Based on industry proven practicesBased on industry proven practices
Unobtrusive on you and the teamUnobtrusive on you and the team
How to be Productive and VisibleHow to be Productive and Visible
Randy MillerRandy MillerProgram ManagerProgram ManagerVisual Studio 2005 Team SystemVisual Studio 2005 Team System
A Good Start… A Good Start…
Elements of VisibilityElements of VisibilityWhatWhat
What people are What people are working onworking onWhat’s critical What’s critical How does is relate?How does is relate?Data analyticsData analytics
HowHowWork is changing Work is changing handshandsIt should be done “this It should be done “this way”way”
Elements of Elements of ProductivityProductivity
WhatWhatUp to date information Up to date information Tools for the jobTools for the job
HowHowGet started as soon as Get started as soon as I canI canDon’t remember, just Don’t remember, just workworkLightweightLightweightNothing gets in the Nothing gets in the waywayCustomizableCustomizable
Role of the Project ManagerRole of the Project Manager
““A good project manager looks at a A good project manager looks at a small number of really important small number of really important elements and makes project elements and makes project decisions accordingly.”decisions accordingly.”
The Fallacy of Real-Time PMThe Fallacy of Real-Time PMProject Plans Project Plans
Capture a point in timeCapture a point in time
Require contextRequire context
Cannot change by the minuteCannot change by the minute
Are an important management toolAre an important management tool
Agile vs. FormalAgile vs. Formal
AgileAgile
““Evolve and adapt”Evolve and adapt”
Ideal for Ideal for Competitive Competitive EnvironmentsEnvironments
Rely on PeopleRely on People
Plan as you goPlan as you go
Drawbacks: Project Drawbacks: Project Plan can’t keep up Plan can’t keep up with changewith change
FormalFormal
““Plan and Plan and optimize”optimize”
Ideal for Regulated Ideal for Regulated EnvironmentsEnvironments
Rely on ProcessRely on Process
Plan in advancePlan in advance
Drawback: Project Drawback: Project Plan becomes out Plan becomes out of date or does not of date or does not reflect realityreflect realityEither way, Project Management is a lot of work
Microsoft Solutions Microsoft Solutions Framework Version Framework Version 4.04.0
Microsoft Solutions Microsoft Solutions Framework Version Framework Version 4.04.0
Microsoft Solutions FrameworkMicrosoft Solutions Framework
MSF offers guidance in MSF offers guidance in how to organize people how to organize people
and projects to plan, build, and projects to plan, build, and deploy technology and deploy technology
solutions solutions successfully and successfully and
effectivelyeffectively
Methodware Magic QuadrantGartner Research, 2003Methodware Magic QuadrantGartner Research, 2003
Source: Gartner Research (August 2003)
Don’t Repeat Others’ MistakesDon’t Repeat Others’ MistakesUxUx
Disconnected from HelpDisconnected from HelpDisconnected from ToolsDisconnected from ToolsRoute maps not obviousRoute maps not obvious
ContentContentTries to satisfy everyone, but pleases no one (sometimes agile, Tries to satisfy everyone, but pleases no one (sometimes agile, sometimes heavy)sometimes heavy)Mismatch of Tool Help, Templates and GuidanceMismatch of Tool Help, Templates and GuidanceToo much content - overwhelmingToo much content - overwhelmingDoesn’t feel like a coherent, e2e wholeDoesn’t feel like a coherent, e2e whole
CustomizationCustomizationHad to customize to get startedHad to customize to get startedWeak examples when customizingWeak examples when customizingNot always recognizable after customizationNot always recognizable after customization
Guidance not automated with workflowGuidance not automated with workflow
"Rational/RUP training is a big expense and methodology is a big "Rational/RUP training is a big expense and methodology is a big thorn in our side. I hope you guys do it right."thorn in our side. I hope you guys do it right."
Learn What Others Do WellLearn What Others Do Well
Content organized for maintenance Content organized for maintenance
Clear metamodelClear metamodel
Clear plug-in modelClear plug-in model
Many navigation pathsMany navigation paths
Graphical navigationGraphical navigation
MSF (v4.0) is…MSF (v4.0) is…
The right content for the right The right content for the right person at the right timeperson at the right time
1.1. An agile software development An agile software development processprocess
2.2. A formal software development A formal software development processprocess
3.3. Framework for customers and partners Framework for customers and partners to implement custom software to implement custom software development processdevelopment process
MSF Integration is seamlessMSF Integration is seamless
Accessible/EmbeddedAccessible/EmbeddedExposed within HelpExposed within Help
CentralizedCentralizedDelivered via Team Foundation ServerDelivered via Team Foundation Server
CurrentCurrentUpdated from MSDNUpdated from MSDN
CustomizableCustomizableExtended by GSIs, ISVs, Enterprise PMOsExtended by GSIs, ISVs, Enterprise PMOs
Book seriesBook seriesAddison Wesley & MS LearningAddison Wesley & MS Learning
Broad Industry SupportBroad Industry Support
AdventureWorks Project TeamAdventureWorks Project Team
Jacqui AckermanJacqui AckermanProject Project ManagerManager
Art BensonArt BensonArchitectArchitect
Mort GainesMort GainesDeveloperDeveloper
Renee DavisRenee Davis TesterTester
Larry Sykes Larry Sykes Product Product ManagerManager
Run Test Identify a BugWrite Validation Tests
Plan a Scenario
Implement a Development Task
Create Solution Architecture
Create a Scenario
Define Personas
Apply for Loan: Fill out Application
Book Loan: Create Loan Agreement
Evaluate Request: Find Credit Score
Create Scenario List Write ScenariosPrioritize Scenario List
1
Review Scenarios
Decompose System
Run a Test Case
Determine Interfaces
< Back Next > Cancel
Wizard Text
Wizard TitleWizard Title
Create Architectural Prototype
Estimate Scenario
Schedule Scenario
March 29
Monday Tuesday Wednesday
Thursday Friday Saturday Sunday
30 31 April 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 May 1 2
April 04
Divide Scenario into Tasks
Cost a Development Task
Write Code
Class Class2
Class3
Integrate
Write and Perform Unit Tests
Review Code
From Team Collaboration
to Team Partnership
Storyboard a Scenario
Using MSF inside Visual Studio 2005 Team SystemUsing MSF inside Visual Studio 2005 Team System
Run a Test Case
Integrate Identify a BugWrite Validation Tests
Write Code
Class Class2
Class3
Integrate
Write and Perform Unit Tests
Review Code
Fix a Bug
Triage Bugs
Schedule Bugs
March 29
Monday Tuesday Wednesday
Thursday Friday Saturday Sunday
30 31 April 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 May 1 2
April 04
Run Test
Verify BugVerify a Bug
Triage
Close a BugClose a BugCreate Development Task
Plan a QosRequirement
Implement a Development TaskCreate Solution Architecture
Create a QosRequirement
Apply for Loan: Fill out Application
Book Loan: Create Loan Agreement
Evaluate Request: Find Credit Score
Add Qos Req to Scenario ListReview Qos Req
Decompose System
Run a Test Case
Determine Interfaces
< Back Next > Cancel
Wizard Text
Wizard TitleWizard Title
Create Architectural Prototype
Prioritize Scenario List
1
Estimate Qos Req
Schedule Qos Req
March 29
Monday Tuesday Wednesday
Thursday Friday Saturday Sunday
30 31 April 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 May 1 2
April 04
Divide Scenario into Tasks
Cost a Development Task
Write Code
Class Class2
Class3
Integrate
Write and Perform Unit Tests
Review Code
Run Test Identify a BugWrite Performance Test
Write Qos Requirements
Develop a Perf Model
The “Macro” PerspectiveThe “Macro” Perspective
VisionVisionFunctionalityFunctionality
TimeTime
RiskRisk
QualityQuality
DeploymentDeployment
Write Vision Statement Define Test Approach Create System ArchitectureEvaluate ComplexityReview Objectives
100 90 80
5
1
4
ID Task Name Start Finish DurationJun 2004
4 5 6 7 8 9 10 11 12 13 14 15 16 17
1 1d6/4/20046/4/2004Task 1
2 1d6/4/20046/4/2004Task 2
3 1d6/4/20046/4/2004Task 3
4 1d6/4/20046/4/2004Task 4
5 1d6/4/20046/4/2004Task 5
Determine Progress
Run Test Identify a BugWrite Validation Tests
Define Personas
Apply for Loan: Fill out Application
Book Loan: Create Loan Agreement
Evaluate Request: Find Credit Score
Create Scenario List Write Scenarios Review Scenarios
Plan a Scenario Implement a Development Task
Create Solution Architecture
Run a Test Case
Prioritize Scenario List
1
Estimate Scenario
Schedule Scenario
March 29
Monday Tuesday Wednesday
Thursday Friday Saturday Sunday
30 31 April 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 May 1 2
April 04
Cost a Development Task
Write Code
Class Class2
Class3
Integrate
Write and Perform Unit Tests
Review Code
Decompose System Divide Scenario into TasksDetermine Interfaces
< Back Next > Cancel
Wizard Text
Wizard TitleWizard Title
Create Architectural PrototypeStoryboard a Scenario
Setup and GuideProject
Write Vision Statement Define Test Approach Create System Architecture
Create a Scenario
Evaluate ComplexityReview Objectives
100 90 80
5
1
4
ID Task Name Start Finish DurationJun 2004
4 5 6 7 8 9 10 11 12 13 14 15 16 17
1 1d6/4/20046/4/2004Task 1
2 1d6/4/20046/4/2004Task 2
3 1d6/4/20046/4/2004Task 3
4 1d6/4/20046/4/2004Task 4
5 1d6/4/20046/4/2004Task 5
Determine Progress
Setting the BarSetting the Bar
MinimumMinimumAcceptanceAcceptanceLevelLevel
Iteration 1Iteration 1Iteration 2Iteration 2
Iteration 3Iteration 3
Setting ObjectivesSetting Objectives
Review Objectives
Define Personas
Apply for Loan: Fill out Application
Book Loan: Create Loan Agreement
Evaluate Request: Find Credit Score
Create Scenario List Write Scenarios Review ScenariosPrioritize Scenario List
1
Divide Scenario into Tasks
Cost a Development Task
Write Code
Class Class2
Class3
Integrate
Write and Perform Unit Tests
Review Code
Engineering EffortEngineering Effort
High Technological Risk
Desi
gn D
ifficu
lty
High Organizational Risk
Resources
• Windows XP
• VisualStudio
• Halo 2Halo 2
Focus on ArchitectureFocus on Architecture
High Technological Risk
Desi
gn D
ifficu
lty
High Organizational Risk
Resources
• Windows XP
• VisualStudio
• Halo 2Halo 2
Decompose SystemDivide Scenario into Tasks Determine Interfaces
< Back Next > Cancel
Wizard Text
Wizard TitleWizard Title
Create Architectural PrototypeStoryboard a Scenario
Evaluate Complexity
Testing that is acceptable on one Testing that is acceptable on one project may be criminal on anotherproject may be criminal on another
Testing TargetsTesting Targets
Trend AnalysisTrend Analysis
Metrics:Metrics:% Code Coverage% Code Coverage
Bugs FoundBugs Found
% Code Churn% Code Churn
% Tests Passed% Tests Passed
% Scenarios Tested% Scenarios Tested
Context Driven TestingContext Driven Testing
Testing EmphasisTesting Emphasis
Run Test Identify a BugWrite Validation TestsDivide Scenario into Tasks
Cost a Development Task
Write Code
Class Class2
Class3
Integrate
Write and Perform Unit Tests
Review Code
Define Test Approach
““No Critical FailureNo Critical FailureOr Major Impact BugsOr Major Impact Bugs(Impact Severity 1 or 2)(Impact Severity 1 or 2)In Shipping Product”In Shipping Product”
““100% Code Coverage 100% Code Coverage Achieved”Achieved”
% Scenarios% ScenariosTestedTested
% Code% CodeCoverageCoverage
% Tests % Tests PassedPassed
BugsBugsFoundFound
% Code% CodeChurnChurn
severityseverity1 or 2 bugs1 or 2 bugs
Staggered IterationsStaggered Iterations
Create a Scenario
Apply for Loan: Fill out Application
Book Loan: Create Loan Agreement
Evaluate Request: Find Credit Score
Create Scenario List Write ScenariosPrioritize Scenario List
1
Divide Scenario into Tasks
Write Code
Class Class2
Class3
IntegrateWrite and Perform Unit Tests
Review Code
Run a Test Case
Run Test Identify a BugWrite Validation Tests
Implement a Development Task
Cost a Development Task
Create Solution Architecture
MSF 4.0GoalsMSF 4.0Goals
Drive business success through Drive business success through business & technology alignmentbusiness & technology alignment
Ensure high quality solutionsEnsure high quality solutions Handling the many facets of quality as Handling the many facets of quality as defined by multiple stakeholdersdefined by multiple stakeholders
Accelerate delivery, reduce costs, Accelerate delivery, reduce costs, minimize risksminimize risks
Improve team effectiveness Improve team effectiveness
MSF adoption is gradualMSF adoption is gradual
Organizational/Team – The team has Organizational/Team – The team has decided as a unit to adopt some decided as a unit to adopt some flavor of MSF (or your process)flavor of MSF (or your process)
Grassroots – Individuals on the team Grassroots – Individuals on the team find the practices useful and the find the practices useful and the process spreads by providing valueprocess spreads by providing value
MSF provides friction-free usage that MSF provides friction-free usage that doesn’t get in the waydoesn’t get in the way
MSF is extensibleMSF is extensible
Framework – Build a process within Framework – Build a process within the MSF meta-model, adopting pieces the MSF meta-model, adopting pieces or all of MSF Agile or Formalor all of MSF Agile or Formal
Prototype – Using pieces or all of MSF Prototype – Using pieces or all of MSF Agile or Formal as a base to build Agile or Formal as a base to build your own process without the meta-your own process without the meta-modelmodel
MSF Process Model StructureMSF Process Model Structure
ProcessModulePhase
Activity
Role
WorkProduct
Person
Assignment
MSF Metamodel Essentials
Iteration
One or more iterations of
process module enactment occur
during each phase
Specific process modules are
appropriate for selection in one or
more phases
An iteration consists of activities
enacted as an assignment to a
person
An activity defines work in terms of
steps performed by a role on , or using ,
a work product
A work product is an output of or input
to an activity
Process work consisting of activities that should be
enacted together are defined as selectable process
modules
A project is in a phase determined by the aggregate state of key work
products
A work product is an associated with one or more roles which have different responsibilities
regarding work performed on or using it
RoleCluster
Role clusters define groups of roles
related by skill or discipline
MSF 4.0Key takeawaysMSF 4.0Key takeaways
Two “flavors” out-of-the-box: Agile Two “flavors” out-of-the-box: Agile and Formal/Completeand Formal/Complete
Fully integrated in Visual Studio 2005 Fully integrated in Visual Studio 2005 Team SystemTeam System
Updates are delivered via MSDNUpdates are delivered via MSDN
It can become a It can become a basisbasis for your for your software development processsoftware development process
VSTS for Project ManagersKey takeawaysVSTS for Project ManagersKey takeaways
I can use these tools - I already amI can use these tools - I already am
I won’t get yelled at anymoreI won’t get yelled at anymore
No more useless status meetingsNo more useless status meetings
Process is transparent, useful and Process is transparent, useful and flexibleflexible
Productive AND Predictable TeamsProductive AND Predictable Teams
More visibility to all team members!More visibility to all team members!
Developer RoadmapDeveloper Roadmap
Call to ActionCall to Action
What should you do now?What should you do now?Educate yourself and your customer on Educate yourself and your customer on VSTS and MSF 4.0VSTS and MSF 4.0
http://team/sites/teamsystemhttp://team/sites/teamsystem and and http://msfhttp://msf
http://msdn.microsoft.com/vstudio/teamsystehttp://msdn.microsoft.com/vstudio/teamsystemm
Join MSF Champions alias (msfchamp)Join MSF Champions alias (msfchamp)
Send questions, comments, suggestions Send questions, comments, suggestions to: to:
[email protected]@microsoft.com (internal alias - (internal alias - VSTS)VSTS)
[email protected]@microsoft.com (core MSF team) (core MSF team)
What should you do 6 months from What should you do 6 months from nownow??
Start pre-selling Visual Studio 2005 Team Start pre-selling Visual Studio 2005 Team SystemSystem
Other SessionsOther SessionsJulJulyy
TimeTime TitleTitle RoomRoom
1717 12:30-12:30-13:4513:45
DEV240 Team System OverviewDEV240 Team System Overview B314B314
1818 1:15-2:301:15-2:30 DEV346 Modeling StrategyDEV346 Modeling Strategy Sydney Sydney MarcusMarcus
1919 12:30-12:30-1:451:45
DEV347 Project ManagementDEV347 Project Management B304B304
1919 4-5:154-5:15 DEV348 Change ManagementDEV348 Change Management B304B304
1919 4-5:154-5:15 DEVCT344 Load Testing Chalk DEVCT344 Load Testing Chalk TalkTalk
A316A316
2020 8-9:158-9:15 DEVCT343 Work Item Chalk TalkDEVCT343 Work Item Chalk Talk A303A303
2020 9:45-119:45-11 DEV345 Software TestingDEV345 Software Testing GA BallroomGA Ballroom
2020 9:45-119:45-11 DEVCT342 Practicing Agile DEVCT342 Practicing Agile MethodsMethods
A408A408
2020 2:15-3:302:15-3:30 DEVCT342 Practicing Agile DEVCT342 Practicing Agile MethodsMethods
A316A316http://team/sites/vs2005http://team/sites/vs2005
Related Content - newsgroups Related Content - newsgroups MSF: http://communities.microsoft.com/newsgroups/default.asp?icp=
mscom&slcid=US&newsgroup=microsoft.public.msfhttp://communities.microsoft.com/newsgroups/default.asp?icp=whidbey&slcid=us
Microsoft.private.whidbey.teamsystem.general - VSTS overall Microsoft.private.whidbey.teamsystem.projectmanager - project management tools Microsoft.private.whidbey.teamsystem.teamfoundation - source control, change management, work item tracking Microsoft.private.whidbey.teamsystem.architect - modeling and design tools (Whitehorse) Microsoft.private.whidbey.teamsystem.architect.appdesign - Whitehorse app designer Microsoft.private.whidbey.teamsystem.developer - developer tools (PreFast, FxCop, Perf tools) Microsoft.private.whidbey.teamsystem.tester - testing tools
MSF: http://communities.microsoft.com/newsgroups/default.asp?icp=
mscom&slcid=US&newsgroup=microsoft.public.msfhttp://communities.microsoft.com/newsgroups/default.asp?icp=whidbey&slcid=us
Microsoft.private.whidbey.teamsystem.general - VSTS overall Microsoft.private.whidbey.teamsystem.projectmanager - project management tools Microsoft.private.whidbey.teamsystem.teamfoundation - source control, change management, work item tracking Microsoft.private.whidbey.teamsystem.architect - modeling and design tools (Whitehorse) Microsoft.private.whidbey.teamsystem.architect.appdesign - Whitehorse app designer Microsoft.private.whidbey.teamsystem.developer - developer tools (PreFast, FxCop, Perf tools) Microsoft.private.whidbey.teamsystem.tester - testing tools
Three ways to access Online Evaluation Forms:Three ways to access Online Evaluation Forms:
1.1. MGB Evaluation Kiosks MGB Evaluation Kiosks
2.2. CommNet CommNet
3.3. From your laptop or Pocket PC, From your laptop or Pocket PC, onsite Wireless Access or any wired connection to: onsite Wireless Access or any wired connection to: http://mgb2004.com/evalhttp://mgb2004.com/eval
Please Complete An Evaluation FormYour input is important!
Please Complete An Evaluation FormYour input is important!
For more information please refer to the Registration GuideFor more information please refer to the Registration Guide
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.