02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder &...

41
02 | Define an Effective End-to- End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM

Transcript of 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder &...

Page 1: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

02 | Define an Effective End-to-End Software Development Lifecycle

Steven Borg | Co-founder & Strategist, Northwest CadenceAnthony Borton | ALM Consultant, Enhance ALM

Page 2: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

• 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

Page 3: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

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.

Page 4: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

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

Page 5: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

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

Page 6: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

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

Page 7: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

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

Page 8: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

Team barriers = Value delivery impediments

Users/Stakeholders

Development Testing Operations

Increased costsIncreased cycle times

Lost value opportunities

| |

Dissatisfied users & stakeholders

Page 9: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

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

Page 10: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

• 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

Page 11: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

Click to edit Master subtitle style

Microsoft Virtual AcademyExplain the benefits of fast

feedback

Page 12: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

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

Page 13: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

Feedback Loops

Measure

Adjust

Page 14: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

Feedback Loops

Measure

Adjust

Page 15: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

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

Page 16: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

New Tools to speed feedback

• Requirements - PowerPoint Storyboarding

• Customer Feedback - Feedback Client

Page 17: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

PowerPoint Storyboards

Page 18: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

Feedback Client

Page 19: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

Click to edit Master subtitle style

Microsoft Virtual AcademyImplement strategies to

reduce end-to-end cycle time

Page 20: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

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

Page 21: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

Identifying Bottlenecks

Page 22: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

DEMO

Microsoft Virtual Academy

Relationship between Work in Process and Cycle Time

Page 23: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

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

Page 24: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

Key metrics for identifying bottlenecks• Leading indicators– Queue sizes– Batch Sizes

• Lagging indicators– Velocity

• Other metrics:– Rework costs– Bug trends

Page 25: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

Pay Attention to Queues

Page 26: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

CLOSE Attention to Queues

Page 27: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,
Page 28: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

Click to edit Master subtitle style

Microsoft Virtual AcademyImplement strategies to

improve software quality

Page 29: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

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

Page 30: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

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

Page 31: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

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

Page 32: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

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

Page 33: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

Click to edit Master subtitle style

Microsoft Virtual AcademyImplement strategies to

reduce waste

Page 34: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

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

Page 35: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

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

Page 36: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

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

Page 37: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

Click to edit Master subtitle style

Microsoft Virtual AcademyCreate a process

improvement plan

Page 38: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

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

Page 39: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

Key metrics• Business value

• Rework costs

• Cycle time

• Bug trends

• Queue sizes

• Batch Sizes

Page 40: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

• 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

Page 41: 02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,

©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.