Upload
myron-ellis
View
248
Download
0
Embed Size (px)
Citation preview
© 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
© 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
© 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
© 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
© 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
© 2011 AccuRev, Inc. All Rights Reserved -6-
Optimizing YourSoftware Process
The Timeline of One User Story
Within an Iteration
DS CI W T
D
© 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
© 2011 AccuRev, Inc. All Rights Reserved -8-
Optimizing YourSoftware Process
One Piece Flow
DS C IW
TD
DS C IW
TD
Within an Iteration
© 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
© 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
© 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
© 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
© 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
© 2011 AccuRev, Inc. All Rights Reserved -14-
Optimizing YourSoftware Process
Visualizing Team and Process Structure
Int
Int
Int
© 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
© 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
© 2011 AccuRev, Inc. All Rights Reserved -17-
Optimizing YourSoftware Process
Branches/Streams
Team Workflow
wip coded tested done
© 2011 AccuRev, Inc. All Rights Reserved -18-
Optimizing YourSoftware Process
Team Workflow
wip coded tested done
CI CI CI CI
© 2011 AccuRev, Inc. All Rights Reserved -19-
Optimizing YourSoftware Process
Team Workflow
wip coded tested done
© 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
© 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
© 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
© 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
© 2011 AccuRev, Inc. All Rights Reserved -24-
Optimizing YourSoftware Process
Visualizing Your Enterprise-Wide Process
© 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
© 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
© 2011 AccuRev, Inc. All Rights Reserved -27-
Optimizing YourSoftware Process
Continuous Flow
Int
Int
Int
Hooray!
© 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
© 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™
© 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
1-800-383-8170 or +1-781-861-8700
Thanks!