Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer [email protected] Microsoft...

54
Applicatieplatform congres 12 & 13 maart

Transcript of Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer [email protected] Microsoft...

Page 1: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Applicatieplatform congres12 & 13 maart

Page 2: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Microsoft Visual Studio Team System Team Foundation Server:

How We Use It at Microsoft

Sam [email protected]

Microsoft Corporation

Page 3: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Two Major Adoption Profiles

Product Divisions

Office, Windows, Developer Division, SQL

IT

MSIT

Page 4: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Some Cool Facts about Microsoft Development

Page 5: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

VSTS Usage At Microsoft

Two Primary Uses >1. Dogfood * 2. Product Development

Users Projects Work Items Source Files Builds

VS 2008 13,106 2,494 2,568,420 40,790,715 464,879

VS 2010 1,569 14 183,018

Total 14,675 2,508 2,751,438 40,790,715 464,879

Raw Data >..21 TFS instances..VS 2008 in use since ‘05 ..VS 2010 in use since ‘07

Dogfood: n. [Microsoft , Netscape] Interim soft ware used internally for testi ng. "To eat one's own dogfood“… means to use the soft ware one is developing, as part of one's everyday development environment… Developers… using their own soft ware wil l quickly learn what's missing or broken.

Page 6: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Developer Division

Recent Users 2,797

Work Items 490,997

Work Item Versions 4,156,617

Source Control Files 373,328,986

Compressed File Size 3.1 Terabytes

Builds 7,971

Largest instance at Microsoft

Page 7: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Recent Users 2,797

Work Items 490,997

Work Item Versions 4,156,617

Source Control Files 373,328,986

Compressed File Size 3,157 GB

Builds 7,971

Developer Division

We Find the Pain So We Can Promise It Works(But This is Rough – It is Very Real Pain for Teams)

(One Team’s Hall Whiteboard after TFS dogfood outages summer 08)

Page 8: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Recent Users 2,797

Work Items 490,997

Work Item Versions 4,156,617

Source Control Files 373,328,986

Compressed File Size 3,157 GB

Builds 7,971

Developer Division

7 Terabytes of Data

Largest instance at Microsoft

Page 9: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Recent Users 2,797

Work Items 490,997

Work Item Versions 4,156,617

Source Control Files 373,328,986

Compressed File Size 3,157 GB

Builds 7,971

Developer Division

490,997Work Items

Largest instance at Microsoft

Page 10: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

If all

373,328,986 source files were printed,

they would wrap the Earth2.6 times

Page 11: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Problems To Solve

Trustworthy Transparency Planning and Tracking Driving Quality during Development Branching in Monster Teams Legacy Interop

Page 12: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

The Challenge

The Solution

Trustworthy Transparency

Each team needs to optimize process differently for their needs

Leadership teams need central rollup to track progress

Hub-spoke federated model… All teams use TFS for central tracking Each team uses best process for its needs Single reporting system

Page 13: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

VSTS Release Tracking

6-week iterationsIteration reviews

Team ArchModified Agile

Team DevModified Agile

Team DataScrum

Team TestScrum

TFSModified Agile/XP

P&PXP & Scrum

Page 14: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Iteration Reviews – Business

Page 15: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Iteration Reviews – Business

Page 16: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Iteration Reviews – Business

Page 17: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Iteration Reviews – Product Unit

Page 18: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Iteration Reviews – Product Unit

Page 19: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Next Dashboards (For Beta1)

Page 20: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

The Challenge

The Solution

Planning And Tracking

Is the organization aligned? How are we doing against biz objectives? Are we making progress on the right things?

Traceability and Reporting Create a hierarchy mapping requirements to work Break down work into tasks Track progress Roll up status

Page 21: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Our Process – VS 2008

Features

Experiences

Value proposition

Main objectives Scenarios

Value Props

Exp

Feature Feature

Exp

Feature

Value Props

Exp

Feature

Page 22: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Features

Experiences

Value proposition

Main objectives Scenarios

Value Props

Exp

Feature Feature

Exp

Feature

Value Props

Exp

Feature

Our Process

Planning

Work

Page 23: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Value Proposition

Page 24: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Feature

Page 25: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Our Process – VS 2010

Features

Experiences

Value proposition

Main objectives Pillars

Value Props

Feature Groups

Deliverables Deliverables

Feature Groups

Deliverables

Value Props

Feature Groups

Deliverables

Page 26: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Value Propositions

Deliverables

Page 27: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Features

Deliverables

Page 28: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Tracking Tasks In Microsoft Excel

Page 29: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Tracking Tasks In Microsoft Project

Page 30: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Tracking Several Features

Page 31: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Tracking Several Features

Page 32: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Tracking Several Features

Page 33: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Tracking Several Features

Page 34: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Tracking Several Features

Page 35: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Beta 1 Dashboard

Page 36: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

The Challenge

The Solution

Driving Consistent Quality In Huge Teams

Incredibly difficult to drive a release with 2,000 people. High degree of churn. Complex interdependencies. Inexorable schedule

“Feature Crews”: Carry no debt on features All features merged are completely done All meet stringent quality gates Pay down debt up front and carry no debt forward Use central tracking to shut down

Page 37: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

VS 2005 Debt

VS 2005 Bug Stepdown at Beta 1

Page 38: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

“Feature Crews” Model

Carry no debt in feature development

Feature Must Pass “Quality Gates” on Finish before Feature complete Test Complete All Bugs Fixed Security Plan Static Code Analysis Code Coverage No Performance Regressions Localization Testing API Reviews

Feature may merge to active branch only when Quality Gates are met

Page 39: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Quality Gates

Security plan

Static code analysis

Code coverage

No performance regressions

Localization testing

API reviews

All bugs fixed

Page 40: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Did It Work… ??

Page 41: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

2005 Debt Verses 2008 Debt

VS 2005 Beta 1Product Bugs only

VS 2008 Beta 1ALL bug debt

Page 42: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

The Challenge

The Solution

Effective Branch Strategies

Massive division – 2,000+ people Code churning at every level

Isolation and Integration Isolate major feature areas in branches Automate branch quality checks Rhythm of regular merges Handles integration complexity

Page 43: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

No More Parallel Development Pain

First class branches Server-side branch creation Visualize branch relationships Track change across branches

History Timeline Richer Annotate

Conflict resolution

Page 44: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Gated Check-in

Checks changes into a shelfset on server.

Merges changes with main and runs build.

If successful, commits changes to main.

Page 45: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

The Challenge

The Solution

Migration and Legacy Interop

I have tools in place already. I WILL NOT disrupt my shipping releases. How should I switch? When should I switch? Should I switch?

Legacy Interop and Phased Migration Assess needs and plan migration Migrate at natural breaks in the development lifecycle Create mirroring with legacy tools as needed

Page 46: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Migration History of “Big Five”

When They Migrated Mirrors

VSTS2003 – Very Limited (TFS)2005 – Most teams2006 – ALL

Product Studio (bugs) mirrorSource Depot (source) mirror

Developer Division2005 – Limited2007 – Most teams2008 – ALL

Product Studio (bugs) mirrorSource Depot (source) mirror

Office 2007 – ALL – Planning & Bug Tracking

SQL 2007 – ALL – Planning and Bug Tracking Investigating version control

Windows 2007 – ALL – PlanningFuture - bug tracking

MSIT 2005– Pilot. (Steady organic growth)2008 – All active projects

Page 47: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Migration History of “Big Five”

When They Migrated Mirrors

VSTS2003 – Very Limited (TFS)2005 – Most teams2006 – ALL

Product Studio (bugs) mirrorSource Depot (source) mirror

Developer Division2005 – Limited2007 – Most teams2008 – ALL

Product Studio (bugs) mirrorSource Depot (source) mirror

Office 2007 – ALL – Planning & Bug Tracking

SQL 2007 – ALL – Planning and Bug Tracking Investigating version control

Windows 2007 – ALL – PlanningFuture - bug tracking

MSIT 2005– Pilot. (Steady organic growth)2008 – All active projects

“There was a social issue around TFS adoption as well [so] we on-boarded teams

one at a time.

[The tool was so great] that as we came to recognize the flexibility in the tool, we

essentially changed our process on the fly.”

- Shoshanna Budzianowski, Product Unit Manager

Page 48: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Sync Tools and Solution Providers

Tools: Visual Source Safe

Migration Tool Rational ClearCase

Migration Tool Rational ClearQuest

Migration Tool HP Quality Center Bug

Sync Tool Migration Toolkit

Solution Providers: Notion Solutions Accentient Persistent Systems

Page 49: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

TFS HP Quality Center Connector

Full Defect Synchronization

Administration: GUI & Command Line

Pre-Release on Microsoft Connect

Contact Product Teams for more information ([email protected])

Page 50: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

“I can’t imagine what we’d do if you pulled [TFS] away…”

“I think what TFS doesblows CVS away.”

Michael Lucas, Senior PM, MSIT

Page 51: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

MSIT Development Benefits

TaskLead & Process Time Savings Comments

Dev Source Control 14.5% Working source control system requires less time.

Dev Defect Resolution 11.6% Integrated tracking, defect tracking, and source control makes resolving issues faster and easier.

Dev Reduction of Rework 6.7% Source control & build management saves substantial dev time spent reviews & inspections.

Dev Automated Build 1.7% The build process time is shorter.

Test Metric Reports 25% Creating test metrics requires much less time.

Test Case Regression 21% Test regression suite analyzing and optimizing requires less time.

Test Not Porting Docs 6% Not needing to port Word documents into defect tool saves time.

Test Reactivated Bugs 6% Manual SQL query of reactivated defects is no longer necessary.

Page 52: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Summary

We’ve had a lot of the same problems you may have. We’ve rolled learnings into TFS.

Trustworthy Transparency Planning and Tracking Driving Quality during Development Branching in Monster Teams Legacy Interop

Page 53: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.

Visual Studio Team System 2010

Agile Project Planning

End to End TraceabilityStunning New Reports

1-click Custom Excel reports

New Dashboards

Branch Visualization

Distributed Build

Build Windows Workflow Integration

Test PlanningTest Execution

Manual Test RunnerTest Impact

Analysis

Coded UI Test

Historical Debugging

Gated Checkin

Activity Diagram

Modeling ProjectsLogical Class Diagram

Architecture ExplorerSequence Diagram

Component Diagram

Use Case DiagramLayer Diagram

Scalability ++

TFS Administrationw/MMC

Database Edition merged into Development

Page 54: Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer samgu@microsoft.com Microsoft Corporation.