The Broken State of Process Improvement in Software Development

50 %
50 %
Information about The Broken State of Process Improvement in Software Development

Published on March 6, 2014

Author: twchad



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

Agile India 2014 BROKEN STATE OF PROCESS Why software process improvement is broken… and what to do about it…

A BIT ABOUT ME… ThoughtWorker Product Manager by trade See a lot of processes Unfortunate Six Sigma Black Belt Fascinated by process wonkery !2

GOAL: TRY, MEASURE, LEARN ! Software development processes… Be incremental about your process, just like your delivery !3

HOW WE THINK ABOUT PROCESS IMPROVEMENT IS BROKEN Too many people like me are telling you what you *should* do… !4

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

WHAT’S THE POINT? Why do we have processes in the first place? Hans Splinter - 4885276155/ via cc !6

REDUCE VARIATION IN A BUSINESS OUTCOME Your process shouldn’t get in the way… !7

A BAD PROCESS Doesn’t achieve the outcome ! OR ! Doesn’t reduce variation in that outcome ! !8

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

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

HOW DO PROCESSES AFFECT YOUR OUTCOMES? Let’s talk about throughput to make things easy… !11

MARGINAL BENEFIT OF ADDITIONAL PROCESS It turns negative! Assuming small discrete steps as a simplification… !12



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

STANDARDIZATION Ut oh… Let’s challenge a scaling core belief !16


DIFFERENT TEAM OUTCOMES? How can you go “faster” if need to follow “slow” processes? ! Do you have “special”
 teams? via cc !18

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

STANDARDIZATION CREATES RESPONSIBILITY DISCONNECT Rarely do leaders blame the process for poor outcomes A2gemma - via cc !20

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

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

WHY DO WE STANDARDIZE? ▫︎ People fungibility ▫︎ Reporting ▫︎ Management convenience ▫︎ Investment management ▫︎ Common language across teams !23

SOLUTIONS? Questions and practices as guide posts! !24

How complex is your process? ! Can a random team member accurately describe your process? !25

Are your processes any good? ! Are you hitting your outcomes? Are you hitting your outcomes consistently? !26

Do you have feedback loops across organizational hierarchy? ! Do your standards change? Is there a visible feedback mechanism? !27

How much time do you spend administering your processes a day? ! Do you “work the spreadsheet”? Does reporting take days? !28

TRY, MEASURE, LEARN Ideas Try Learn Data principles Steps Measure !29

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

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

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


TRY, MEASURE, LEARN PROCESSES HAVE COST ! KNOW YOUR OUTCOMES ! Then have fun with all those frameworks, methodologies, and practices !34

THANK YOU! Twitter: @twchad

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

The Broken State of Process Improvement in Software ...

The Broken State of Process Improvement in Software Development ... Lean UX are driving new thought patterns in the software development world.
Read more

ITS | Methodology > Process Improvement - Redesign

Development /Alumni Systems ... state process models as needed for improvement explanation and recommendations. Process models are used and updated ...
Read more

Process Improvement - UMD Department of Computer Science |

standard for software development. Development processes are ... This is the initial state. ... cost of software process improvement activities $ ...
Read more

Continuous Process Improvement | The MITRE Corporation

Continuous process improvement is the set of on-going ... The state-of-the-art in system development management has evolved ... Open Source Software;
Read more

Continual improvement process - Wikipedia, the free ...

Continual improvement process ... than the radical changes that might arise from Research and Development; ... for software development process ...
Read more

Handbook for Basic Process Improvement - Welcome to The ...

... Handbook for Basic Process Improvement ... few people will know how to state the process improvement ... development, sharing knowledge ...
Read more

4 Steps for an Effective Business Process Improvement ...

4 Steps for an Effective Business Process Improvement Cycle. ... employee development and training, ... What in the process is broken?
Read more

Business process improvement - Wikipedia, the free ...

Business process Improvement ... This process includes overseeing the development of the organization's mission, ... Software Process Improvement (SPICE)
Read more

A Business Case for Software Process Improvement REVISED

software development and process ... Siegel, J., Rozum, J., Carleton, A., “Software Process Improvement: State ... then be hierarchically broken in ...
Read more

Process Improvement: Learn How to Improve Your Business

Process improvement is a fundamental to business management. ... Processes are built to be broken; Forgetting about people: Process design and human nature;
Read more