sam guckenheimer samgu@microsoft.com microsoft corporation

Post on 15-Dec-2015

222 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Turning Walls Into BridgesSam Guckenheimersamgu@microsoft.comMicrosoft Corporation

All Processes Are Rooted In Fear (Kent Beck)

Dev Dev Dev Dev Dev

The ‘90s: Basic Tools

Early tools focused on isolated tasks, such as source control

Dev Dev Dev Dev Dev

The ‘00s: Value Up Software Engineering

Trustworthy Transparency bridges the team

PM Devs DB Test Arch

PM Devs DB Test Arch

Changing the ParadigmLean Application Lifecycle

Reduction of Waste →Small batches

Short cycles

Flow of Value →Working software Quality first

Changing the Paradigm

Traditionally, we decompose tasks and measure completion This is the cost accounting tradition

Alternatively, we account for customer value incrementally delivered This is the Lean Manufacturing and Theory of Constraints model

Work Down

Rem

ain

ing W

ork

PlanTask 1Task 2Task 3Task 4 Va

lue

Value Up

How Far Can We Get In The Available Time?

Work planned

Work completed

What Is Our Software Quality?

Test rates (pass, inconclusive, fail) shown in bars

Against code coverage, …

code churn, …

and active bugs

A Venerable Truth

Happy families are all alike; every unhappy family is unhappy in its own way.

Tolstoy, Anna Karenina

Все счастливые семьи похожи друг на друга, каждая несчастливая семья несчастлива по-своему.

Signs Of Unhappiness

UnderestimatingUneven Task DecompositionSolution Stuck in TestingDevelopment Practices Too LooseInadequate Unit TestingTests Passing; Solution Doesn’t WorkToo Little TestingBuild FailuresScope CreepResource Leaks

Underestimating

Steady rates of progress, but slope too shallow

Slow progress leading to cuts in planned work, but not enough cuts

Solution Stuck In Testing

Bulge in resolved →Insufficient resources or inadequate quality from dev

Development Practices Too Loose

Growing “Fault Feedback Ratio” – bugs requiring multiple handling

Inadequate Unit Testing

Rising Code Churn

Falling Code CoverageFewer Passing and More Inconclusive Tests

Scope Creep

“Dark matter” emerging during iteration

Planned work is squeezed out

Process Enacted By Tooling

Process Enacted In Cycles

Uncovered code by method

The lines in question

What Code Hasn’t Been Tested?

Unit tests for both application and database tiers

Down To The Individual Check-In

Check-in dialog captures the workitems resolved with the code(and tests) delivered

Policy makes sure that the association is made(and unit tests and code analysis have been run)

Build Verification Test results as part of the build process

Who checkedin what?

Automated release note: Why the work was delivered

And Up To The Team Build

Load test captures both test-generated data and metrics on the servers under test

Identify Performance Under Load In Time To Act…

Running the test with profiling pinpoints hotspots in code

Supporting Heterogeneous Development

Web Access Client for NON-development roles

Eclipse integration as partner solution for

heterogeneous environments

We Document For The Auditor

…because there is a complete audit trail on all the tasks, code

and tests…

Capturing evidencedoes not have to be a

manual process, ...

demoHow Microsoft Uses VSTS

Actual Feature Flow In Orcas (VS 2008)

Initial planning spike

Beta 1 planning review

Beta 2 review

Tightened process rules @ Beta 1 reduce WIP

Additional tightening @ Beta 2

Quality Gates

Quality Gates act as extended check-in policies, governing the quality of feature delivery into the main source code branch

Value Props, Experiences, And Features

Features are designed from Value Propositions and Experiences

Drilldown: Value Prop → Feature Status review rolls up features and

experiences back into value props to assess release readiness

Drilldown from value prop shows detailed feature status

Others Prefer To Review In VS…

Same value prop…

Or In Excel….

Same value prop…

Value Up: How It Feels

The right thingDone rightIn the right way

PM

Arch

Test

Devs

DB

Looking Forward: The ‘10s

PMO Operations Designers Customers Business Analyst

PMOOperationsDesigners CustomersBusiness Analyst

PM

Arch Test Devs

DB

How It Feels

The Wall Becomes a Bridge

Visual Studio Team System

Naked Self-PromotionFor More Information…

top related