The misplaced and flawed conception of requirements work leads to a death spiral
Lindsay Weinstein and Jacob Simon perform a so called death spiral at the 2015 U.S. National Figure Skating Championships.
Imagine that you are working in an organisation with diverse knowledge of requirements work. Some projects work better than others and you don’t think so much about it. You write requirements because you are used to do so and to be honest, you don’t really understand why. When you started to work here you tried to question the current way of working but had no clear answer from either colleagues or your manager “we use requirements as part of contracting” you were told. You have some processes in place explaining the different steps on a high level focusing on handover, roles and responsibilities. You also have a requirements management tool where you store your requirements. You basically use this to be able to link requirements to test cases in the testing tool and that seems to work.
So, now after a couple of years on the job you have stopped to think about the steps of writing a specification at the start of any new project. You have actually seen that even though you discuss about the increased technological complexity in your domain, your feeling is that you cut-n-paste more now than ever and you look with envy on that other project that talks about new agile methods and reduced amount of documentation. To be honest it’s not at all fun writing documents. That was not the reason why you chosen to become an engineer in the first place.
“I wonder if we should consider skipping the boring requirements definition part and go straight to the more interesting and (for me) rewarding design phase”, you think. No one seems to care anyhow, well that’s not entirely true. Both people from contracting and test usually come when we are almost done and starts to question our work, saying that we have deviated from the requirements. It’s a habit they evolved actually. The new project that works agile explains that they will not have this problem. They have daily meetings and meet the customer on a regular basis. That’s good since the customer have changed their mind a few times now, even after the contract was signed.
You have also noticed when you get those monthly reports that the company is starting have problems with lost market shares, lower cash flow due to projects having problems delivering and increased customer complaints. But these problems will surely fix themselves now when the CEO was replaced and the new one talks about “maximizing the value flow” and put focus on “optimizing the innovation throughput”. You have also heard rumours about a reorganisation to help the organisation to change.
Does any of this seem familiar in any way? Well, for me I have come across this multiple time in the past. I have reorganised just to be reorganised six month later. Introduced new improved processes and Lean methods and coached, trained, managed and supervised people with various degree of interest or change resistance.
I will try to elaborate around WHY the above occur and especially the role that BAD REQUIREMENT PRACICES. So what has requirements got to do with all of the above? I call it the Spiral of Death.
The spiral of project death
So what is this picture basically saying? Well, If one starts with unclear needs from a customer or other stakeholders, they will for sure result in an unclear input to the project and design efforts. I am not saying in any way that we need to stay in the needs definition or requirements specification phase “for ever”, but we absolutely need to be sure of the boundaries of the project (the scope), the market drivers (the unique selling points), the risks and the fundamental needs from bench marks, surveys and support and failure logs.
If we rush through this phase and quickly “cut and paste” from previous and similar projects we will start of on the wrong foot, loose track on special needs, the context and engineering decisions made in the source project. We will start the troublesome journey downwards the spiral of death.
But, you might say. We do extensive peer-reviews on our requirements both before we start as part of the contract review AND as part of our engineering process OR we do agile development so we find out quite early where we have made mistakes and are able to correct these. The problem must lie somewhere else?!
NO, they absolutely do not and next time I will continue to discuss this topic focusing on understandability, peer-reviews as a phenomenon and provide examples and evidence supporting my statement made in this blog post.
Until then, be careful out there 😊