SlideShare a Scribd company logo
1 of 64
Impossibly X Agile in the Very LargeExperiences from Microsoft Developer Division Originally presented at Agile 2009 Sam Guckenheimer samgu@microsoft.com
Visual Studio Pro: The Developer Hub Visual Studio Playbook 1) Support the Microsoft Platforms 2) Create a world-class developer experience 3) Extend Visual Studio Platform to enable a vibrant ecosystem Centralized investment leads to success for All: ,[object Object]
Consistent end-to-end experience leads easily to new domains
All tooling efforts can utilize core investment (languages, IDE, etc)& TV
Visual Studio Product FamilyOptimize the Flow of Value for Customers 3
How Large is Very Large? 3586 Active “devs” last 7 days 2008 Builds per month 716,858 Work items Source code files 23,681,882 15 Terabytes of data Stats as of July 2009 from Divisional TFS Server…one divisional server instance out of 42 in company
Agenda Background Experience Report Observations Lessons Applied to VS 2010 Discussion 5
Agenda ,[object Object],Business Culture Waste Schedule pattern Experience Report Observations Lessons Applied to VS 2010 Discussion 6
DevDiv: Servant of Three Masters Creates conflicting priorities among stakeholders Should force a discussion of single backlog At divisional level, reconciled largely through resourcing 7
2005– Starting Culture Conway’s Law The Best and Brightest Autonomy, Job rotation, promotion  The Currency of Love  Headcount Dysfunctional Tribalism Don’t ask, don’t tell Schedule chicken Metrics are for others Our tribe is better Our customers are different Waste Easy Credit No interest charge for debt 8
Background: Debt Crisis 9 a.k.a. In-process inventory + Extra processing ,[object Object],Deferral a common technique (see top line) Teams carry undone work (both functional and ‘ility) Endgame hard to predict
Background: Peanut Butter a.k.a. Overproduction Next Version Current  Version Goodness Features Can’t message Intermittent satisfaction, no excitement No clear priorities for scoping mean risk accumulates Don’t know when we’re done
2005 Background - Waste 11 Muda Mura Muri
Product Cycle pre 2005 3-4 Years to Build It M0:  Plan and cost the release M1…M3:  Develop the code M3.1…M3.3 Recode Beta1:  Integrate and pray Beta2:  Test like hell RC (release candidate) 0..n:  Final builds RTM:  Ship it! Service It (10 years): QFEs and hot fixes Service packs
Pause...Your Experiences ? 13
Agenda ,[object Object]
Experience ReportGet Clean, Stay Clean Product Backlog Defining Done Scheduling Iteration Backlog Engineering Principles Measurement and Hardening  Results Observations Lessons Applied to VS 2010 Discussion 14 Scheduling Practice
Moving from 2005 to 2008 Release Get Clean, Stay Clean Product Backlog Defining Done Scheduling Iteration Backlog Engineering Principles Measurement and Hardening Results 15
Changes to Pre- and Post- Game Build it (~2 years): Planning: Start and groom product backlog MQ:  Improve our practices, get ready for the next version M0:  What are our goals for this release?  What customer value do we deliver? M1…M35-week sprints:  Develop and test the code. CTP (customer technical preview): Targeted customer release to collect feedback on mainline scenarios Beta1:  First broad customer visibility; collect feedback Beta2:  Validate recent changes with customers; collect feedback RC (release candidate) 0..n:  Final builds RTM:  Ship it! Service Release (10 years) Quarterly ±: Powertools and Feature Packs for current release Business Transformation from Packaged Product to Subscription
Focus of MQ (Milestone for Quality) Get Clean  Stay Clean Understand our Debt Test Automation Product Code Bugs Test Case Bugs Test Infrastructure Bugs Put our Debt on the Table Cost our Debt Eliminate the Debt Measure our Quality Quickly & Consistently Anytime, Anywhere Quality earlier in the cycle Make life easier 17
Common Practices Get Clean, Stay Clean Product Backlog Defining Done Scheduling Iteration Backlog Engineering Principles Measurement and Hardening Results 18
Product Backlog: End-to-End Scenarios, Value Props, Experiences, Features
Example: Connected System Storyboard
ApplyingKano Team observing Customers Stickies and Voting sheets
Voting Sheets
Means to the Interactive Discussion
Customer Rating of Value Props “Invest less” ranking by audience “Invest more” ranking by audience Value Props within scenario
Common Practices Get Clean, Stay Clean Product Backlog Defining Done Scheduling Iteration Backlog Engineering Principles Measurement and Hardening Results 25
Quality Gates & Frequency Main Nightlies –  CTP, TP, Beta, RTM Full Auto –  TP, Beta, RTM, (weekly coverage runs) PU Branches Nightlies – nightly Full Auto – prior to RI to Main App Weeks, Exploratory, Integration  RPS (Perf & Stress) etc. Feature Branches New feature tests – as tests developed Directed Exploratory Rolling Testing etc.
Quality Gates Applied to Features
Quality Gates Applied to Features Example ROTR Architectural Review Ensure that redist changes and additions do not compromise architectural consistency of the platform Advance the platform Minimize the barriers to upgrade  Do not create architectural legacy we will later regret Assemblies that we would otherwise not have Performance issues Assemblies and features we will be “stuck” with List of Gates Functional Specification Dev Design Test Plan Threat Model IP Protection Code Coverage Static Analysis Testing Pseudo Loc Defects DDBasics Performance RPS API Review WinFx Architectural Layering ROTR Architectural Review Feature Complete Compatiblity
Common Practices Get Clean, Stay Clean Product Backlog Defining Done Scheduling Iteration Backlog Engineering Principles Measurement and Hardening Results 29
Scheduling
Scrum Team (Feature Crew) Delivers ≥1 Features Team responsible for producing a feature Work together as a team to hit Feature Complete Small Interdisciplinary Team PM, Dev, Test Other disciplines as appropriate Typical team 1 Program Manager 4 or fewer Developers 4 or fewer Testers 3-6 weeks in duration 31
Considerations When Sizing Work When sizing a feature for development Size the time to get to Feature Complete Not just time to get to Code Complete Remember quality work happens up front Before Feature Complete Not in the bug tail No credit if you just get to “code complete”.  Must get to Done.  Developers write automated Unit Tests Testers write automated feature level tests Can write scenario level tests afterwards Threat Analysis Performed Don’t defer to a Security Push Feature level testing performed Most bugs found and fixed 32
Actual Feature Flow in Orcas (VS 2008) Initial planning spike Beta 1 planning review Beta 2 review Additional tightening @ Beta 2 Tightened process rules @ Beta 1 reduce WIP
A More Iterative Release Shape Full resourcing as prior release ships, attempt to groom and scope full product backlog Limited resource start, limiting planning to 1-2 sprints ahead
Common Practices Get Clean, Stay Clean Product Backlog Defining Done Scheduling Iteration Backlog & Tooling Engineering Principles Measurement and Hardening Results 35
Directory Scenario/Valueprop/Experience/Features
Accessible in Visual Studio… Same value prop…
Or in Excel…. Same value prop…
Reviews Managed By Reports
Drilldown: Value Prop -> Feature Status review rolls up features and experiences back into value props to assess release readiness Drilldown from value prop shows detailed feature status
Measuring Single Feature Progress
Feature Progress (Team Level)
Feature Progress (Business Level)
Common Practices Get Clean, Stay Clean Product Backlog Defining Done Scheduling Iteration Backlog Engineering Principles Measurement and Hardening Results 44
Engineering Principles Drive quality upstream Increase efficiency by doing things right the first time Don’t defer work Bug tail not filled with hidden work Keep main branch customer ready Enables consistent delivery of high quality CTPs every four weeks Product not tattooed with incomplete or unstable code Ready to ship when the time is right Use Feature Branches to isolate new feature development One branch per feature Only RI feature branch into PU branch once when quality gates are met Feature Branch  PU Staging branch  Main Common definition of what done means Consistent definition of quality across the division Enables meaningful metrics for progress and decisions Automate testing Automated testing at multiple levels Tests run anywhere
Sharing code: Branching example
Integration Cadence into Main 47 CTP CTP Self Test Drive Self Test Drive Self Test Drive Self Test Drive Integration Integration Stabilization Stabilization Integration Integration Stabilization Stabilization 1 wk Release high quality CTPs every four weeks If a feature misses one CTP it catches the next  Self Test Drive runs in main One week of feature branch integrations And bug fixes for features that have previously integrated Followed by one week of stabilization Only Self Test (BVT) fixes are accepted
Common Practices Get Clean, Stay Clean Product Backlog Defining Done Scheduling Iteration Backlog Engineering Principles Measurement and Hardening Results 48
Progress Measured Up to Value Prop
And Tested with Exploration
Performance Scenarios Measured Too
Interim E2E Perf Scenario Drilldown
Dogfood Usage Measured Too
Exit Criteria Treated As “Heat Map”
Exit Criteria Trends
Overall Scorecard Varies According Sprint Priority
Telemetry Assessed from Dogfood and CTPs Great for qualities of service (e.g. MTBF) Tread carefully for usability conclusions
Common Practices Get Clean, Stay Clean Product Backlog Defining Done Scheduling Iteration Backlog Engineering Principles Measurement and Hardening Results 58
2005 Debt vs. 2008 Debt 10x Debt Reduction! Minimal Deferral 2x Schedule Improvement High Predictability Huge Customer Sat Rise VS 2005 Beta 1 Product Bugs only VS 2008 Beta 1 ALL bug debt
Agenda ,[object Object]
Experience Report

More Related Content

What's hot

Continuous delivery @åf consult
Continuous delivery @åf consultContinuous delivery @åf consult
Continuous delivery @åf consultTomas Riha
 
Continuous Integration Practices
Continuous Integration Practices Continuous Integration Practices
Continuous Integration Practices Marcelo Freire
 
Complete testing@uma
Complete testing@umaComplete testing@uma
Complete testing@umaUma Sapireddy
 
How to develop a common sense of "DONE"?
How to develop a common sense of "DONE"?How to develop a common sense of "DONE"?
How to develop a common sense of "DONE"?Dr. Alexander Schwartz
 
A more successful model for multi-shore testing
A more successful model for multi-shore testingA more successful model for multi-shore testing
A more successful model for multi-shore testingPerficient, Inc.
 
DevOps at TestausOSY 20june2017
DevOps at TestausOSY 20june2017DevOps at TestausOSY 20june2017
DevOps at TestausOSY 20june2017Jouni Jätyri
 
Building quality in the SAFe way
Building quality in the SAFe way Building quality in the SAFe way
Building quality in the SAFe way Subrahmaniam S.R.V
 
STX Next - Scrum Development Process Overview
STX Next - Scrum Development Process OverviewSTX Next - Scrum Development Process Overview
STX Next - Scrum Development Process OverviewSTX Next
 
Continuous testing & devops with @petemar5hall
Continuous testing & devops with @petemar5hallContinuous testing & devops with @petemar5hall
Continuous testing & devops with @petemar5hallPeter Marshall
 
Automate virtualize and smart test the new testing realities
Automate virtualize and smart test   the new testing realitiesAutomate virtualize and smart test   the new testing realities
Automate virtualize and smart test the new testing realitiesmanoj7698
 
Tester’s considerations when moving towards successful CI/CD
Tester’s considerations when moving towards successful CI/CDTester’s considerations when moving towards successful CI/CD
Tester’s considerations when moving towards successful CI/CDDerk-Jan de Grood
 
Zheng Ma Resume
Zheng Ma ResumeZheng Ma Resume
Zheng Ma ResumeZheng Ma
 
Backward thinking design qa system for quality goals
Backward thinking   design qa system for quality goalsBackward thinking   design qa system for quality goals
Backward thinking design qa system for quality goalsgaoliang641
 
Agile Testing and Release Management
Agile Testing and Release ManagementAgile Testing and Release Management
Agile Testing and Release Managementcraigparsons77
 
Quality Loopback
Quality LoopbackQuality Loopback
Quality LoopbackOmar Bashir
 
Performance Testing in Continous Delivery
Performance Testing in Continous DeliveryPerformance Testing in Continous Delivery
Performance Testing in Continous DeliveryPablo Gallego Hermann
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategytharindakasun
 

What's hot (20)

Continuous delivery @åf consult
Continuous delivery @åf consultContinuous delivery @åf consult
Continuous delivery @åf consult
 
Continuous Integration Practices
Continuous Integration Practices Continuous Integration Practices
Continuous Integration Practices
 
Complete testing@uma
Complete testing@umaComplete testing@uma
Complete testing@uma
 
How to develop a common sense of "DONE"?
How to develop a common sense of "DONE"?How to develop a common sense of "DONE"?
How to develop a common sense of "DONE"?
 
A more successful model for multi-shore testing
A more successful model for multi-shore testingA more successful model for multi-shore testing
A more successful model for multi-shore testing
 
DevOps at TestausOSY 20june2017
DevOps at TestausOSY 20june2017DevOps at TestausOSY 20june2017
DevOps at TestausOSY 20june2017
 
Building quality in the SAFe way
Building quality in the SAFe way Building quality in the SAFe way
Building quality in the SAFe way
 
STX Next - Scrum Development Process Overview
STX Next - Scrum Development Process OverviewSTX Next - Scrum Development Process Overview
STX Next - Scrum Development Process Overview
 
Continuous testing & devops with @petemar5hall
Continuous testing & devops with @petemar5hallContinuous testing & devops with @petemar5hall
Continuous testing & devops with @petemar5hall
 
Automate virtualize and smart test the new testing realities
Automate virtualize and smart test   the new testing realitiesAutomate virtualize and smart test   the new testing realities
Automate virtualize and smart test the new testing realities
 
Tester’s considerations when moving towards successful CI/CD
Tester’s considerations when moving towards successful CI/CDTester’s considerations when moving towards successful CI/CD
Tester’s considerations when moving towards successful CI/CD
 
Zheng Ma Resume
Zheng Ma ResumeZheng Ma Resume
Zheng Ma Resume
 
Continuous testing
Continuous testing Continuous testing
Continuous testing
 
Backward thinking design qa system for quality goals
Backward thinking   design qa system for quality goalsBackward thinking   design qa system for quality goals
Backward thinking design qa system for quality goals
 
Agile Testing and Release Management
Agile Testing and Release ManagementAgile Testing and Release Management
Agile Testing and Release Management
 
Quality Loopback
Quality LoopbackQuality Loopback
Quality Loopback
 
Performance Testing in Continous Delivery
Performance Testing in Continous DeliveryPerformance Testing in Continous Delivery
Performance Testing in Continous Delivery
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategy
 
Agile testing MyBTEC
Agile testing MyBTECAgile testing MyBTEC
Agile testing MyBTEC
 
CD
CDCD
CD
 

Viewers also liked

Solidify continuous delivery 2014
Solidify   continuous delivery 2014Solidify   continuous delivery 2014
Solidify continuous delivery 2014Solidify
 
Har du en DevOps i ditt team?
Har du en DevOps i ditt team?Har du en DevOps i ditt team?
Har du en DevOps i ditt team?Solidify
 
Dev ops: Continuous delivery and Windows Azure
Dev ops: Continuous delivery and Windows AzureDev ops: Continuous delivery and Windows Azure
Dev ops: Continuous delivery and Windows AzureIbon Landa
 
Microsoft Azure dev Ops pour le Cloud... et réciproquement…
Microsoft Azure dev Ops pour le Cloud... et réciproquement…Microsoft Azure dev Ops pour le Cloud... et réciproquement…
Microsoft Azure dev Ops pour le Cloud... et réciproquement…Microsoft
 
Development & Test on AWS - IP Expo 2013
Development & Test on AWS - IP Expo 2013Development & Test on AWS - IP Expo 2013
Development & Test on AWS - IP Expo 2013Amazon Web Services
 
Putting the DOT in .NET - Dev/Ops/Test
Putting the DOT in .NET - Dev/Ops/TestPutting the DOT in .NET - Dev/Ops/Test
Putting the DOT in .NET - Dev/Ops/TestRobert MacLean
 
The parallel universes of DevOps and cloud developers
The parallel universes of DevOps and cloud developersThe parallel universes of DevOps and cloud developers
The parallel universes of DevOps and cloud developersDonnie Berkholz
 

Viewers also liked (7)

Solidify continuous delivery 2014
Solidify   continuous delivery 2014Solidify   continuous delivery 2014
Solidify continuous delivery 2014
 
Har du en DevOps i ditt team?
Har du en DevOps i ditt team?Har du en DevOps i ditt team?
Har du en DevOps i ditt team?
 
Dev ops: Continuous delivery and Windows Azure
Dev ops: Continuous delivery and Windows AzureDev ops: Continuous delivery and Windows Azure
Dev ops: Continuous delivery and Windows Azure
 
Microsoft Azure dev Ops pour le Cloud... et réciproquement…
Microsoft Azure dev Ops pour le Cloud... et réciproquement…Microsoft Azure dev Ops pour le Cloud... et réciproquement…
Microsoft Azure dev Ops pour le Cloud... et réciproquement…
 
Development & Test on AWS - IP Expo 2013
Development & Test on AWS - IP Expo 2013Development & Test on AWS - IP Expo 2013
Development & Test on AWS - IP Expo 2013
 
Putting the DOT in .NET - Dev/Ops/Test
Putting the DOT in .NET - Dev/Ops/TestPutting the DOT in .NET - Dev/Ops/Test
Putting the DOT in .NET - Dev/Ops/Test
 
The parallel universes of DevOps and cloud developers
The parallel universes of DevOps and cloud developersThe parallel universes of DevOps and cloud developers
The parallel universes of DevOps and cloud developers
 

Similar to ESEconf2011 - Guckenheimer Sam: "Agile in the Very Large"

Track g semiconductor test program - testinsight
Track g  semiconductor test program - testinsightTrack g  semiconductor test program - testinsight
Track g semiconductor test program - testinsightchiportal
 
ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2Yogindernath Gupta
 
1 Ads
1 Ads1 Ads
1 Adslcbj
 
Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013Moataz Nabil
 
Product quality in agile project
Product quality in agile projectProduct quality in agile project
Product quality in agile projectNhan Nguyen
 
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...QueBIT Consulting
 
ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2onsoftwaretest
 
ISTQB Foundation - Chapter 2
ISTQB Foundation - Chapter 2ISTQB Foundation - Chapter 2
ISTQB Foundation - Chapter 2Chandukar
 
Testing Attributes
Testing AttributesTesting Attributes
Testing AttributesAbiha Naqvi
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
DevOPs Transformation Workshop
DevOPs Transformation WorkshopDevOPs Transformation Workshop
DevOPs Transformation WorkshopJules Pierre-Louis
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build AutomationHeiswayi Nrird
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerRobbie Minshall
 
How Meark as an enterprise leverages DSDM?
How Meark as an enterprise leverages DSDM?How Meark as an enterprise leverages DSDM?
How Meark as an enterprise leverages DSDM?AgileNetwork
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareDevOps for Enterprise Systems
 

Similar to ESEconf2011 - Guckenheimer Sam: "Agile in the Very Large" (20)

Track g semiconductor test program - testinsight
Track g  semiconductor test program - testinsightTrack g  semiconductor test program - testinsight
Track g semiconductor test program - testinsight
 
ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2
 
Saurav_Kumar
Saurav_KumarSaurav_Kumar
Saurav_Kumar
 
1 Ads
1 Ads1 Ads
1 Ads
 
Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013
 
Product quality in agile project
Product quality in agile projectProduct quality in agile project
Product quality in agile project
 
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
 
ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2
 
Automatied Testing QA
Automatied Testing QAAutomatied Testing QA
Automatied Testing QA
 
ISTQB Foundation - Chapter 2
ISTQB Foundation - Chapter 2ISTQB Foundation - Chapter 2
ISTQB Foundation - Chapter 2
 
Testing Attributes
Testing AttributesTesting Attributes
Testing Attributes
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
DevOPs Transformation Workshop
DevOPs Transformation WorkshopDevOPs Transformation Workshop
DevOPs Transformation Workshop
 
Pradeep.CL
Pradeep.CLPradeep.CL
Pradeep.CL
 
Pradeep.CL
Pradeep.CLPradeep.CL
Pradeep.CL
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
 
Agile testing
Agile testingAgile testing
Agile testing
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application Server
 
How Meark as an enterprise leverages DSDM?
How Meark as an enterprise leverages DSDM?How Meark as an enterprise leverages DSDM?
How Meark as an enterprise leverages DSDM?
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
 

More from Aberla

Mobile Banking 2011: Clairmail
Mobile Banking 2011: ClairmailMobile Banking 2011: Clairmail
Mobile Banking 2011: ClairmailAberla
 
Mobile Banking 2011: DAB
Mobile Banking 2011: DABMobile Banking 2011: DAB
Mobile Banking 2011: DABAberla
 
Mobile Banking 2011: Sparkasse
Mobile Banking 2011: SparkasseMobile Banking 2011: Sparkasse
Mobile Banking 2011: SparkasseAberla
 
Mobile Banking 2011: Credit Suisse
Mobile Banking 2011: Credit SuisseMobile Banking 2011: Credit Suisse
Mobile Banking 2011: Credit SuisseAberla
 
Mobile Banking 2011: Danske Bank
Mobile Banking 2011: Danske BankMobile Banking 2011: Danske Bank
Mobile Banking 2011: Danske BankAberla
 
Mobile Banking 2011: Postfinance
Mobile Banking 2011: PostfinanceMobile Banking 2011: Postfinance
Mobile Banking 2011: PostfinanceAberla
 
ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"
ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"
ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"Aberla
 
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"Aberla
 
ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...
ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...
ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...Aberla
 
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...Aberla
 
ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...
ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...
ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...Aberla
 
ESEconf2011 - Schilling Rüdiger: "Generative Konzepte für den Plattform-Zoo -...
ESEconf2011 - Schilling Rüdiger: "Generative Konzepte für den Plattform-Zoo -...ESEconf2011 - Schilling Rüdiger: "Generative Konzepte für den Plattform-Zoo -...
ESEconf2011 - Schilling Rüdiger: "Generative Konzepte für den Plattform-Zoo -...Aberla
 
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"Aberla
 
ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"
ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"
ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"Aberla
 
ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...
ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...
ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...Aberla
 
ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"
ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"
ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"Aberla
 
ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...
ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...
ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...Aberla
 
ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...
ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...
ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...Aberla
 
ESEconf2011 - Buschmann Frank: "What architects need to know"
ESEconf2011 - Buschmann Frank: "What architects need to know"ESEconf2011 - Buschmann Frank: "What architects need to know"
ESEconf2011 - Buschmann Frank: "What architects need to know"Aberla
 
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...Aberla
 

More from Aberla (20)

Mobile Banking 2011: Clairmail
Mobile Banking 2011: ClairmailMobile Banking 2011: Clairmail
Mobile Banking 2011: Clairmail
 
Mobile Banking 2011: DAB
Mobile Banking 2011: DABMobile Banking 2011: DAB
Mobile Banking 2011: DAB
 
Mobile Banking 2011: Sparkasse
Mobile Banking 2011: SparkasseMobile Banking 2011: Sparkasse
Mobile Banking 2011: Sparkasse
 
Mobile Banking 2011: Credit Suisse
Mobile Banking 2011: Credit SuisseMobile Banking 2011: Credit Suisse
Mobile Banking 2011: Credit Suisse
 
Mobile Banking 2011: Danske Bank
Mobile Banking 2011: Danske BankMobile Banking 2011: Danske Bank
Mobile Banking 2011: Danske Bank
 
Mobile Banking 2011: Postfinance
Mobile Banking 2011: PostfinanceMobile Banking 2011: Postfinance
Mobile Banking 2011: Postfinance
 
ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"
ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"
ESeconf2011 - Haug Thomas: "Sauberer Code mit Metriken"
 
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"
ESEconf2011 - Cruywagen Leon: "Cool ways to work smarter in the cloud"
 
ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...
ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...
ESEconf2011 - Wichmann Klaus-Peter: "Kennen Sie die Leistungsfähigkeit Ihres ...
 
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
ESEconf2011 - Hanin Makram: "Embedding Performance into Continuous Integratio...
 
ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...
ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...
ESEconf2011 - Lorenz Oliver: "'Agil heisst nicht beliebit' - Scrum als wirksa...
 
ESEconf2011 - Schilling Rüdiger: "Generative Konzepte für den Plattform-Zoo -...
ESEconf2011 - Schilling Rüdiger: "Generative Konzepte für den Plattform-Zoo -...ESEconf2011 - Schilling Rüdiger: "Generative Konzepte für den Plattform-Zoo -...
ESEconf2011 - Schilling Rüdiger: "Generative Konzepte für den Plattform-Zoo -...
 
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"
ESEconf2011 - Freixa Vidal Roger: "Oracle's Java Strategy"
 
ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"
ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"
ESEconf2011 - Westphal Ralf: "Slice me nice - Produktiv, schnell, zufrieden"
 
ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...
ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...
ESEconf2011 - Caine Matthew: "Creating an Environment of Teamwork, Quality, I...
 
ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"
ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"
ESEconf2011 - Schwaber Ken: "Scrum: Necessary but not sufficient for agility"
 
ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...
ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...
ESEconf2011 - Kaiser Traian: "How to measure productivity in software develop...
 
ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...
ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...
ESEconf2011 - Haas Thomas & Jenni Joscha: "Ein Softwareprojekt zum Festpreis ...
 
ESEconf2011 - Buschmann Frank: "What architects need to know"
ESEconf2011 - Buschmann Frank: "What architects need to know"ESEconf2011 - Buschmann Frank: "What architects need to know"
ESEconf2011 - Buschmann Frank: "What architects need to know"
 
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...
ESEconf2011 - Arrenbrecht Peter: "Literate Testing: Stimmige API's machen meh...
 

Recently uploaded

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Recently uploaded (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

ESEconf2011 - Guckenheimer Sam: "Agile in the Very Large"

  • 1. Impossibly X Agile in the Very LargeExperiences from Microsoft Developer Division Originally presented at Agile 2009 Sam Guckenheimer samgu@microsoft.com
  • 2.
  • 3. Consistent end-to-end experience leads easily to new domains
  • 4. All tooling efforts can utilize core investment (languages, IDE, etc)& TV
  • 5. Visual Studio Product FamilyOptimize the Flow of Value for Customers 3
  • 6. How Large is Very Large? 3586 Active “devs” last 7 days 2008 Builds per month 716,858 Work items Source code files 23,681,882 15 Terabytes of data Stats as of July 2009 from Divisional TFS Server…one divisional server instance out of 42 in company
  • 7. Agenda Background Experience Report Observations Lessons Applied to VS 2010 Discussion 5
  • 8.
  • 9. DevDiv: Servant of Three Masters Creates conflicting priorities among stakeholders Should force a discussion of single backlog At divisional level, reconciled largely through resourcing 7
  • 10. 2005– Starting Culture Conway’s Law The Best and Brightest Autonomy, Job rotation, promotion The Currency of Love Headcount Dysfunctional Tribalism Don’t ask, don’t tell Schedule chicken Metrics are for others Our tribe is better Our customers are different Waste Easy Credit No interest charge for debt 8
  • 11.
  • 12. Background: Peanut Butter a.k.a. Overproduction Next Version Current Version Goodness Features Can’t message Intermittent satisfaction, no excitement No clear priorities for scoping mean risk accumulates Don’t know when we’re done
  • 13. 2005 Background - Waste 11 Muda Mura Muri
  • 14. Product Cycle pre 2005 3-4 Years to Build It M0: Plan and cost the release M1…M3: Develop the code M3.1…M3.3 Recode Beta1: Integrate and pray Beta2: Test like hell RC (release candidate) 0..n: Final builds RTM: Ship it! Service It (10 years): QFEs and hot fixes Service packs
  • 16.
  • 17. Experience ReportGet Clean, Stay Clean Product Backlog Defining Done Scheduling Iteration Backlog Engineering Principles Measurement and Hardening Results Observations Lessons Applied to VS 2010 Discussion 14 Scheduling Practice
  • 18. Moving from 2005 to 2008 Release Get Clean, Stay Clean Product Backlog Defining Done Scheduling Iteration Backlog Engineering Principles Measurement and Hardening Results 15
  • 19. Changes to Pre- and Post- Game Build it (~2 years): Planning: Start and groom product backlog MQ: Improve our practices, get ready for the next version M0: What are our goals for this release? What customer value do we deliver? M1…M35-week sprints: Develop and test the code. CTP (customer technical preview): Targeted customer release to collect feedback on mainline scenarios Beta1: First broad customer visibility; collect feedback Beta2: Validate recent changes with customers; collect feedback RC (release candidate) 0..n: Final builds RTM: Ship it! Service Release (10 years) Quarterly ±: Powertools and Feature Packs for current release Business Transformation from Packaged Product to Subscription
  • 20. Focus of MQ (Milestone for Quality) Get Clean Stay Clean Understand our Debt Test Automation Product Code Bugs Test Case Bugs Test Infrastructure Bugs Put our Debt on the Table Cost our Debt Eliminate the Debt Measure our Quality Quickly & Consistently Anytime, Anywhere Quality earlier in the cycle Make life easier 17
  • 21. Common Practices Get Clean, Stay Clean Product Backlog Defining Done Scheduling Iteration Backlog Engineering Principles Measurement and Hardening Results 18
  • 22. Product Backlog: End-to-End Scenarios, Value Props, Experiences, Features
  • 24. ApplyingKano Team observing Customers Stickies and Voting sheets
  • 26. Means to the Interactive Discussion
  • 27. Customer Rating of Value Props “Invest less” ranking by audience “Invest more” ranking by audience Value Props within scenario
  • 28. Common Practices Get Clean, Stay Clean Product Backlog Defining Done Scheduling Iteration Backlog Engineering Principles Measurement and Hardening Results 25
  • 29. Quality Gates & Frequency Main Nightlies – CTP, TP, Beta, RTM Full Auto – TP, Beta, RTM, (weekly coverage runs) PU Branches Nightlies – nightly Full Auto – prior to RI to Main App Weeks, Exploratory, Integration RPS (Perf & Stress) etc. Feature Branches New feature tests – as tests developed Directed Exploratory Rolling Testing etc.
  • 30. Quality Gates Applied to Features
  • 31. Quality Gates Applied to Features Example ROTR Architectural Review Ensure that redist changes and additions do not compromise architectural consistency of the platform Advance the platform Minimize the barriers to upgrade Do not create architectural legacy we will later regret Assemblies that we would otherwise not have Performance issues Assemblies and features we will be “stuck” with List of Gates Functional Specification Dev Design Test Plan Threat Model IP Protection Code Coverage Static Analysis Testing Pseudo Loc Defects DDBasics Performance RPS API Review WinFx Architectural Layering ROTR Architectural Review Feature Complete Compatiblity
  • 32. Common Practices Get Clean, Stay Clean Product Backlog Defining Done Scheduling Iteration Backlog Engineering Principles Measurement and Hardening Results 29
  • 34. Scrum Team (Feature Crew) Delivers ≥1 Features Team responsible for producing a feature Work together as a team to hit Feature Complete Small Interdisciplinary Team PM, Dev, Test Other disciplines as appropriate Typical team 1 Program Manager 4 or fewer Developers 4 or fewer Testers 3-6 weeks in duration 31
  • 35. Considerations When Sizing Work When sizing a feature for development Size the time to get to Feature Complete Not just time to get to Code Complete Remember quality work happens up front Before Feature Complete Not in the bug tail No credit if you just get to “code complete”. Must get to Done. Developers write automated Unit Tests Testers write automated feature level tests Can write scenario level tests afterwards Threat Analysis Performed Don’t defer to a Security Push Feature level testing performed Most bugs found and fixed 32
  • 36. Actual Feature Flow in Orcas (VS 2008) Initial planning spike Beta 1 planning review Beta 2 review Additional tightening @ Beta 2 Tightened process rules @ Beta 1 reduce WIP
  • 37. A More Iterative Release Shape Full resourcing as prior release ships, attempt to groom and scope full product backlog Limited resource start, limiting planning to 1-2 sprints ahead
  • 38. Common Practices Get Clean, Stay Clean Product Backlog Defining Done Scheduling Iteration Backlog & Tooling Engineering Principles Measurement and Hardening Results 35
  • 40. Accessible in Visual Studio… Same value prop…
  • 41. Or in Excel…. Same value prop…
  • 43. Drilldown: Value Prop -> Feature Status review rolls up features and experiences back into value props to assess release readiness Drilldown from value prop shows detailed feature status
  • 47. Common Practices Get Clean, Stay Clean Product Backlog Defining Done Scheduling Iteration Backlog Engineering Principles Measurement and Hardening Results 44
  • 48. Engineering Principles Drive quality upstream Increase efficiency by doing things right the first time Don’t defer work Bug tail not filled with hidden work Keep main branch customer ready Enables consistent delivery of high quality CTPs every four weeks Product not tattooed with incomplete or unstable code Ready to ship when the time is right Use Feature Branches to isolate new feature development One branch per feature Only RI feature branch into PU branch once when quality gates are met Feature Branch  PU Staging branch  Main Common definition of what done means Consistent definition of quality across the division Enables meaningful metrics for progress and decisions Automate testing Automated testing at multiple levels Tests run anywhere
  • 50. Integration Cadence into Main 47 CTP CTP Self Test Drive Self Test Drive Self Test Drive Self Test Drive Integration Integration Stabilization Stabilization Integration Integration Stabilization Stabilization 1 wk Release high quality CTPs every four weeks If a feature misses one CTP it catches the next Self Test Drive runs in main One week of feature branch integrations And bug fixes for features that have previously integrated Followed by one week of stabilization Only Self Test (BVT) fixes are accepted
  • 51. Common Practices Get Clean, Stay Clean Product Backlog Defining Done Scheduling Iteration Backlog Engineering Principles Measurement and Hardening Results 48
  • 52. Progress Measured Up to Value Prop
  • 53. And Tested with Exploration
  • 55. Interim E2E Perf Scenario Drilldown
  • 57. Exit Criteria Treated As “Heat Map”
  • 59. Overall Scorecard Varies According Sprint Priority
  • 60. Telemetry Assessed from Dogfood and CTPs Great for qualities of service (e.g. MTBF) Tread carefully for usability conclusions
  • 61. Common Practices Get Clean, Stay Clean Product Backlog Defining Done Scheduling Iteration Backlog Engineering Principles Measurement and Hardening Results 58
  • 62. 2005 Debt vs. 2008 Debt 10x Debt Reduction! Minimal Deferral 2x Schedule Improvement High Predictability Huge Customer Sat Rise VS 2005 Beta 1 Product Bugs only VS 2008 Beta 1 ALL bug debt
  • 63.
  • 65. ObservationsLessons Applied to VS 2010 Discussion 60
  • 66. Laws of Unintended Consequences
  • 67. Newton’s Third Law 62 Actions beget reactions, good and bad Paradoxical effects from Isolation and integration Quality early and change impedance Frequent integration and done done Test Automation and testing Pain and memory
  • 69. Situationally Specific Всесчастливыесемьипохожидругнадруга, каждаянесчастливаясемьянесчастливапо-своему. Happy families are all alike; every unhappy family is unhappy in its own way. Tolstoy, Anna Karenina
  • 70. “The Real Reason People Won’t Change” People and teams have Competing commitments Big assumptions Discovery has to be intentional This is the real maturation process Language and authenticity matter Kegan & Lahey, Harvard Business Review, Nov 2001
  • 71. Pigs, Chickens and Al Haig The Organizational Paradox Healthy career development can lead to impaired memories (team and personal) Pigs tend to be centrifugal Chickens tend to be centripetal Tribalism abhors a vacuum What goes up can come down Celebrate successes, but don’t declare victory 66
  • 72. Cost of Change Curve Revisited 67 Moral: Do not undersell the investment to start and the cost of Done
  • 73.
  • 76. Lessons Applied to VS 2010Discussion 68
  • 77. Applying the Lessons to VS 2010 69
  • 78. Aspirational Lean Scenarios No more production mismatches No more waiting for build setup No more UI regressions No more performance regressions No more missed requirements or changes No more no repro No more planning black box No more late surprises No more build breaks No more parallel development pain No more bewildering admin No more butterfly effects or legacy fear No more code & fix 70
  • 79. Burndown Dashboard 71 How well are we estimating hours? And burning down the tasks? How quickly are implementing requirements? Are we removing impediments in time? Which impediments are still open? 71
  • 80. QualityDashboard 72 Are we making progress on running test plans? Are build failures blocking progress? How quickly are we fixing bugs? Do the “fixes” actually fix the bugs? Are the tests covering the code on builds? How fast is code changing?
  • 81. Bugs Dashboard 73 How quickly are we fixing bugs and what’s our current debt? What are our weekly find/fix/closure rates? How is the debt distributed by priority? What is still open right now?
  • 82. Test Dashboard 74 Are we making progress on running test plans? Are test cases ready to run? What are the current test results for each requirement? How much testing is manual? What are the causes of failure?
  • 83. VS 2010 Recognition Community votes for best product: Industry analysts recognize Microsoft leadership: VOKE: Test Market Mover Array July 2010 Evaluating VS2010 IDC: IT PPM Market Landscape December 2010 Evaluating VS2010 FORRESTER: Agile Development Management Tools Q2 2010 Evaluating VS2008
  • 84.
  • 85. One set of books
  • 87. Account for all costs of Done
  • 88. Do it or don’t say it
  • 91.
  • 92. cf. Logan et al., Tribal Leadership
  • 93. Celebrate successes, but don’t declare victory
  • 95. Sunshine is the best disinfectant (Brandeis)
  • 96. There’s only one ‘P’ in Priority (Sinofsky)
  • 97. Respect Crew Size and Org Size
  • 99. Org Units ≤ 160 (Dunbar’s Number), butas few as possible
  • 100. Be willing to organize around the value props
  • 101. Be the change you want to create77
  • 102.
  • 107. References: 79 http://channel9.msdn.com/Series/ALM-Summit-2010 Sam’s New Book: Agile Software Engineering with Visual Studio (Safari Rough Cuts)
  • 108. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Visual Studio, the Visual Studio logo, and [list other trademarks referenced] are trademarks of the Microsoft group of companies.   The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation.  Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.  MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Editor's Notes

  1. Democratization of ALM – a reality TFS in all MSDN Subscriptions and Visual Studio is the ALM brand 50% of SCCM market will shift in next 2 yearsVendor landscape - Integrated ALM now central to all vendors plans Two major competitors for single vendor ‘integrated ALM’ – IBM and Atlassian Price differential vs. competitors erodingCloud addressing core friction points in transitioning through the maturity model Every vendor has cloud plans, however majority positioning products as cloud