02 | define an effective end-to-end software development lifecycle steven borg | co-founder &...

Post on 01-Apr-2015

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

top related