440 likes | 696 Views
Agile Transformation How we’ve changed the way we run our business. Buck Hodges Director of Development, VS Cloud Services. The Journey. Visual Studio 2010. Visual Studio 2012. Visual Studio 2013. Visual Studio 2008. Visual Studio. 2008. 2009. 2010. 2011. 2012. 2013. 2014.
E N D
Agile TransformationHow we’ve changed the way we run our business Buck Hodges Director of Development, VS Cloud Services
The Journey Visual Studio 2010 Visual Studio 2012 Visual Studio 2013 Visual Studio 2008 Visual Studio 2008 2009 2010 2011 2012 2013 2014
The Journey Public Preview June 2012 Limited Preview Sept 2011 Released! Oct 2012 Visual Studio 2010 Visual Studio 2013 Visual Studio 2012 Visual Studio 2008 Team Foundation Service Visual Studio 2008 2009 2010 2011 2012 2013 2014
“Firms today experience a much higher velocity of business change. Market opportunities appear or dissolve in months or weeks instead of years.“ Diego Lo Giudice and Dave West, Forrester February 2011 Transforming Application Delivery
We needed… A process with a more rapid delivery cadence A process that enabled us to react to feedback A process that enabled us to plan & learn A process that enabled us to stay connected A process that emphasized continuous quality A process that let us measure success
Our Roles Program Manager – Responsible to ensure we’re building the right thing. Development – Responsible to ensure we’re building products that are fast, reliable, and well engineered. QA – Responsible to ensure we’re building high quality products that meet customers needs.
Organization Chart Program Management Development Testing
Teams Program Management Development Testing
Teams Version Control • Cross-discipline • 8-12 people • Led by their triad • Intact for 12-18 months • Autonomous backlog
Agenda Rapid cadence Reacting to feedback Planning & learning Staying connected Continuous quality Measuring success
Before Planning M1 M2 2 years
Before Beta RTM Code Test & Stabilize Code Test & Stabilize
After 3 weeks 2 years
3 Week Sprints Deployment Sprint Planning Done! Week 1 Week 1 Week 1 Week 2 Week 2 Week 2 Week 3 Week 3 Week 3 Sprint 56 Sprint 58 Sprint 57
Agenda Rapid cadence Reacting to feedback Planning & learning Staying connected Continuous quality Measuring success
Feedback - Before ? ? Code Test & Stabilize Code Test & Stabilize Planning Beta RTM
Feedback - After ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Agenda Rapid cadence Reacting to feedback Planning & learning Staying connected Continuous quality Measuring success
The Basics Sprint 3-week sprints Season 6 month season Vision 18 month vision 3 6 18
Planning & Learning - Before Planning M1 M2
Planning & Learning - After 6 month plan 18 month vision Planning Spring Fall Spring Fall
Planning & Learning - After 6 month plan 18 month vision Planning Spring Fall Spring Fall
Agenda Rapid cadence Reacting to feedback Planning & learning Staying connected Continuous quality Measuring success
Staying connected Chat Chat Chat Chat Chat Chat Every 3 sprints we sit down with the team for a “chat”
Team “Chats” Version Control • What’s next on your backlog? • How are you doing with regards to debt? • Any issues?
Sprint Mails The sprint plan What we accomplished Week 1 Week 1 Week 1 Week 2 Week 2 Week 2 Week 3 Week 3 Week 3 Sprint 56 Sprint 58 Sprint 57
Agenda Rapid cadence Reacting to feedback Planning & learning Staying connected Continuous quality Measuring success
Quality - Before • Multi-year cycles • Milestones and stabilizations • Debt
Quality- Before Code Complete Code Test & Stabilize Code Test & Stabilize Planning Beta RTM
Managing Quality • Bug cap • Setup & upgrade – every sprint • Feature flags – separate engineering and disclosure
The service and the box • Same code base used for both • Adapted to the cloud • Work in a single branch • Gated checkin only builds • Rolling test system, including upgrade tests • Disruptive changes integrated at the beginning of a sprint • Merge to production branch, quarterly update CTPs
Agenda Rapid cadence Reacting to feedback Planning & learning Staying connected Continuous quality Measuring success
Build, Measure, Learn Build Learn Measure We had this… 30% … we decided we could do better, and made a few changes
Build, Measure, Learn Build Measure So we did this… 50% +20% increase
Summary We’ve changed how we run our business It’s helping us improve the product We’re using our own tools