“Only variation can absorb variation” (1) Ashby
Software is intangible, is the result of knowledge work, and is very much prone to variation. In this post, variation means anything that changes the nature of work.
A few weeks ago my car broke down, it refused to start. In one of those mysterious twists of events, by the time the roadside assistance arrived, the car had decided to start. I did not feel safe with something as unreliable as that, so I called my pre-paid service and booked a slot for a month in advance to have it checked. Within a week of the first event, the car wouldn’t start again. This time, it left me on the side of the road. With the lessons learned from the first incident, I waited a while, and it turned on again. So I drove it to the mechanic, who, to my dismay, advised that they would honour my initial booking, because they were working “at capacity” and wouldn’t have time to check what is wrong with my car until the time of my original booking.
The keywords of the story is “AT CAPACITY” meaning, “they are dealing with the maximum number they can take”. Implied in those words that they cannot deal with unforeseen events:
- A car breaking down like mine.
- A repair that takes more time than allotted.
- A missing piece than needs to be shipped.
All these events and others, introduce “variation”, and their system does not seem prepared to absorb it. The symptoms of being unable to cope, is that small interruptions cause big disruptions.
Now, let’s focus on software development. Software development is a more intangible domain than car repairs. As software developers, we are more exposed to variation:
- A character is placed in the wrong position.
- A changing requirement
- An unclosed “‘“ in a connection string
- An obscured error message from an outsourced API.
As such, to keep the process flowing it is imperative that we accommodate for variation. Our iterations|sprints can not be managed “at capacity”. Else, we cannot accommodate variations/changes.
- Are your cards the beginning of conversations?
- Do you plan for your team’s capacity at the beginning of each sprint?
What are your sources of variation and how do you deal with them in your interactions|sprints?
Leave me a comment.
- I believe instead of variation, Ashby used the word variety. I prefer the word variation, which sounds more modern to me 🙂