Académique Documents
Professionnel Documents
Culture Documents
Process:
Stories to
Code
Allen Holub
http://holub.com
allen@holub.com
@allenholub
http://holub.com/slides
© 2015 Allen I. Holub www.holub.com 1 © 2015 Allen I. Holub www.holub.com 2
You shouldn’t
have to beg to
get a tool that
helps you
work more
“It’s not the effectively.
equipment, man.”
Team has a
discretionary
budget for
tools, and is
Teams pick their trusted to
spend the
own tools money
appropriately.
© 2015 Allen I. Holub www.holub.com 3 © 2015 Allen I. Holub www.holub.com 4
? ✘
✘
Low-tech tools are best
✘
omnigroup.com
cenqua.com/pairon
Teams pick the epic!. Team Structure
Structure teams
around stories.
Red Team
UI Front Blue Team
Shopping
End Yellow Team
Cart
Infrastructure Green
Database
Team
Help Subsystem
Administration
Follows program structure.
Ordering
Jack-of-all-trades teams.
Follows probable story topics (e.g. Accounting
customer roles/categories). Customer
Service
© 2015 Allen I. Holub www.holub.com 11 © 2015 Allen I. Holub www.holub.com 12
Team Build/
Deployment Coach != Manage
Roles DBA Manage-
• The team’s in charge ment
Architect UI & Code Coach
Developers • No blame
• Removes obstacles to success.
Customer
Testers? • Runs interference.
(Product
Language Owner?)
Lawyer UI Design • Forces people not to work too hard
– “stealing from the future”
(Note
• Watches team interaction.
taker) Tech
UX – Developers may not break the process.
Writer
Librarian • Coordinates. Terminates pathological
iterations.
© 2015 Allen I. Holub www.holub.com 13 © 2015 Allen I. Holub www.holub.com 14
Time
Two
Design
Months
Build
Requirements
The steps are change constantly,
identical,
but the order based on feedback
© 2015 Allen I. Holub www.holub.com
differs.
19 © 2015 Allen I. Holub
from the user.
www.holub.com 20
An Agile system is a
“Lifecycle” is a flawed notion
continuously evolving
prototype.
Agile Prototype Mockup
Development
tasks
run in
Parallel
Stories
As a banking customer,
Updating a
✓
I want to withdraw some money from and
Logging in timesheet ATM
so that I don’t have to wait in line at the
bank.
Selecting an Option
© 2015 Allen I. Holub www.holub.com 29 © 2014 Allen I. Holub www.holub.com 30
Indicators of progress
schooners, and what not. And as for going as captain, I need
cook, - though I confess there is considerable
Customers are willing to accept the story as a sign of glory in that, a cook being a sort of officer on to add a
progress toward their larger goal.
harpoon gun
ship-board - yet, somehow, I never fancied
broiling fowls; - though once broiled,
to my whale
judiciously buttered, and judgmatically salted
Bite-sized
and peppered, there is no one who will speak
Completable within an iteration. Fits on a 4x6 card. more respectfully, not to say reverentially, of a
broiled fowl than I will. It is out of the boat so that I
Estimable
The technical side of the team must be able to guess how
idolatrous dotings of the old Egyptians upon
broiled ibis and roasted river horse, that you see can catch the
much of the team's time the story will require. the mummies of those creatures in their huge
bake-houses the pyramids. white whale.
© 2015 Allen I. Holub www.holub.com 33 © 2015 Allen I. Holub www.holub.com 34
The Epic
©2015 Allen I. Holub. All rights reserved. http://holub.com 39 ©2015 Allen I. Holub. All rights reserved. http://holub.com 40
Slice 1: a meal of salad Slice 2: a meal of salad & fish
©2015 Allen I. Holub. All rights reserved. http://holub.com 41 ©2015 Allen I. Holub. All rights reserved. http://holub.com 42
©2015 Allen I. Holub. All rights reserved. http://holub.com 43 ©2015 Allen I. Holub. All rights reserved. http://holub.com 44
Narrow the story “Tier-2” story
Contact Only: Handoff to tier 2
Just like the happy-path, but the customer hangs up after
the initial contact in order to collect additional information. Like the Happy-path story, except that the tier-one
We still create the profile with contact information, but the tech cannot solve the problem. The tier-1 tech
profile is otherwise empty. forwards that profile to the tier-2 tech as part of
Second Contact: the standard handoff. The tier-2 tech then
continues the conversation with the customer,
A customer who’s contacted us previously calls adding to, or modifying the profile as required. As
in with a problem. The tier-one tech fetches his
profile and adds any new information. This story before, the profile is immediately updated as the
is otherwise like the “happy path.” tier-2 tech modifies it.
© 2015 Allen I. Holub www.holub.com 45 © 2015 Allen I. Holub www.holub.com 46
Story
Ask: What are you doing that requires that feature?
Release
Traditional Release
Design
Most Important Story Release
Assess
Code Next Most Important
Test ~2 Weeks
Next Most Important
Demo Design/Code/Test‡
‡
Daily:
Least Important Story - fluid design
Choose Plan* - standup
- integration
Agile Story
*Assign Pairs
© 2015 Allen I. Holub www.holub.com © 2015 Allen I. Holub www.holub.com *Fix Story 52
Planning
Git reduces friction
Set up/groom story
board. What stories
Production
should be released Engineering
together?
Continuously
Release
Stories daily
Iteration
Start
15 min standup.
Plan this iteration’s
what am I doing?
work. Define
what’s blocking me?
implementation tasks.
½–2 hours.
© 2015 Allen I. Holub www.holub.com 53 © 2015 Allen I. Holub www.holub.com 54
#NoEstimates
Time
FRONT
finally
appears.
Tasks short, to BACK
...adds all tasks required estimable.
to implement story front
Tasks are fluid. implementation
to back!
© 2015 Allen I. Holub www.holub.com 63 © 2015 Allen I. Holub www.holub.com 64
Multiple teams work
Develop by story,
• in the same UI
not by class/feature/page.
• on the same web page
Implement front to back.
• in the same database
• in the same epics
http://holub.com/videos
© 2014 Allen I. Holub www.holub.com 69 © 2014 Allen I. Holub www.holub.com 70
DbC
Design an interface
based on a story
Pick a story
Actor Role
Accounting Dept.
Employee Timesheet Creates paychecks for Timesheet
Tracks time spent by an employee based on time sheet. Employee
Creates new time sheets as Timesheet Accounting
necessary and fills them employee working on a specific Dept.
out daily. project. Debit’s projects for time
spent working
Fixes errors in timesheets (e.g.
forgot to fill one in, yesterday)
90
All images used in this presentation are either used with permission, fall under “fair use,” or are in the public
domain. If I’ve inadvertently used an image to which you own the rights, please contact me at allen@holub.com,
and I’ll either delete the image or acquire usage rights, depending on cost.