The Broken State of Process Improvement in Software Development


Published on

Experimentation and the scientific method are very valuable for validating business opportunities. The Lean Startup and Lean UX are driving new thought patterns in the software development world. However, despite all the new thinking on product, rarely do organizations apply these techniques to their processes, opting for inefficiently adding more steps ad nauseum until productivity has ground to a halt. We’ll cover the following topics:

What are processes, and why do we need them
How processes affect delivery and productivity
Scale and process inefficiency
Process experimentation techniques
Designing productive processes

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

The Broken State of Process Improvement in Software Development

  1. 1. Agile India 2014 BROKEN STATE OF PROCESS Why software process improvement is broken… and what to do about it…
  2. 2. A BIT ABOUT ME… ThoughtWorker Product Manager by trade See a lot of processes Unfortunate Six Sigma Black Belt Fascinated by process wonkery !2
  3. 3. GOAL: TRY, MEASURE, LEARN ! Software development processes… Be incremental about your process, just like your delivery !3
  4. 4. HOW WE THINK ABOUT PROCESS IMPROVEMENT IS BROKEN Too many people like me are telling you what you *should* do… !4
  5. 5. WE ARE OBSESSED WITH… Frameworks Methodologies Practices your ▫︎ Small batches, watchdelay queues easure ▫︎ Mair the cost of ▫︎ Pcrum/Kanban/SAFe ▫︎ S o TDD ▫︎ Do CI ▫︎ Do CD ▫︎ DeanUX ▫︎ LBurn up ▫︎ Run experiments ▫︎ Build, Measure, Learn ▫︎ Control chart ▫︎ ! ! ! All great guide posts but… !5
  6. 6. WHAT’S THE POINT? Why do we have processes in the first place? Hans Splinter - 4885276155/ via cc !6
  7. 7. REDUCE VARIATION IN A BUSINESS OUTCOME Your process shouldn’t get in the way… !7
  8. 8. A BAD PROCESS Doesn’t achieve the outcome ! OR ! Doesn’t reduce variation in that outcome ! !8
  9. 9. WHAT ARE YOUR OUTCOMES THEN? Jim Highsmith’s Agile Triangle Value (Releasable Product) ace Speed Quality Performance Compliance User Experience Responsiveness e Learning Figure 4: The Agile Triangle Customer Satisfaction … !9
  10. 10. PRINCIPLES OF PRODUCT DEV FLOW Read it Particularly the chapter on variation ■ Pay-off functions ■ Pay-off asymmetries ■ Some of it is wrong :-) Reducing variation isn’t bad, reducing it irrespective of the outcome is bad !10
  11. 11. HOW DO PROCESSES AFFECT YOUR OUTCOMES? Let’s talk about throughput to make things easy… !11
  12. 12. MARGINAL BENEFIT OF ADDITIONAL PROCESS It turns negative! Assuming small discrete steps as a simplification… !12
  15. 15. REAL EXAMPLE - CUSTOMER CONVERSATION Problem: Poor Unit Testing Solution: Attach tests to stories, fill out form ! Cost: 300 Devs X 10mins per check-in X 200 Days X 3 checkins per day = ! 30,000 Hrs or 15 Person Years !15
  16. 16. STANDARDIZATION Ut oh… Let’s challenge a scaling core belief !16
  18. 18. DIFFERENT TEAM OUTCOMES? How can you go “faster” if need to follow “slow” processes? ! Do you have “special”
 teams? via cc !18
  19. 19. WHAT HAPPENS WHEN OUTCOMES CHANGE? Speed Quality Performance Compliance User Experience Responsiveness Felix Burton - via cc Org process rollouts tend to be big bang. Learning Customer Satisfaction … !19
  20. 20. STANDARDIZATION CREATES RESPONSIBILITY DISCONNECT Rarely do leaders blame the process for poor outcomes A2gemma - via cc !20
  21. 21. REPORTING IS NOT AN OUTCOME If you have a bunch of process or unnecessary standardization to facilitate the “right” report for managers or the PMO, you’re doing it wrong… Good reporting = side effect of good process !21
  22. 22. SCALE ISN’T AN EXCUSE FOR PROCESS COMPLEXITY Scale brings complexity. Just like in a good product, your job is to strive for simplicity despite the complexity. Hide complexity from your teams. !22
  23. 23. WHY DO WE STANDARDIZE? ▫︎ People fungibility ▫︎ Reporting ▫︎ Management convenience ▫︎ Investment management ▫︎ Common language across teams !23
  24. 24. SOLUTIONS? Questions and practices as guide posts! !24
  25. 25. How complex is your process? ! Can a random team member accurately describe your process? !25
  26. 26. Are your processes any good? ! Are you hitting your outcomes? Are you hitting your outcomes consistently? !26
  27. 27. Do you have feedback loops across organizational hierarchy? ! Do your standards change? Is there a visible feedback mechanism? !27
  28. 28. How much time do you spend administering your processes a day? ! Do you “work the spreadsheet”? Does reporting take days? !28
  29. 29. TRY, MEASURE, LEARN Ideas Try Learn Data principles Steps Measure !29
  30. 30. EXPERIMENTS ▫︎ ▫︎ ▫︎ ▫︎ ▫︎ ▫︎ Clear hypothesis/problem statement Ability to measure the result Constant monitoring of biz outcomes Stop things that hurt outcomes or affect variation (in an unwanted direction) Learn a bit about stats Rinse, repeat !30
  31. 31. MINIMUM VIABLE PROCESS from the minimum amount ▫︎ Startthe outcome you want. of process required to get ! ▫︎ Tweak until you get the right consistency (process costs) goals, as marginal ▫︎ Carefully add to support for other (try to subtract things, additions eventually turn negative ! and keep measuring outcomes!)
 ▫︎ The Improvement Kata looks interesting (I haven’t used it !31
  32. 32. MINIMUM VIABLE STANDARDIZATION ▫︎ Start from the minimum amount of standardization for visibility and communication. (e.g. 3 key metrics, or common names for work items) ▫︎ ! ▫︎ ! Make sure your base standardization gives teams plenty of wiggle room. Carefully add, measuring the outcomes !32
  33. 33. N ow O SS ! SHAMELESS PLUG !33
  34. 34. TRY, MEASURE, LEARN PROCESSES HAVE COST ! KNOW YOUR OUTCOMES ! Then have fun with all those frameworks, methodologies, and practices !34
  35. 35. THANK YOU! Twitter: @twchad