spark 2013 presentation of making the enterprise agile

25
A Practical Approach to Large Scale Agile Development Gary Gruver May 31, 2013

Upload: gbgruver

Post on 15-Jan-2015

357 views

Category:

Technology


0 download

DESCRIPTION

Scaling agile to the Enterprise is challenging. Learn more about a successful transformation including ideas you can leverage for you own business

TRANSCRIPT

Page 1: Spark 2013 Presentation of making the enterprise agile

A Practical Approach to Large Scale Agile Development

Gary GruverMay 31, 2013

Page 2: Spark 2013 Presentation of making the enterprise agile

Gary Gruver:• 24 year veteran in high tech

• Led HP’s 400+ developers on a journey from waterfall to agile development

• Currently VP of QE, Release, and Operations at Macys.com

Page 3: Spark 2013 Presentation of making the enterprise agile

4+ Year Large-Scale Agile Journey

400+ engineersaround the world

Over 10M lines of code

High-end LaserJet printers and MFPs

Embedded SW & FW

Digital Sending and HP open Extensibility Platform

Page 4: Spark 2013 Presentation of making the enterprise agile

State of the Development Process: 2008

• 6 weeks + to get through a complete testing cycle (mainly manual)

• Build integration taking 15-20% of resources a week to get fixes to main

• Manual testing a key driver and constraint for adding products

• Ongoing customer issues with consistency and lack of features

• Marketing had essentially given up asking for FW innovations

Lengthy Build Integration &

Testing Cycles

Products Lagging the Competition

Page 5: Spark 2013 Presentation of making the enterprise agile

State of the Development Process: 2008

• Development costs growing 2.5X from 2004-2008 and the business was still constrained

• Up to 10 different branches (driven by each product release window) in MFP

• CPE driving millions/year in CPE investments

Costs out of control

• 80-90% of resources just porting existing FW to new products and qualifying

• Unable to add new products to the plans due to lack of FW resources

• 20% of resources developing plans that quickly became obsolete

Couldn’t Add Enough

Resources

Page 6: Spark 2013 Presentation of making the enterprise agile

Firmware Development Transformation

Consistent Dev Environment

Integrated Tools

Agile Development

with Mini Milestones (Sprints)

Fully automated unit and

system test

One branch for all products

including CPE

Architected for product

variability

Continuous integration and

test system

Organizational Change

Management

Page 7: Spark 2013 Presentation of making the enterprise agile

Firmware Development TransformationBreakthrough Capacity for Development

New Customer Capabilities

DefectFixes

• 400+ developers • 10+M LOC• 75,000-100,000 LOC turmoil • 100-150 Commits• 10-15 builds /day • 15,000 hours/day of testing

(90% pass rate)

FutureSmart FW Large Scale Agile Development Engine

Page 8: Spark 2013 Presentation of making the enterprise agile

Cycletime Driver Improvements

Build Bosses 1 Week

Number of Builds 1-2

Feedback on Main 1 Commit/Day

Full Manual Registration 6 Weeks

Continuous Integration 3hrs

Continuous Integration 10-15/Day

Autorevert ~100 Commits/Day

Auto Regression Testing 24 Hrs

20112008

Page 9: Spark 2013 Presentation of making the enterprise agile

Development Cost Driver Improvements

Code Integration 10%

Detailed Planning 20%

Porting Code 25%

Current Product Support 25%

Manual Testing 15%

Capacity for Innovation ~5%

Continuous Integration 2%

Agile Planning 5%

One Main Branch 15%

One Branch CPE 5%

Most Testing Automated 5%

Capacity for Innovation ~40%

20112008

Page 10: Spark 2013 Presentation of making the enterprise agile

State of the art FW development model

Costs out of control

Couldn’t add resources fast enough

Lengthy build, integration and testing cycles

Products lagging the competition

~70% reduction in FW development cost per program

50% reduction in FW headcount

Cont. integration, daily automated regression

Vintage chart unleashed and capacity for innovation

20112008

Page 11: Spark 2013 Presentation of making the enterprise agile

Making an Enterprise

Agile

Enabling Small Agile Teams in the Enterprise

VS.

Page 12: Spark 2013 Presentation of making the enterprise agile

Scrum Agile≠

Page 13: Spark 2013 Presentation of making the enterprise agile

Water

Scrum

Fall

Page 14: Spark 2013 Presentation of making the enterprise agile

Improvements Best Driven at the Enterprise Level

✔ ✔ ✔

Business Objectives/Priorities

EnterpriseLevel

ContinuousImprovement

CI/CD and test automation

infrastructure

Planning Process

Page 15: Spark 2013 Presentation of making the enterprise agile

Business Objectives (Don’t “Do Agile”)

Define your value proposition

Understand yourcost & cycle-time

drivers

Either automate, eliminate, or engineer out the drivers that aren’t key to the value prop

Page 16: Spark 2013 Presentation of making the enterprise agile

Business Objectives (Don’t “Continuous Delivery”)

Increase the quality and frequency of feedback

Reduce the time and resources between release branch & production

Improve deployment repeatability

Page 17: Spark 2013 Presentation of making the enterprise agile

Mini-milestone Objectives

Cascading Objectives to Track Progress

ConversationsLearnings

Agile Adjustments

Having real-time metrics is essential for the speed of agile & aligning the org. But don’t manage by metrics.

Use the metrics tounderstand where to have conversations about what is not getting done.

Interative Approach to Agile Management

Page 18: Spark 2013 Presentation of making the enterprise agile

Finding the offending codeWhat Code?

When? Are you sure it wasn’t Jez?

Page 19: Spark 2013 Presentation of making the enterprise agile

Embedded System Pipeline

Cost of Testing

Drive test escapes upstream

ProductEmulatorSimulator

Page 20: Spark 2013 Presentation of making the enterprise agile

Continuous Integration and Test System

L1 Sim(10-14x/day)

L2 Sim(12x/day)

L3 Emu(6x/day)

L4 Sim(1x/day)

STAGE 1

STAGE 2

Page 21: Spark 2013 Presentation of making the enterprise agile

Embedded System Pipeline

1 2 3 4 5 60%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

Sim. Quality bar

Emulator

Sim. Regression

Product

Page 22: Spark 2013 Presentation of making the enterprise agile

Building up a Large SW System

Inte

rfac

e Te

st S

imu

lato

r

Agile Comp 1

Agile Comp 2

Agile Comp 3

Agile Comp 4

Agile Comp 5

Agile Comp 6

Legacy Waterfall

IT 1

Legacy Waterfall

IT 2

Legacy Waterfall

IT 3

Agile Comp 1

Page 23: Spark 2013 Presentation of making the enterprise agile

One of the biggest challenges with Agile Planning at the enterprise level is getting the organization to accept the uncertainty in SW development and appreciate the flexibility and opportunity.

Page 24: Spark 2013 Presentation of making the enterprise agile

Long Term Predictability for SW SchedulesDo we really need the predictability of our current planning processes?Are our current planning processes really that accurate?

100%

Acc

ura

cy

Planning Investment

Page 25: Spark 2013 Presentation of making the enterprise agile

A Practical Approach to Large Scale Agile Development

E-mail: [email protected]: largescaleagile.comTwitter: @GRUVERGary