Where I live the roads are truly shocking. I live in the countryside, in an area where the land used to be under the sea. The ground is very soft and the soil is very rich. This is great for growing most of the vegetables that make it onto our dinner plates, but not so great for holding up a road.
This means that the local authorities have quite a task on their hands to try and keep on top of highway maintenance. In some places they seem to have given up. Then the council came up with a plan. They installed a sign warning motorists of a “Damaged Road Surface”. There. It’s our problem now. Every time I saw one of these signs I’d scoff and shout “THAT’S NOT A FIX!” I’d wonder what the comparable action would be in terms of Software Engineering. “Warning: this code has unpredictable output!”
The whole thing is totally ridiculous. Or so I thought, until I started thinking about our backlog.
Prior to a backlog refinement session we held last week, our backlog had about 140 items on it. By the end of the meeting the backlog was still over one hundred items. Since our throughput as a team is no more than ten stories per month, this was setting ourselves up for about a year of work. More, since some of those stories still seemed quite “epic”.
I’ve long said that keeping more than about six months’ worth of work isn’t helpful. I think that if you add something to your backlog that you don’t intend to do within six months then you are effectively lying to the customer/stakeholder if you don’t tell them “no, we won’t have time”. Once you’ve added it to the backlog the customer expects that you’ll get around to it. If you’d simply said no in the first place then you manage their expectations and, in the best case, they might find an alternative way to achieve the same outcome.
I can’t help but think that this might have happened with the roads where I live. My guess is that the department at the council responsible for resurfacing the roads decided that they didn’t have the time, money or resources to complete the work “soon”. By being honest about this, they have given a signal for someone in the local authority to decide upon an alternative option in the meantime: warn drivers so that they can slow down. Had there been an expectation that the road would be fixed “soon” then this extra sign would not have been put into place.
Obviously, saying “no” to your customer or stakeholder very often can lead to undesirable behaviour.
In our case, it seems as though we may have trained our stakeholders not to ask for new things to be done as they already know we are at capacity. We recently encountered a situation where someone had tried to implement an alternative approach to solving a problem, but they hadn’t spoken to us first. It turned out – a long way down the line – that they could not do what they wanted to do. We could have told them this up-front, without the wasted effort they had invested in the project so far.
Another road sign nearby is supposed to convey the same message. It simply shows an exclamation mark (!) in a red triangle. There is no text providing more context. It’s a sign that tells the motorist something, but not enough for it to be useful. In fact, it’s terrible.
I feel a bit like we encountered a problem akin to the second sign. The stakeholder has tried to work around the issue of our busy schedule, only to find themselves without a product that achieves the desired effect.
We should “Say No” more often, but when we do we have to make sure that we continue to hear ideas from our stakeholders and give them advice on the best approach.