Planning and Analysis

From Computer Science Wiki

Students must be able to identify the key stakeholders for a system, including users, clients and developers, and discuss the need to involve all primary stakeholders when gathering requirements.

In software development, stakeholders are individuals or groups who have an interest in or are affected by a system. Key stakeholders include users, clients, and developers. It is important to involve all primary stakeholders when gathering requirements for a system because they each have unique perspectives and needs that should be taken into consideration.

Users are individuals who will interact with the system on a daily basis and rely on it to perform certain tasks. It is important to involve users in the requirements gathering process because they can provide valuable insights into how the system will be used and what features and functionality are most important to them.

Clients are the individuals or organizations that commission the development of the system. They typically have specific business needs and objectives that the system should support. It is important to involve clients in the requirements gathering process to ensure that the system meets their expectations and requirements.

Developers are the individuals responsible for designing and building the system. They need to understand the requirements of the system in order to properly design and implement it. It is important to involve developers in the requirements gathering process so that they can provide input on what is feasible and what is not, and help to identify any potential challenges or issues that may arise during development.

Overall, it is important to involve all primary stakeholders when gathering requirements for a system because doing so ensures that the system meets the needs and expectations of all parties involved, and helps to ensure its success.

Students must be able to design a variety of requirement gathering methods as part of a structured consultation with stakeholders, which includes interviews, observations and surveys.

There are several requirement gathering methods that can be used as part of a structured consultation with stakeholders. Some of the most common methods include:

Interviews: Interviews involve one-on-one or small group conversations with stakeholders to gather information about their needs and expectations for the system. Interviews can be conducted in person or over the phone, and can be structured (with a predetermined set of questions) or unstructured (allowing for more open-ended conversations).

Observations: Observations involve watching stakeholders as they go about their work and gathering information about how they use existing systems and what their needs and challenges are. Observations can be conducted in person or remotely (e.g., via screen sharing).

Surveys: Surveys involve collecting information from stakeholders through a series of questions presented in a structured format (e.g., multiple choice, Likert scale). Surveys can be administered in person or online, and can be used to gather information from a large number of stakeholders in a relatively short period of time.

When designing a requirement gathering method, it is important to consider the specific needs and objectives of the project, as well as the preferences and availability of the stakeholders. Some stakeholders may prefer to participate in an interview, while others may prefer to complete a survey. It may be necessary to use a combination of different methods in order to gather the most comprehensive and accurate information.

Students must be able to analyse existing systems, internal organisational constraints and competing products to extract information, including document collection, relevant for developing system requirements.


There are several techniques that can be used to extract information from existing systems, internal organizational constraints, and competing products when developing system requirements. Some of the most common techniques include:

Document collection: This involves gathering and reviewing relevant documentation related to the existing system, internal organizational constraints, and competing products. This may include user manuals, technical specifications, business processes, and marketing materials. Document collection can help to identify existing functionalities, performance issues, and user needs and expectations.

Interviews: Interviews involve one-on-one or small group conversations with stakeholders to gather information about the existing system, internal organizational constraints, and competing products. This can include speaking with users, clients, and developers to gather insights into how the existing system is used, what challenges it presents, and what features and functionality are most important.

Observations: Observations involve watching stakeholders as they go about their work and interacting with the existing system, and gathering information about how it is used and what challenges it presents. Observations can be conducted in person or remotely (e.g., via screen sharing).

Surveys: Surveys involve collecting information from stakeholders through a series of questions presented in a structured format (e.g., multiple choice, Likert scale). Surveys can be administered in person or online, and can be used to gather information from a large number of stakeholders in a relatively short period of time.

By using a combination of these techniques, it is possible to gather a wide range of information that can be used to develop comprehensive and accurate system requirements.


Students must be able to define the scope of a solution and construct success criteria which meet the system requirements.

Defining the scope of a solution involves identifying and specifying the boundaries of the work that needs to be done in order to deliver the desired system. This includes identifying the specific functions and features that the system should have, as well as any constraints or limitations that should be considered.

Success criteria are the specific goals or standards that the system must meet in order to be considered a success. These criteria should be based on the system requirements, as well as any additional objectives or expectations that stakeholders may have.

To define the scope of a solution and construct success criteria, it is important to:

Review the system requirements: This involves thoroughly reviewing and understanding the needs and expectations of all stakeholders in order to identify the specific functions and features that the system should have.

Identify any constraints or limitations: This may include technical constraints (e.g., hardware and software limitations), budget constraints, or time constraints. It is important to take these constraints into consideration when defining the scope of the solution.

Define the specific goals or standards that the system must meet: These should be based on the system requirements, as well as any additional objectives or expectations that stakeholders may have. Success criteria should be specific, measurable, achievable, relevant, and time-bound (SMART).

By clearly defining the scope of the solution and constructing success criteria that meet the system requirements, it is possible to ensure that the final product meets the needs and expectations of all stakeholders.