02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM
Understand the value of an end-to-end view of Application Lifecycle Management (ALM) tools and practices Explain the benefits of fast feedback Implement strategies to reduce end-to-end cycle time Implement strategies to improve software quality Implement strategies to reduce waste Create a process improvement plan Module Overview
Tips This section is all about attitude and mindset, not knowing specific details. Having the right mindset will get you through nearly all of the questions, without having to focus on specific technical details.
Microsoft Virtual Academy Understand the value of an end-to- end view of Application Lifecycle Management (ALM) tools and practices
What the Study Guide says… Understand the value of an end-to-end view of Application Lifecycle Management (ALM) tools and practices. –understanding that an observable problem may be indicative of a more general process issue –explaining the difference between optimizing a piece of the ALM process such as manual testing and optimizing the entire ALM process
Work Item Traceability and Flow
Value delivery impediments
Team barriers = Value delivery impediments |
Teams without barriers deliver continuous value Continuous value delivery
Visual Studio ALM Teams without barriers. Continuous value delivery Deliver
Microsoft Virtual Academy Explain the benefits of fast feedback
What the Study Guide says… Explain the benefits of fast feedback. –explaining the importance of fast feedback related to communicating requirements –explaining the benefits of end customer feedback to early software iterations
Feedback Loops Measure Adjust
Feedback Loops Measure Adjust
Problems with Slow Feedback Introduce more work into the system –Long time between code and bug fix makes it harder for developer –Long time between bug find and bug fix verification makes it harder for the tester –Added complexity –More context switching Lowers overall productivity
New Tools to speed feedback Requirements - PowerPoint Storyboarding Customer Feedback - Feedback Client
PowerPoint Storyboards
Feedback Client
Microsoft Virtual Academy Implement strategies to reduce end- to-end cycle time
What the Study Guide says… Implement strategies to reduce end-to-end cycle time. –identifying bottlenecks in the delivery process –understanding the relationship between work in process (WIP) and cycle time –identifying metrics that highlight bottlenecks –creating potential solutions whose effectiveness can be validated
Identifying Bottlenecks
DEMO Microsoft Virtual Academy Relationship between Work in Process and Cycle Time
Little’s Law (Two Minutes of Math) Delivery Rate = Work-in-Progress ÷ Lead Time implies Lead Time = Work-in-Progress ÷ Delivery Rate thus WIP is a LEADING metric for Lead Time
Key metrics for identifying bottlenecks Leading indicators –Queue sizes –Batch Sizes Lagging indicators –Velocity Other metrics: –Rework costs –Bug trends
Pay Attention to Queues
CLOSE Attention to Queues
Microsoft Virtual Academy Implement strategies to improve software quality
What the Study Guide says… Implement strategies to improve software quality. –identifying process steps that introduce defects –understanding the end-to-end quality process –bringing quality efforts early in the development cycle
Conventional QA in the Modern app lifecycle QA Testing post implementation. Mostly manual with limited automation. UAT UAT post implementation and systems testing Operations readiness verification Pre-deployment verification Document requirements as BRDs and functional specs Write code to implement requirements
Continuous quality Shortened cycle times
User Interface Services Business Processes Business Rules and Logic Service integrations Data access Identity Data
Microsoft Virtual Academy Implement strategies to reduce waste
What the Study Guide says… Implement strategies to reduce waste. –identifying wasteful activities –creating strategies to eliminate waste –measuring the effectiveness of waste removal activities
What is waste? Inventory - Incomplete work. Work not in production Overproduction - Rarely used features Processing – Unneeded or excessive documentation / Looking for data Transport – Handovers, context switching Excessive Motion - Task Switching (Working on several projects in parallel, 20% loss) Waiting - Delays (caused by large batches, or too much work-in- process) Rework due to defects- Bugs
Dealing with Waste Finding Waste: –Look for delays or bottlenecks in your software development. –Work backward to identify the cause. –The cause is likely wasteful. Eliminating Waste: –Depends… –Likely, focus on continuous improvement and cycle time reduction Key metrics: –Cycle time reduction –Rework costs –Bug trends
Microsoft Virtual Academy Create a process improvement plan
What the Study Guide says… Create a process improvement plan. –creating strategies for implementing organizational change –identifying key metrics to be tracked during the improvement effort –creating consensus for the change
Key metrics Business value Rework costs Cycle time Bug trends Queue sizes Batch Sizes
Visit for an overview of the theory, and how theory aligns with the Visual Studio toolshttp:// Focus on reducing cycle time, speeding feedback, small batch sizes, breaking down barriers, fast communication, minimally viable products and building quality in If you’re not convinced focusing on completing things faster with high quality is the most important thing, fake it for the test. For tools, understand Storyboarding and the Feedback Client
©2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. 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.