30
© 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your Software Process Getting to Done Top 5 Process Challenges Damon Poole CTO AccuRev

© 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

Embed Size (px)

Citation preview

Page 1: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -1-

Optimizing YourSoftware Process

AccuRev Proprietary and Confidential Information - © 2011

Optimizing Your Software Process

Getting to DoneTop 5 Process Challenges

Damon Poole

CTO

AccuRev

Page 2: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -2-

Optimizing YourSoftware Process

Introduction to Today’s Speakers

Damon Poole, Founder and CTO, AccuRev• Damon has 20 years of methodology and process

improvement experience, running the gamut from small teams to 10,000-person global development shops. Damon is a Certified Scrum Master and writes frequently on the topic of Agile development with an emphasis on Multi-stage Continuous Integration. His "Do It Yourself Agile" blog is at damonpoole.blogspot.com; twitter: @damonpoole

Page 3: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -3-

Optimizing YourSoftware Process

Top 5 Agile Process Challenges

1. Getting to “Done”

2. Synchronizing distributed teams

3. Delivering the right stories

4. Managing the pace of short iterations

5. Scaling Agile, mixed with traditional

Page 4: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -4-

Optimizing YourSoftware Process

Jan Mar May JulFeb Apr Jun Aug Sep

Specify Design Code IntegrateWrite tests

DocPlan Test

Traditional Development

Page 5: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -5-

Optimizing YourSoftware Process

Jan Mar May JulFeb Apr Jun Aug Sep

Specify Design Code IntegrateWrite tests

DocPlan Test

Traditional Development

Page 6: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -6-

Optimizing YourSoftware Process

The Timeline of One User Story

Within an Iteration

DS CI W T

D

Page 7: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -7-

Optimizing YourSoftware Process

The Timeline of All User Stories

Within an Iteration

DS CI W T

DDS C IW T

DDS C I

W T

D

DS C I W TD

DS CI W T

DDS C IW T

DDS C I

W TD

DS CI W T

DDS C IW T

DDS C I

W TD

Page 8: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -8-

Optimizing YourSoftware Process

One Piece Flow

DS C IW

TD

DS C IW

TD

Within an Iteration

Page 9: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -9-

Optimizing YourSoftware Process

One Piece Flow

DS C IW

TD

DS C IW

TD

DS C IW

TD

DS C IW

TD

DS C IW

TD

DS C IW

TD

DS C IW

TD

DS C IW

TD

DS C IW

TD

DS C IW

TD

Within an Iteration

Page 10: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -10-

Optimizing YourSoftware Process

CI

ws

ws

ws

ws

ws

ws

main

Continuous Integration on Mainline Only

Minutes Hours

Team A

Team B

Page 11: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -11-

Optimizing YourSoftware Process

CI

CI

CI

Team A

Team B

ws

ws

ws

Multi-Stage Continuous Integration

Minutes Hours

int

Daily

ws

ws

ws

Page 12: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -12-

Optimizing YourSoftware Process

Collocation

Infrequent coordination

San Jose

Boston

ChennaiKiev

Architect

Developer

Doc writer

Product Owner

Tester

Scrum Master

Constant communication

Page 13: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -13-

Optimizing YourSoftware Process

Collocation

• Low bandwidth

• High latency• Not always

avail.

• High bandwidth

• Low latency• Usually

available

San Jose

Boston

ChennaiKiev

Architect

Developer

Doc writer

Product Manager

Tester

Page 14: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -14-

Optimizing YourSoftware Process

Visualizing Team and Process Structure

Int

Int

Int

Page 15: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -15-

Optimizing YourSoftware Process

Support for Remote Teams Under One Process

All developers appear to be co-located, utilizing same processes with lower complexity

All developers see and integrate their work with other remote teams on a real-time basis

Full compliance with a consistent process• Increase trust across the teams

Automated visual processes• Developers have full visibility into process• Reduce time-slicing

Page 16: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -16-

Optimizing YourSoftware Process

todo wip coded tested done

3244 – Surveyor wants to remove

a question

1

3245 – Surveyor wants to create a multiple choice

question

3 3246 – Surveyor wants to create a

true/false question

2

3247 – Surveyor wants to add a

freeform question

3

3242 – Surveyor wants to browsesurvey results

3

backlog

3241 – User wants to take a survey 5

3243 – Surveyor wants to add anew question

3

wip coded tested done

Page 17: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -17-

Optimizing YourSoftware Process

Branches/Streams

Team Workflow

wip coded tested done

Page 18: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -18-

Optimizing YourSoftware Process

Team Workflow

wip coded tested done

CI CI CI CI

Page 19: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -19-

Optimizing YourSoftware Process

Team Workflow

wip coded tested done

Page 20: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -20-

Optimizing YourSoftware Process

Team Workflow

wip coded tested done

3252 – User wantsto hide a depot 23251 – User wants

to split a depot 53246 – Surveyor wants to create a true/false question

2

Page 21: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -21-

Optimizing YourSoftware Process

User Story Management

12536 - As a user I want my voicemailsent to my e-mail inbox.

8

User Story ChangePackage

Files& Tests

Product

Page 22: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -22-

Optimizing YourSoftware Process

Agile & Non-Agile Teams

new reviewed todo wip coded tested done prod

Backlog

CI CI CI CI

Sprint

new reviewed todo wip coded tested done prod

Backlog

CI CI CI CI

Sprint

open int test uat

CI CI

Waterfall

Web Team

Mobile Team

DatabaseTeam

(1 Week)

(3 Weeks)

(1 Year…?)

todo wip coded tested

Backlog

CI CI CI CI

Sprint

new reviewed reviewed done prod

Boston

San Jose

Kiev

Page 23: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -23-

Optimizing YourSoftware Process

new reviewed todo wip coded tested done prod

Backlog

CI CI CI CI

Sprint

Complexity of Parallel Development

new reviewed todo wip coded tested done prod

Backlog

CI CI CI CI

Sprint

new reviewed todo wip coded tested done prod

Backlog

CI CI CI CI

Sprint

5.1

5.0

4.04.14.2

5.0.1

5.0.2

new reviewed todo wip coded tested done prod

Backlog

CI CI CI CI

Sprint

Page 24: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -24-

Optimizing YourSoftware Process

Visualizing Your Enterprise-Wide Process

Page 25: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -25-

Optimizing YourSoftware Process

Agile SCM Allows for Complex Development

Creating a development hierarchy to map and manage your process solves this problem

Completed stories are pushed from one stage to the next

Code grows increasing stable at each stage of the hierarchy

Automatic Merging of “Done” code to other Teams

Makes merging on a frequent basis easy and straightforward

Page 26: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -26-

Optimizing YourSoftware Process

Continuous Flow

Int

Int

Int

Master Backlog Colo

Teams

Cross Functional

Continuous Integration

User Stories

Agile WorkFlow

Page 27: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -27-

Optimizing YourSoftware Process

Continuous Flow

Int

Int

Int

Hooray!

Page 28: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -28-

Optimizing YourSoftware Process

Agile SCM Enables You to…

1. Visualize your entire process

2. Implement Multi-Stage Continuous Integration

3. Virtually co-locate teams

4. Automate and optimize your process

5. Get to “done” frequently and consistently

6. Deliver the right stories

7. Move to short iterations without producing gridlock

8. Increase agility even with many teams and multiple processes

Page 29: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -29-

Optimizing YourSoftware Process

Put Your Actual Process Directly into AccuRev

Data and process are separated

Arduous process to setup and change

Cannot enforce engineering process

Using a Legacy Architecture

Visualization and control of process

Best practices built-in

Control & enforcement of distributed developers and complex processes

AccuRev StreamBrowser™

Page 30: © 2011 AccuRev, Inc. All Rights Reserved -1- Optimizing Your Software Process AccuRev Proprietary and Confidential Information - © 2011 Optimizing Your

© 2011 AccuRev, Inc. All Rights Reserved -30-

Optimizing YourSoftware Process

AccuRev Proprietary and Confidential Information - © 2011

Optimizing Your Software Process

AccuRev Inc.

www.accurev.com

[email protected]

1-800-383-8170 or +1-781-861-8700

Thanks!