Carry out software requirements engineering
Overview
This standard is about the elicitation, analysis and validation of requirements for creating or revising software solutions. This involves carrying out requirements engineering to identify and document new software requirements.
This includes identifying the correct stakeholders who can contribute to defining the characteristics of the required software solution, running stakeholder workshops to gather the requirements and then analysing, prioritising, specifying and managing them.
The requirements engineering process starts with a broad and general description of what the software needs to do and how it should perform with different users. It then requires stakeholders to define in detail the prioritised set of functional and non-functional requirements to specify the client software needs. These are then validated and documented in a clear and unambiguous way.
This standard is for those who undertake requirements elicitation, documentation and management.
Performance criteria
You must be able to:
work with client stakeholders to define the business problem and scope of the software solutions required
analyse the system processes to describe the software functionality required
identify and define the intended users of the software, their roles and levels of privileges required
- select and apply tools and techniques to elicit, document and manage detailed requirements in line with organisational requirements
conduct requirements elicitation workshops with client stakeholders and end users of the software to produce a list of software requirements
consult with clients to evaluate the software data processing and storage needs
capture all non-functional requirements, including accessibility requirements, to complete the list of software requirements
review and validate the requirements to ensure they reflect client needs
accurately map all requirements to business processes, critically assessing their alignment and outputs
prioritise requirements in line with business objectives and stakeholder needs
document requirements in line with organisational standards
develop requirements revision control procedures to define how changes will be managed
communicate the specification of software requirements with software development and testing teams
Knowledge and Understanding
You need to know and understand:
- the role of requirements in defining a client's software needs
- the difference between functional and non-functional requirements
- the criteria that may be used to clarify and prioritise functional and non-functional requirements
- the quality standards that documented requirements need to comply with
- the purpose of the change management process for managing software requirements
- the range of requirements elicitation techniques that may be used, along with their appropriateness, in different business contexts
- how to identify, select and apply the most appropriate tools and techniques to conduct requirements gathering activities
- the most appropriate approaches to use to analyse and assess gathered requirements
how to develop and maintain accurate plans for requirements gathering activities
the need to consider accessibility requirements
how to structure and run a requirements gathering workshop
- how to effectively manage the engagement with clients and stakeholders to agree requirements
- how to ensure that the relevant business objectives are clearly identified and confirmed with clients and stakeholders
- the relevant tools to use to map requirements to business objectives
- how to prioritise software requirements
- how to identify and resolve potential conflicts and issues associated with requirements
- how to accurately document gathered requirements