DEV347_Rubinstein_Project_Management

Technical Breakout Session: DEV347
Visual Studio 2005 Team System:
Mastering Software Project
Management with Process Guidance
and Office System 2003 Integration
Beny Rubinstein
Product Manager
Randy Miller
Program Manager
Visual Studio 2005 Team System
Microsoft Corporation
Goals
In this session we will use Visual Studio
2005 Team System to project manage and
build new functionality in the Adventure
Works application.
This session will also focus on some of the
artifacts associated with the integrated
process guidance, MSF, in Visual Studio
2005 Team System.
The Rules Have Changed
From Anticipation
(Define, Design, Build)
AdventureWorks ProjectPlan
Jul 2004
ID
Task Name
Start
Finish
Duration
18
1
Define
7/19/2004
7/19/2004
1d
2
Design
7/20/2004
7/26/2004
5d
3
Build
7/27/2004
7/27/2004
1d
4
Deploy
7/28/2004
7/28/2004
1d
5
Party
7/29/2004
7/29/2004
1d
To Adaptation
(Envision, Explore, Adapt)
???????????
19
20
21
22
23
24
25
26
27
28
29
30
31
Agile vs. Formal
Agile
“Evolve and adapt”
Ideal for Competitive
Environments
Rely on People
Plan as you go
Drawbacks: Project
Plan can’t keep up
with change
Formal
“Plan and optimize”
Ideal for Regulated
Environments
Rely on Process
Plan in advance
Drawback: Project
Plan becomes out of
date or does not
reflect reality
Either way, Project Management is a lot of work
State of Project Management
• PMI
• “Science” of Project Management
• Risk Assessment
• Planning and Scheduling
• Work Breakdown
Reporting Continuum
Primitive
“Are you done yet?”
Tedium
Primitive
Status Reports
Visual Studio
Visual Studio
Team Architect
Team Developer
Team Test
Application Modeling
Dynamic Code Analyzer
Load Testing
Logical Infra. Modeling
Static Code Analyzer
Manual Testing
Deployment Modeling
Code Profiler
Test Case Management
Unit Testing
Code Coverage
Class Modeling
Visio and UML Modeling
Team Foundation Client
VS Pro
Visual Studio
Team Foundation
Change Management
Reporting
Integration Services
Work Item Tracking
Project Site
Project Management
Visual Studio Industry Partners
Process and Architecture Guidance
Visual Studio
Visual Studio Team System
My team is on the same page
Organize the data to make sense
Use the tools I want
Manage the project, not the data gathering
New angles on project success beyond bugs
Based on industry proven practices
Unobtrusive on you and the team
How to be Productive and
Visible
Randy Miller
Program Manager
Visual Studio 2005 Team System
A Good Start…
Elements of Visibility
What
Elements of Productivity
What
What people are working
on
What’s critical
How
How does is relate?
Data analytics
How
Work is changing hands
It should be done “this
way”
Up to date information
Tools for the job
Get started as soon as I
can
Don’t remember, just
work
Lightweight
Nothing gets in the way
Customizable
Role of the Project Manager
“A good project manager looks at a small
number of really important elements and
makes project decisions accordingly.”
The Fallacy of Real-Time PM
Project Plans
Capture a point in time
Require context
Cannot change by the minute
Are an important management tool
Agile vs. Formal
Agile
“Evolve and adapt”
Ideal for Competitive
Environments
Rely on People
Plan as you go
Drawbacks: Project
Plan can’t keep up
with change
Formal
“Plan and optimize”
Ideal for Regulated
Environments
Rely on Process
Plan in advance
Drawback: Project
Plan becomes out of
date or does not
reflect reality
Either way, Project Management is a lot of work
Microsoft Solutions
Framework Version 4.0
Microsoft Solutions Framework
MSF offers guidance in how to
organize people and projects to
plan, build, and deploy
technology solutions
successfully and effectively
Methodware Magic Quadrant
Gartner Research, 2003
Source: Gartner Research (August 2003)
Don’t Repeat Others’ Mistakes
Ux
Disconnected from Help
Disconnected from Tools
Route maps not obvious
Content
Tries to satisfy everyone, but pleases no one (sometimes agile, sometimes
heavy)
Mismatch of Tool Help, Templates and Guidance
Too much content - overwhelming
Doesn’t feel like a coherent, e2e whole
Customization
Had to customize to get started
Weak examples when customizing
Not always recognizable after customization
Guidance not automated with workflow
"Rational/RUP training is a big expense and methodology is a big thorn in our
side. I hope you guys do it right."
Learn What Others Do Well
Content organized for maintenance
Clear metamodel
Clear plug-in model
Many navigation paths
Graphical navigation
MSF (v4.0) is…
The right content for the right person at
the right time
1. An agile software development process
2. A formal software development process
3. Framework for customers and partners to
implement custom software development
process
MSF Integration is seamless
Accessible/Embedded
Exposed within Help
Centralized
Delivered via Team Foundation Server
Current
Updated from MSDN
Customizable
Extended by GSIs, ISVs, Enterprise PMOs
Book series
Addison Wesley & MS Learning
Broad Industry Support
AdventureWorks Project Team
Jacqui Ackerman
Project Manager
Art Benson
Architect
Larry Sykes
Product Manager
Mort Gaines
Developer
Renee Davis
Tester
Create a Scenario
Apply for Loan: Fill out Application
Book Loan: Create Loan Agreement
Evaluate Request: Find Credit Score
Define Personas Create Scenario List
1
Prioritize Scenario List
Write Scenarios
Review Scenarios
Wizard Title
Wizard Text
< Back
Decompose System
Storyboard a Scenario
Create Solution
Architecture
Estimate Scenario
Divide Scenario into Tasks
Next >
Cancel
Determine Interfaces
Create Architectural Prototype
Cost a Development Task
Class3
April 04
Monday
Tuesday
March 29
30
Wednesda
y
31
Thursday
April 1
Friday
Saturday
Sunday
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
Class2
Class
Schedule Scenario
Implement a
Development Task
Write Code
Plan a Scenario
Write and Perform
Unit Tests
From Team Collaboration
Run a Test Case
Review Code
to Team Partnership
Write Validation Tests
Integrate
Run Test
Identify a Bug
Using MSF inside Visual Studio
2005 Team System
Run a Test Case
Write Validation Tests
Integrate
Run Test
Identify a Bug
Create Development Task
Close a Bug
Close a Bug
Triage Bugs
Class3
April 04
Monday
Triage
Tuesday
Wednesda
y
Thursday
Friday
Saturday
Sunday
March 29
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
Schedule Bugs
Class
Class2
Write Code
Fix a Bug
Write and Perform
Unit Tests
Review Code
Verify a Bug
Integrate
Verify Bug
Create a Qos
Requirement
Apply for Loan: Fill out Application
Book Loan: Create Loan Agreement
Evaluate Request: Find Credit Score
1
Add Qos Req to Scenario List
Write Qos Requirements
Prioritize Scenario List
Review Qos Req
Wizard Title
Wizard Text
< Back
Divide Scenario into Tasks
Decompose System
Estimate Qos Req
Next >
Cancel
Determine Interfaces
Create Architectural Prototype
Develop a Perf Model
Cost a Development Task
Class3
April 04
Create Solution
Architecture
Monday
Tuesday
March 29
30
Wednesda
y
31
Thursday
April 1
Friday
Saturday
Sunday
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
Schedule Qos Req
Plan a Qos
Requirement
Class2
Class
Implement a Development Task
Write Code
Write and Perform
Unit Tests
Run a Test Case
Review Code
Write Performance Test
Integrate
Run Test
Identify a Bug
The “Macro” Perspective
Vision
Functionality
Time
Risk
Quality
Deployment
Jun 2004
ID
Task Name
Start
Finish
6/4/2004
6/4/2004
6/4/2004
6/4/2004
6/4/2004
6/4/2004
Duration
4
1
Task 1
2
Task 2
3
Task 3
5
6
7
8
9
10
11
12
1d
5
Write Vision Statement
Review Objectives
Evaluate Complexity
Define Test Approach
Create System Architecture
4
1
1d
100 90 1d
80
4
Task 4
6/4/2004
6/4/2004
1d
5
Task 5
6/4/2004
6/4/2004
1d
Determine Progress
13
14
15
16
17
Jun 2004
ID
Task Name
Start
Finish
6/4/2004
6/4/2004
Duration
4
1
Task 1
5
6
7
8
9
10
11
12
13
14
15
16
17
1d
5
Write Vision Statement
Review Objectives
Evaluate Complexity
Define Test Approach
Create System Architecture
4
2
Task 2
6/4/2004
6/4/2004
3
Task 3
6/4/2004
6/4/2004
4
Task 4
6/4/2004
6/4/2004
1d
5
Task 5
6/4/2004
6/4/2004
1d
1
1d
100 90 1d
80
Determine Progress
Setup and Guide
Project
Apply for Loan: Fill out Application
Book Loan: Create Loan Agreement
Evaluate Request: Find Credit Score
Create a Scenario
1
Define Personas Create Scenario List
Prioritize Scenario List
Write Scenarios
Review Scenarios
Wizard Title
Wizard Text
< Back
Divide Scenario into Tasks
Storyboard a Scenario Decompose System
Create Solution
Architecture
Next >
Cancel
Determine Interfaces Create Architectural Prototype
Cost a Development Task
Class3
Estimate Scenario
Class2
Class
April 04
Monday
Plan a Scenario
Tuesday
Wednesda
y
Thursday
Friday
Saturday
Sunday
March 29
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
Write Code
Implement a Development Task
Schedule Scenario
Write and Perform
Unit Tests
Review Code
Run a Test Case
Write Validation Tests
Integrate
Run Test
Identify a Bug
Setting the Bar
Minimum
Acceptance
Level
Iteration 3
Iteration 2
Iteration 1
Setting Objectives
Apply for Loan: Fill out Application
Book Loan: Create Loan Agreement
Evaluate Request: Find Credit Score
Define Personas Create Scenario List
1
Prioritize Scenario List Write Scenarios
Review Scenarios
Divide Scenario into Tasks
Cost a Development Task
Class3
Class2
Class
Write Code
Review Objectives
Write and Perform
Unit Tests
Review Code
Integrate
Design Difficulty
Engineering Effort
• Windows XP
• VisualStudio
High Technological Risk
• Halo 2
High Organizational Risk
Resources
Focus on Architecture
Wizard Title
Wizard Text
< Back
Evaluate Complexity
Divide Scenario into Tasks
Design Difficulty
Storyboard a Scenario
Create Architectural Prototype
Decompose System
Next >
Cancel
Determine Interfaces
• Windows XP
High Technological Risk
• VisualStudio
• Halo 2
High Organizational Risk
Resources
Context Driven Testing
Testing that is acceptable on one project
may be criminal on another
Testing Targets
Trend Analysis
Metrics:
% Code Coverage
Bugs Found
% Code Churn
% Tests Passed
% Scenarios Tested
Testing Emphasis
Write Validation Tests
Run Test
Identify a Bug
“100% Code Coverage
Achieved”
Divide Scenario into Tasks
Cost a Development Task
Class3
% Code
Coverage
Class2
Class
Bugs
Found
Write Code
Define Test Approach
Write and Perform
Unit Tests
severity
1 or 2 bugs
“No Critical Failure
Or Major Impact Bugs
(Impact Severity 1 or 2)
In Shipping Product”
% Scenarios
Tested
Review Code
% Tests
Passed
% Code
Churn
Integrate
Staggered Iterations
Apply for Loan: Fill out Application
Book Loan: Create Loan Agreement
Evaluate Request: Find Credit Score
1
Create Scenario List
Prioritize Scenario List Write Scenarios
Divide Scenario into Tasks
Create Solution
Architecture
Create a Scenario
Class3
Class
Class2
Review Code
Write Code
Cost a Development Task
Implement a
Development Task
Write and Perform
Unit Tests
Integrate
Run a Test Case
Write Validation Tests
Run Test
Identify a Bug
MSF 4.0
Goals
Drive business success through business &
technology alignment
Ensure high quality solutions
Handling the many facets of quality as defined
by multiple stakeholders
Accelerate delivery, reduce costs, minimize
risks
Improve team effectiveness
MSF adoption is gradual
Organizational/Team – The team has
decided as a unit to adopt some flavor of
MSF (or your process)
Grassroots – Individuals on the team find
the practices useful and the process
spreads by providing value
MSF provides friction-free usage that
doesn’t get in the way
MSF is extensible
Framework – Build a process within the
MSF meta-model, adopting pieces or all of
MSF Agile or Formal
Prototype – Using pieces or all of MSF
Agile or Formal as a base to build your
own process without the meta-model
MSF Process Model Structure
MSF Metamodel Essentials
Process work consisting of
activities that should be
enacted together are defined
as selectable process
modules
ProcessModule
Specific process
modules are
appropriate for
selection in one or
more phases
Phase
One or more
iterations of
process module
enactment occur
during each phase
Role clusters define
groups of roles
related by skill or
discipline
Iteration
Assignment
RoleCluster
Activity
An iteration
consists of activities
enacted as an
assignment to a
person
Person
Role
A work product is an
associated with one or
more roles which have
different responsibilities
regarding work
performed on or using it
A project is in a
phase determined
by the aggregate
state of key work
products
An activity defines
work in terms of
steps performed by
a role on , or using ,
a work product
WorkProduct
A work product is
an output of or input
to an activity
MSF 4.0
Key takeaways
Two “flavors” out-of-the-box: Agile and
Formal/Complete
Fully integrated in Visual Studio 2005
Team System
Updates are delivered via MSDN
It can become a basis for your software
development process
VSTS for Project Managers
Key takeaways
I can use these tools - I already am
I won’t get yelled at anymore
No more useless status meetings
Process is transparent, useful and flexible
Productive AND Predictable Teams
More visibility to all team members!
Developer Roadmap
Call to Action
What should you do now?
Educate yourself and your customer on VSTS
and MSF 4.0
http://team/sites/teamsystem and http://msf
http://msdn.microsoft.com/vstudio/teamsystem
Join MSF Champions alias (msfchamp)
Send questions, comments, suggestions to:
burtfdbk@microsoft.com (internal alias - VSTS)
msfcore@microsoft.com (core MSF team)
What should you do 6 months from now?
Start pre-selling Visual Studio 2005 Team System
Other Sessions
Jul
y
Time
Title
17
12:30-13:45 DEV240 Team System Overview
B314
18
1:15-2:30
DEV346 Modeling Strategy
Sydney Marcus
19
19
19
20
20
20
20
12:30-1:45
4-5:15
4-5:15
8-9:15
9:45-11
9:45-11
2:15-3:30
DEV347 Project Management
DEV348 Change Management
DEVCT344 Load Testing Chalk Talk
DEVCT343 Work Item Chalk Talk
DEV345 Software Testing
DEVCT342 Practicing Agile Methods
DEVCT342 Practicing Agile Methods
B304
B304
A316
A303
GA Ballroom
A408
A316
http://team/sites/vs2005
Room
Related Content - newsgroups
MSF:
http://communities.microsoft.com/newsgroups/default.asp?icp=mscom&slcid=US
&newsgroup=microsoft.public.msf
http://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
Please Complete An Evaluation Form
Your input is important!
Three ways to access Online Evaluation Forms:
1.
2.
3.
MGB Evaluation Kiosks
CommNet
From your laptop or Pocket PC,
onsite Wireless Access or any wired connection to:
http://mgb2004.com/eval
For 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.