Ideally everyone from stakeholders to developers would work on the same team and be of the same mind, but that isn’t always the case. In fact, that is rarely the case.
Defining the Stakeholders
The “Anyone who directly or indirectly benefits from the system being built” is a little too vague in my opinion. Instead, at inception, determine who you want to get input from.
Recognize Different Viewpoints
Don’t pick only people from the same department. Getting a variety of views is important to determine who/what is the best options and input to contribute to the project’s success.
Work Toward Collaboration
When working with different groups, that each have their own ideas and agendas, it is important to work toward a common goal and get people to work together on what the actual end goals are going to be.
One way to do this is to ask “first questions” These let us know who needs it and if it should be built.
- Who is behind this request?
- Who will use the solution?
- What is the (economic) benefit of this solution?
- Is there another source for the solution?
The second set of questions focuses on the problem itself.
- What is considered “good” output?
- What problem(s) will this solution solve?
- What business environment will this solution be used?
- Are there any special performance issues or constraints we should be aware of?
Non Functional Requirements
The previous requirement questions should be around getting the correct answer/response. But there are other requirements that are needed as well? These are not revolving around getting the right result, but are just as important to making sure the solution is properly used.
These could be UI/UX related, performance related, or even security related.
Establishing the Groundwork was originally found on Access 2 Learn