In a recent Twitter discussion about requirements management, I wrote,
"Requirements management is like bookkeeping. You need to do it in business, but it doesn’t guarantee profits”
The reply by Ethar Alali very much the state how requirements are managed today.
I think we need to have three needs for requirements management and that the petty cash way of working is not scalable in larger organisations.
The first is to assure quality of the requirements. They should be verifiable, clear, complete, consistent, traceable, viable, necessary and implementation free.
The second is to assure that we keep track of the requirements, and use them as a tool for planning chunks of work, like sprint planning in an agile project. In order to do a good planning, we also need to assure that we have enough of requirements to fullfil the business need, without asking for more resources down the line.
The third is the impact of the requirement that is implemented on other projects, products or user behaviour. Do this implementation of a requirement have an impact on integrations to other systems? Is this a requirement that is valid for other products and should be implemented there to? Will this requirements change how a user does his daily work in a negative way?
If we look at requirements management in a tool like Jira, my personal experience is that they support the second demand for project planning purposes, but not assure that we miss any requirements. Neither do they cater for the quality of the requirements or the impact of the implementation of requirements in other areas.
What we have in software development today is, at the best, the equivalent of bookkeeping in companies. We keep track of all invoices and get the numbers right for accounting purposes. But, if we sell products with profit or loss is somebody else responsibility.
The consequences of not managing requirements in complex situations is well known. Projects take more time, costs more and deliver less value than expected.
The questions is how to improve todays situation with both waterfall and agile development practices, outsourcing, cloud and digital transformations?