Software Requirements Generation & Management – Who Should Be Involved?

Everyone should agree that, when embarking on a new software development project, having a well-defined set of requirements is a good thing. The next big question is to whom should the task of generating and managing those requirements fall to?

When you think about it, it is unlikely to be just a one man job, especially when it comes to large scale projects. There may be one person who coordinates and pulls things together, but in reality there will be a number of other stakeholders that will have an input into the process.

1) The Business Analyst

It is the responsibility of the business analyst to work with clients in order to elicit and refine the Business Requirements for a system. If you don’t have an individual that falls under this job title within your organisation, don’t panic. It isn’t a necessity for the business analyst to be a part of your team. They can easily be employed by your clients to prepare the Business Requirements prior to your engagement, or maybe even be sourced from an third party, however their responsibilities will always remain the same.

2) The Requirements Engineer

While it is nice to have Business Requirements, they do little more than outline the goals and expectations of the client at a high level. In order to establish the fine details on how the system will operate, Business Requirements need to be broken down and outlined as Software or System Requirements. This task falls under the responsibility of the requirements engineer. Due to the technical nature of Software/System Requirements and their impact on the project as a whole, a senior software or system engineer who understands the importance of writing good software requirements should ideally fill the position of requirements engineer.

3) The Project Manager

There are a lot of similarities between the project manager and the business analyst, so much so that they often end up being the same person. However, they differ significantly when it comes down to the tasks they are responsible for during a development. Where the business analyst communicates with the customer to gather the initial requirements and understand the problem they are trying to solve, it is the responsibility of the project manager to ‘manage’ the requirements. Ensuring that resources are made available and that the final result is delivered on time and within budget, whilst meeting the expectations of the client, all falls under the responsibilities of the project manager.

1) The Client

In a perfect world, the client would hold total responsibility for creating a projects requirements, but unfortunately this is very rarely the case. In many cases clients find themselves lacking the necessary technical expertise, leaving them with an idea of what they want from a system but without the means to detail how they plan to achieve it. However even in situations where the client has handed over the responsibility for requirements, they should still have the final say and give their approval before any further work begins.

Each of these roles play a part in the requirements development process but there is nothing saying that they have to all work within the same organisation. Sometimes it can be beneficial to get an external view of the situation, and gather ideas that may not have been considered otherwise.

More From The Blog

IR35, Here it Comes Again…

IR35, Here it Comes Again…

IR35, Here it Comes Again...In 2021 the reform to IR35 Off-Payroll rules is to be rolled out to the private sector. As before the reform will only affect companies that do not meet the following attributes: an annual turnover below £10m fewer than 50 employees or a...

Solving the Resource Conundrum

Solving the Resource Conundrum

Solving the Resource ConundrumPicture this. One minute all is fine and dandy, you have access to all the resources you could possibly need, then bam an unexpected challenge arises. Suddenly you find yourself lacking the capacity to meet the new need. What are your...

Quality – An Aid to Produce Consistent Rubbish

Quality – An Aid to Produce Consistent Rubbish

Quality - An Aid to Produce Consistent RubbishAnother year has passed, and myself and a colleague have hosted a BSI auditor for our annual ISO9001/TickITplus check-up, and in fact this was more than the regular check, in that it was our 3-year re-certification audit,...

The Hazards of Legacy Systems

The Hazards of Legacy Systems

The Hazards of Legacy SystemsBeing the owner of a software system with a dedicated customer base sounds like the kind of position one would like to find themselves in. At least until it gets superseded and you have to face dealing with a legacy system. Many developers...

How to Test Without Access to The Test Environment

How to Test Without Access to The Test Environment

How to Test Without Access to The Test EnvironmentIn many of our previous articles, we have expressed the importance of achieving a high standard of testing. Potentially blocking this achievement, several factors can come together to affect the quality of your...

The Technical Workshop – How To Make Them Work For You

The Technical Workshop – How To Make Them Work For You

The Technical Workshop - How To Make Them Work For YouAnyone experienced in product design will understand just how valuable a facilitated workshop can be. Bringing together a project's key stakeholders into a single space allows for the exploration of diverse...

Developing Software for Safety Related Systems

Developing Software for Safety Related Systems

Developing Software for Safety Related SystemsSoftware systems should always be both robust and reliable, however the moment you introduce a safety element, this need for reliability increases significantly. The level of safety required is governed by the severity and...

How to Choose an Outsourcing Partner

How to Choose an Outsourcing Partner

How to Choose an Outsourcing PartnerHaving recognised a need to outsource, and worked your way through the initial preparations, you are now in a strong position to seek out a suitable partner. Choosing an outsourcing partner is no trivial affair, so taking the time...