How Outcome Driven Development
Planning Changes Everything
OUTCOMES vs. OUTPUTS
Chris Reynolds
How Outcome Driven Development
Planning Changes Everything
Chris Reynolds
OUTCOMES vs. OUTPUTS
AGILE 101
FIXED SCOPE PROJECTS
➡ Hard deadline
➡ Defined feature set before the
project begins
➡ Change orders
➡ Scope creep
➡ Unknown outcomes
AGILE 101
AGILE PROJECTS
➡ Moving deadline/continuous
development
➡ Time & materials
➡ Flexible feature delivery
➡ Descoping to meet deadlines
➡ Unknown outcomes
ESTIMATION
FIXED SCOPE PROJECTS
➡ Time-based (1 hour, 12 hours, 3
days)
➡ Developer shortcuts
ESTIMATION
AGILE PROJECTS
➡ Complexity-based (Fibonacci, t-
shirt sizes, planning poker)
➡ Embrace the unknown
DEVELOPMENT
PLANNING
CREATING TICKETS
Feature-based
➡ What do you want it
to do?
➡ How does it work?
➡ How urgent?
DEVELOPMENT
PLANNING
CREATING TICKETS
Bugs
➡ What’s broken?
➡ What needs to be
fixed?
DEVELOPMENT
PLANNING
OUTPUT-BASED
➡ Add an image gallery
block to posts
➡ Create a case study
post type for sharing
work
➡ Load more button is
broken
➡ Site search does not
work
➡ Email alert issues
➡ Social media feed
needs to be
DEVELOPMENT
PLANNING
OUTCOME-BASED
➡ Posts have the ability
to add image
galleries
➡ Encourage sharing
work on the site
through case studies
➡ Load more button
should load more
posts on the archive
page
➡ Site search should
show relevant results
OUTCOMES VS OUTPUTS
Car safety features
➡ Accident injury
prevention
Outcome
➡ Seatbelts
➡ Airbags
➡ Child car seats
Output
Image Src Vectors by Vecteezy
BUT WHY?
➡ Accept the unknowns
➡ We don’t know the best
implementation
➡ Focus on the need
➡ Refrain from locking into a
specific implementation
BUT HOW?
➡ Ticket titles!
➡ Ticket descriptions!
➡ Don’t propose solutions
in ticket creation and
refining
➡ Clear requirements,
clear acceptance criteria
➡ Context about needs
➡ Keep the descriptions
up-to-date
LONGER-TERM PLANNING
TIME HORIZONS vs. TIMELINES
Near TermCurrent Future
Focus on objectives and outcomes over specific features
ABOUT ME
Chris Reynolds
Senior Engineer @ Human Made
https://chrisreynolds.io
jazzs3quence
http://s3q.us/outcomes

Outcomes vs Outputs: How Outcome Driven Development Planning Changes Everything

Editor's Notes

  • #4 Agile 101 Fixed scope projets Hard deadline Defined feature set before the project begins Change orders Scope creep Unknown outcomes
  • #5 Agile projects Moving deadline/continuous development Time and materials Flexible feature delivery Descoping to meet deadlines Unknown outcomes
  • #6 Estimation Fixed scope projects Time-based (1 hour, 12 hours, 3 days) Developer shortcuts
  • #7 Agile projects Complexity-based (Fibonacci, t-shirt sizes, planning poker) Embrace the unknown and be honest with what we don’t know
  • #8 Development planning Creating tickets Feature-based What do you want it to do? How does it work? How urgent?
  • #9 Bugs What’s broken? What needs to be fixed?
  • #10 Output-based Add an image gallery block to posts Create a case study post type for sharing work Load more button is broken Site search does not work Email alert issues Social media feed needs to be accessible
  • #11 Outcome-based Posts have the ability to add image galleries Encourage sharing work on the site through case studies Load more button should load more posts on the archive page Site search should show relevant results Email alert issues — Epic, Needs discovery Social media feeds needs to be accessible — Epic, needs discovery
  • #12 Outcomes vs. outputs Car safety features Output Seatbelts Airbags Child car seats Outcome Accident injury prevention Over time, outputs may change, but the outcome remains the same as technologies or needs change and evolve
  • #13 But why? What difference does outcome based development planning make over output? Accept the unknowns Software development is about building things for the first time We don’t know the best implementation Focus on the need Refrain from locking into a specific implementation This can lead to developing for something other than what might be the best solution for a problem
  • #14 But how? Ticket titles! Framing the title of a ticket with an outcome-based solution helps to frame the conversation Ticket description Don’t propose solutions in the ticket creation and refining process Focus instead on what the outcome is, let the development team figure out the output Clear requirements, clear acceptance criteria Again, AC needs to be outcome-based, not output based Context in the ticket about why and what the needs are This helps development target the actual need, based on stated conclusions rather than developer assumptions Keep the description up-to-date It’s less mental overhead if all the relevant information and context is in the description rather than forcing developers to read the entire thread
  • #15 Longer term planning Stop planning on timelines Use time horizons, instead Current Near Term Future Focus on outcomes and objectives over specific features Even if features might be part of the conversation, steer discussion toward desired outcomes
  • #16 Questions?