資工 4A 100502502 陳怡秀 Microsoft Visual Studio’s Journey to Continuous Delivery.

Slides:



Advertisements
Similar presentations
Keith McMillan Principal, Adept Technologies Copyright (C) 2008, Adept Technologies llc.
Advertisements

02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,
Chapter: 3 Agile Development
Steve Collins Richland County IT Manager Agile.  Have Fun  Learn About Agile  Tell Some Stories.
Software Development Methodologies 1. A methodology is: A collection of procedures, techniques, principles, and tools that help developers build a computer.
Ni.com Introduction to Agile and Scrum Speaker/Author: Paul Packebush Section Manager, Corporate Metrology Author:Logan Kunitz Staff Calibration Engineer.
Walter Bodwell Planigle. An Introduction – Walter Bodwell 18 years in software First did agile at a startup in 1999 Went back to waterfall (after acquisition)
Modern app development Continuous value delivery and rapid response to change.
Non-Coding Activities a Development Team Needs a.k.a ”I don’t code, am I no longer useful?” Maaret Pyhäjärvi| | Twitter: maaretp Test Granlund.
Roadmap to Continuous Integration Testing and Benefits Gowri Selka, Walgreens Natalie Koltun, Walgreens May 20th, 2014 ©2013 Walgreen Co. All rights reserved.
Applicatieplatform congres 12 & 13 maart. Sam Guckenheimer Microsoft Corporation.
Roger Boesch Technology Solution Professional - Visual Studio Team System blogs.msdn.com/rogerboesch Microsoft Schweiz GmbH.
Changing role of a tester in an agile world
We all know the world is changing… Upgrades may break apps We need sufficient time to test Our key software vendors need time to test & issue statements.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
1 Software Engineering II Presentation Software Maintenance.
It’s tough out there … Outperforming teams are collaborate extensively with their counterparts 54 % more likely to Developers 26.7% No executive.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Agile Testing with Testing Anywhere The road to automation need not be long.
Introduction to Agile.
An Overview of Agile L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n.
QWise software engineering – refactored! Testing, testing A first-look at the new testing capabilities in Visual Studio 2010 Mathias Olausson.
Application Lifecycle Management and the cloud
Achieving Agility with WSO2 App Factory S. Uthaiyashankar Director, Cloud Solutions WSO2 Inc. Dimuthu Leelarathne Software Architect WSO2 Inc.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 Agile Methodology & Programming Ric Holt July 2009.
0 Comerica’s Transformation The Next Chapter George Surdu.
Modern app development Continuous value delivery and rapid response to change.
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
Creating a Brand New Project using Scrum and Agile Techniques Matt Turner, Mark Wightman Red Gate Software.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
4/23/ :45 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
© 2012 About Me Doing agile since 1999 Start ups / Enterprises Planigle - Consulting and Training Qcue – VP, Engineering.
Visualization and Agile Practices to the Rescue of Traditional Project Balaji.M, Srinath C HCL Technologies, Pvt, Ltd 資工碩一 林成馨.
04 | Define a Software Iteration Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
1 Agile Release Management. 2 Recall - Highsmith’s remedies for schedule risk Team involvement in planning and estimating Early feedback on delivery velocity.
AP-1 5. Project Management. AP-2 Software Failure Software fails at a significant rate What is failure? Not delivering it on time is an estimation failure.
Microsoft’s ALM Vision. Vision and benefits ALM today ALM outlook.
DevDiv’s Cadence – The Journey Feb Jan Mar TFS 2008 TFS 2010 TFS 2012/ weeks 10 – 12 weeks 3 weeks Apr.
Agile Metrics It’s Not All That Complicated. © 2011 VersionOne 2 Welcome – About your Trainer, Katia Sullivan VersionOne Product Trainer and Agile Coach.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Enterprise Agile #LAKC2015.
Phoenix Scrum User Group Simplifying Scrum Online May 21 st 2009.
It’s tough out there … Software delivery challenges.
Who is Gregg? 1 Mile
A way to develop software that emphasizes communication, collaboration, and integration between development and IT operations teams.
© 2013 CA. All rights reserved. ScrumOps – Scaling Scrum Environment for DevOps Serajul Arfeen Naveen Arora July 2014.
Jeffrey Murray Principle Test Manager – PowerPoint Problems with PowerPoint? … you can blame me!
Kanban Advanced Software Engineering Dr Nuha El-Khalili.
Internal developer tools and bug tracking Arabic / Hebrew Windows 3.1Win95 Japanese Word, OneNote, Outlook
Agile Center of Excellence. Richard K Cheng Agile is just a high level concept.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Agile Project Management and the yin & yang of
DevOps for the IT Pro with Azure and Visual Studio Team Services
From manual test shop to fully automated test coverage: A How-To session to speed up your journey Jayshree Bhakta ITHAKA/JSTOR.
Continuous Delivery- Complete Guide
Work Package 4 Software Integration and Distribution
Владимир Гусаров Директор R&D, Dell Visual Studio ALM MVP ALM Ranger
Johanna Rothman Create Technical Excellence Chapter 9
How to Successfully Implement an Agile Project
TFS from on-prem to the cloud with Azure DevOps Services
From a controlled chaos to well oiled machine
Introduction to Agile Blue Ocean Workshops.
Getting Started with Team Foundation Service
Jamie Cool Program Manager Microsoft
Agile, Scrum and CMMI Methodologies
Presentation transcript:

資工 4A 陳怡秀 Microsoft Visual Studio’s Journey to Continuous Delivery

Abstract Microsoft Visual Studio is now releasing at a much faster pace. We adopted agile practices across the board and made significant improvements to engineering processes and systems down the way. In this report, I discuss the three waves of improvements that we undertook, each of approximately two years.

Visual Studio 2003 – Visual Studio 2005 In 2003, prior to availability of Team Foundation Server (TFS), the division had no way to look at its investments as a single backlog or portfolio. The primary portfolio management technique was head- count allocation. This resulted in “dysfunctional tribalism” characterized by five behaviors :  Don’t ask, don’t tell  Schedule chicken  Metrics are for others  Our customers are different  Our tribe is better

Visual Studio 2003 – Visual Studio 2005(Cont.) This resulted in a significant “waste” in terms of high bug backlog. The uneven product quality implied by high bug-count created its own moral hazards :  It makes the Beta ineffective as a feedback mechanism. Customers see too many broken things to comment on the feature experiences.  Internal teams see others’ bug backlogs and take comfort on each others’ numbers, thus driving a wrong behavior.  Teams end up building newer features without fixing the fundamentals and completing the existing features.  The end dates of the product is very hard to predict.

Improvements after 2005 – Reduce waste and increase transparency we put seven changes for the next release cycle:  Get clean, stay clean : There was a regular drive to fix more bugs and triage out the lower priority issues. At the same time, there was a drive to increase test automation and fix the reliability issues in test frameworks.  Integration and Isolation : we allowed feature crews to work in isolated branches and then to integrate with closely related crews and then to integrate to main. We defined automatic gates or criteria to promote the code from one branch to another.  Product Backlog : We took a holistic and consistent approach to product planning. We introduced a structure of functional product definition that covered value propositions, experiences and features.

Improvements after 2005 – Reduce waste and increase transparency(Cont.)  Iteration backlog : Well-defined features were coarse grained enough to be visible to a customer or consumed by another feature and fine grained enough to be delivered in a sprint.  Engineering principles : We reduced technical debt and put in place rules and automation to prevent deferral of work.

Improvements in Visual Studio 2010 – Increase Flow of Value Having reduced technical debt, we could now focus on flow of value. As we entered Visual Studio 2010 product cycle, we laid out several ambitious scenarios based on customers’ requirements and what we discovered through our own usage. Developer Division recovered and in the end Visual Studio 2010 has been the best release of the Visual Studio product line ever.

Improvements in Visual Studio 2010 – Increase Flow of Value(Cont.) We learned several engineering lessons from the 2008 :  Planning and Grooming the product backlog cannot be skipped  The Backlog needs to ensure Qualities of Service  One team’s enhancement is Another breaking change  Test Automation needs Maintenance

The Path to Visual Studio 2012 – Continuous Delivery The next challenge is to get better at expanding continuous flow. We believe there are two key actionable metrics here – cycle time and mean time to repair (MTTR). A shift in the industry from on-premises deployment of software to the easy use of the public cloud. We used Windows Azure to pioneer a new form of TFS, Visual Studio Online. In the past at the end of every 3 week sprint, code was ready for internal “dogfooding”. On the Service, every three week it is deployed live for customer use.

The Path to Visual Studio 2012 – Continuous Delivery(Cont.) One of the key metrics we measure for services is service availability. The fundamental learnings were the following :  The primary measure of availability should be based on real customer experience  Any measure of “availability”, if you want it to be a meaningful should be a measure of customer experience and needs to represent both reliability and performance.  Lastly, any measure of availability should reflect the overall system health and not just the health of a given component.

Conclusion We have been able to institutionalize the Agile practices across Developer Division. The teams are constantly working on smaller chunks of work (user stories), have a consistent definition of “done”, have early customer adoption programs to get feedback and quickly adapt and learn from the feedback. The constant feedback has enabled us to provide continuous value with continuous delivery.