600 likes | 925 Views
TL04. Microsoft Visual Studio Team System Team Foundation Server: How We Use It at Microsoft. Stephanie Saad Group Program Manager Team Foundation Server. Two Major Adoption Profiles. Product Divisions Office, Windows, Developer Division, SQL. IT MSIT.
E N D
TL04 Microsoft Visual Studio Team System Team Foundation Server: How We Use It at Microsoft Stephanie Saad Group Program Manager Team Foundation Server
Two Major Adoption Profiles Product Divisions Office, Windows, Developer Division, SQL IT MSIT
Two Primary Uses > Dogfood * Product Development VSTS Usage At Microsoft • Raw Data > • ..21 TFS instances • ..VS 2008 in use since ‘05 • ..VS 2010 in use since ‘07 Dogfood: n. [Microsoft, Netscape] Interim software used internally for testing. "To eat one's own dogfood“… means to use the software one is developing, as part of one's everyday development environment… Developers… using their own software will quickly learn what's missing or broken.
Developer Division • Largest instance at Microsoft
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)
Developer Division • Largest instance at Microsoft 7 Terabytes of Data
Developer Division • Largest instance at Microsoft 490,997Work Items
If all 373,328,986source files were printed, they would wrap the Earth2.6 times
Problems To Solve • Trustworthy Transparency • Planning and Tracking • Driving Quality during Development • Branching in Monster Teams • Legacy Interop
Trustworthy Transparency The Challenge • Each team needs to optimize process differently for their needs • Leadership teams need central rollup to track progress The Solution • Hub-spoke federated model… • All teams use TFS for central tracking • Each team uses best process for its needs • Single reporting system
VSTS Release Tracking 6-week iterations Iteration reviews Team Data Scrum Team Test Scrum TFS Modified Agile/XP Team Dev Modified Agile P&P XP & Scrum Team Arch Modified Agile
demo Effective Reporting
Planning And Tracking The Challenge • Is the organization aligned? • How are we doing against biz objectives? • Are we making progress on the right things? The Solution • Traceability and Reporting • Create a hierarchy mapping requirements to work • Break down work into tasks • Track progress • Roll up status
Our Process – VS 2008 • Main objectives • Scenarios • Value proposition • Value Props • Value Props • Experiences • Exp • Exp • Exp • Features • Feature • Feature • Feature • Feature
Our Process Planning Main objectives • Scenarios Value proposition • Value Props • Value Props Experiences • Exp • Exp • Exp Features • Feature • Feature • Feature • Feature Work
Our Process – VS 2010 • Main objectives Pillars • Value proposition • Value Props • Value Props • Experiences Feature Groups Feature Groups Feature Groups • Features Deliverables Deliverables Deliverables Deliverables
demo "Behind the Scenes": VSTS 2010 Planning
Value Propositions • Deliverables
Features • Deliverables
demo Planning And TrackingProject IntegrationExcel Integration
demo More Reporting In VS 2010
Driving Consistent Quality In Huge Teams The Challenge • Incredibly difficult to drive a release with 2,000 people. High degree of churn. Complex interdependencies. Inexorable schedule The Solution • “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
VS 2005 Debt VS 2005 Bug Stepdown at Beta 1
“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
2005 Debt Verses 2008 Debt VS 2008 Beta 1 ALL bug debt VS 2005 Beta 1 Product Bugs only
Effective Branch Strategies The Challenge • Massive division – 2,000+ people • Code churning at every level The Solution • Isolation and Integration • Isolate major feature areas in branches • Automate branch quality checks • Rhythm of regular merges • Handles integration complexity
Source/Branch Structure • 1 branch per product • Gated checkin procedure • VBLs build in parallel • Nightly test suites verify branch health • Regular schedule for merges • Stringent criteria for merges to main $/DEV10/Main $/DEV10/PU/ <BranchName> $/DEV10/PU /<BranchName> $/DEV10/feature/ <BranchName> $/DEV10/feature/ <BranchName>
demo Gated CheckinBranch/Merge Visualization
Migration and Legacy Interop The Challenge • I have tools in place already. I WILL NOT disrupt my shipping releases. How should I switch? When should I switch? Should I switch? The Solution • 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
Migration History of “Big Five” “There was a social issue around TFS adoption as well… We onboarded 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
Migration History of “Big Five” • “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
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
announcing HP Quality Center Connector