02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder &...
-
Upload
karly-chun -
Category
Documents
-
view
213 -
download
0
Transcript of 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder &...
02 | Define an Effective End-to-End Software Development Lifecycle
Steven Borg | Co-founder & Strategist, Northwest CadenceAnthony 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.
Click to edit Master subtitle style
Microsoft Virtual AcademyUnderstand 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
Development
Automated Tests
Changesets
Builds
Code Reviews
Stakeholder EngagementFeedback
Work Item Traceability and Flow
Operations
Operational Issues
Quality Assurance
Test Plans
Test Suites
Test Cases
Project Management
Tasks
Backlog Items
Storyboards
REQUIREMENTS
PRODUCTBACKLOG
OPSBACKLOG
MonitorImplement
WORKING SOFTWARE
DefineIdeation
DevelopIdea to working software
Misunderstoodrequirements
Unmet userexpectations
Can’t get actionable feedback
Disparate management tools
• Churn in requirements and priorities
• Quality afterthought• No traceability• Loss of focus
• Operations readiness requirements are not met
Production incidents are hard to debug and resolve
New learning's are not captured
OperateWorking software in productionValue realization
Value delivery impediments
Users/Stakeholders
Development & testing
Operations
Team barriers = Value delivery impediments
Users/Stakeholders
Development Testing Operations
Increased costsIncreased cycle times
Lost value opportunities
| |
Dissatisfied users & stakeholders
REQUIREMENTS
PRODUCTBACKLOG
OPSBACKLOG
MonitorImplement
WORKING SOFTWARESHARED ARTIFACTS
DefineIdeation
DevelopIdea to working software
OperateWorking software in productionValue realization
Teams without barriers deliver continuous value
Users/Stakeholders
Development & testing
Operations
ACTIONABLE LEARNING
Continuous value delivery
• Integration• Traceability• Collaboration• Faster cycle times
ContinuousValue
Visual Studio ALMTeams without barriers. Continuous value delivery
Teams without barriers
• Faster time-to-market• Balancing agility and quality• Revenue growth• Cost reduction• Ecstatic users• Realized value opportunities
Deliver
Click to edit Master subtitle style
Microsoft Virtual AcademyExplain 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
Click to edit Master subtitle style
Microsoft Virtual AcademyImplement 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 impliesLead 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
Click to edit Master subtitle style
Microsoft Virtual AcademyImplement 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 postimplementation. Mostly
manual with limitedautomation.Software
Testers
UAT
UAT post implementation
and systemstesting
Users
Operations
readiness verificatio
n
Pre-deployment verification
Operations
Late engagement of stakeholder functions | Late detection of unmet requirements | Increased cycle times | Increased costs
Document requirements as BRDs and
functional specsSolution managers
Write code to implement
requirementsDevelopers
Acceptance test planning
Continuous acceptance testing
Testing in production
MTTR reduction
Quality enablement practicesContinuous quality for continuous value delivery
Continuous qualityShortened cycle times
Team
Team integration | Early detection of unmet requirements | Shortened cycle times | Reduced costs
Continuous acceptance testing
ServicesBusiness ProcessesBusiness Rules and LogicService integrationsData accessIdentity
Data
Automated testing Unit testing Integration testing Performance testing Load testing
Manual testing User testing Ad-hoc exploratory testing Planned manual testing
Automated testing Keyword testing UI automation testing Performance testing
Continuous integrationsBuild | Deploy | Test
Dev
SIT
UAT
Stress
Prod
Shortened cycle times
Testing toolboxRole tailored tools
Lab manageme
nt automation
Click to edit Master subtitle style
Microsoft Virtual AcademyImplement 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
Click to edit Master subtitle style
Microsoft Virtual AcademyCreate 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 http://www.visualstudio.com/alm for an overview of the theory, and how theory aligns with the Visual Studio tools
• 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
EXAM BEST BETS
©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.