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.