4. Requirements Definition Flashcards

4.1 Requirements Engineering 4.2 Requirements Elicitation 4.3 Requirements Analysis 4.4 Requirements Validation

1
Q

4.1 What is a requirement?

A

+ A representation of a need (BR).

+ A condition that must be satisfied in order to solve a problem or achieve an objective (NFR).

+ A function that a system does (FR).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

4.1 What are requirements for?

A

+ To give stakeholders the ability to clearly and unambiguously say what they need/want

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

4.1 Why is it important to get requirements right?

A

+ Many projects fail because of poor requirements

+ Errors found at the requirements engineering stage are significantly cheaper to address than when found at later stages of the development lifecycle

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

4.1 How are requirements used by the following stakeholders?

Users/Customers
Developers
Testers
Project Sponsor
BA
Business Managers
A

Users/Customers:
+ Provides the basis for user acceptance testing before release.

Developers:
+ Forms the basis of coding the solution (development)

Testers:
+ Provides the basis for creating test cases

Project Sponsor:
+ Used as an audit trail to ensure benefits identified in business case are delivered in the final solution.

BA:
+ A key deliverable.
+ Used for traceability and ensuring all relevant stakeholders have been engaged in the process.

Business Manager:
+ Used to monitor progress through subsequent stages of the design lifecycle
+ Forms the basis for formal sign off to enable progression to the next stage of the development lifecycle

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

4.1 What are some challenges when obtaining and defining requirements from stakeholders?

A

+ Unrealistic expectations
+ Lack of skills/experience by the business analyst
+ Involvement of the wrong stakeholders
+ Not having access to all the right stakeholders
+ Internal politics
+ Tacit Knowledge
+ Conflicting stakeholder needs/priorities
+ Stakeholders may want to give solutions as needs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

4.1 What is the rationale for requirements engineering?

A

+ Lowers the risk of a project failing, as a significant number of projects fail because requirements have not been:

+ Analysed with enough precision to ensure they have sufficient detail

+ Validated with users over time to ensure they are correct and complete

+ Documented and stored properly to ensure traceability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

4.1 What are the elements of the requirements engineering approach?

A

+ Requirements Elicitation

+ Requirements Analysis

+ Requirements Validation

+ Requirements Documentation (functional and data models, elicited requirements list, structured requirements catalogue, baselined requirements catalogue, requirements document)

+ Requirements Management (storage, security, change and version control, traceability)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

4.1 What is the hierarchy of requirements?

A
Business Requirements
General & Technical
.
.
Solution Requirements
Functional & Non-Functional
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

4.1 Define different types of Business Requirements and different ways of grouping them in the requirements catalogue.

A

General:
These are high level business requirements from which lower level requirements are generated

Group by:
Projects constraints such as budget and timing
Legal constraints
Company policy constraints
Look and feel standards

Technical:
These are requirements that specify the technical architecture of a solution

Group by:
Hardware constraints
Software constraints

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

4.1 Define different types of Solution Requirements and different ways of grouping them in the requirements catalogue.

A

Functional
These requirements specify the functions the solution must provide

Group by:
Use Case
Business area
Access Type

Non-Functional
Requirements that specify how the solution should operate

E.g.
Performance
Usability
Accessibility
Scalability etc.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

4.1 Give an example for each type of requirement.

A

General
The front end should use official bank colours and logo
The application must comply with data protection legislation

Technical:
The solution must run on Windows OS

Functional:
The solution should be able to query an existing record
The solution should print a regular report

Non-Functional
The solution should return customer a/c balance in 2 seconds
The solution should be able to have 5M concurrent users

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

4.1 Why is planning for requirements engineering process important?

A

+ Ensures that the requirements activities undertaken are appropriate

+ Ensures work effort is coordinated

+ Ensures that the team has a common understanding of what activities they are undertaking

+ Ensures that the tools, resources and stakeholders are available as needed

+ Deciding on the change and version control process ensures requirement changes are captured correctly and consistently

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

4.1 What are some activities involved in requirements planning?

A

+ Create and agree the PID with the project sponsor

+ Agree estimation approach with project manager

+ Decide SDLC methodology (Waterfall vs Agile)

Elicitation
+ Get introduced to main stakeholders

+ Stakeholder management: identify stakeholder responsibilities (create RACI chart) and Prioritise Stakeholders (create Power/Interest Grid and User Analysis Matrix)

+ Select requirements gathering approach

Requirements Management
+ Plan what the change management and version control process will be

+ Decide how requirements will be stored and use of CASE tool

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

4.1 Every RE project should start off with a PID.

What’s an example of a business and project objective in the PID?

A

Business Objective:
To improve customer perception of the brand by reducing processing time

Project Objective:
To investigate current processes that handle customer requests and to identify and implement improvements that shorten processing time from 5 to 2 days by Nov 1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

4.1 What is a technique that you can use to identify the most relevant end users to engage with?

A

User Analysis Matrix

Users are placed on a matrix (with 4 quadrants) based on two criteria:

  1. How frequently they are expected to use the system
  2. Whether it is optional or mandatory to use the system

The BA then engages with at least 1 representative from each quadrant

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

4.1 Who are the stakeholders in requirements engineering?

A

Internal Business Stakeholders: project sponsor, end users, business managers, SME

Project Stakeholders: project manager, BA, developer, tester, solution architect

External: customers, suppliers, regulators, competitors, shareholders, partners

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

4.1 What are the responsibilities of the following stakeholders in requirements engineering?

Project Sponsor
End User
SME
PM
BA
Tester
Solution Architect
A

Project Sponsor:
+ Commission the project
+ Responsible for delivering the business benefits
+ Consulted to agree the objectives/goals of the project
+ Kept in formed of project’s progress
Consulted to validate and accept requirements

End User:
+ Helps defines the requirements
+ Highlight concerns of end users

SME:
+ Provides business knowledge to help identify, clarify and define business requirements

Project Manager:
+ Ensures project team adheres to the RE process
+ Helps to resolve conflict in requirements
+ Keeps the scope of the RE project under control

Tester
+ Helps define and validate acceptance criteria for individual requirements

Solution Architect
+ Responsible for the overall architectural design of the solution
+ Ensures architectural guidelines are met
+ Defines the technical constraints

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Outline 2 requirements estimating approaches.

A

Bottom-up estimation:
+ High level business requirements are broken down into functional/non-functional requirements, and then associated tasks to complete the requirement. Each task is then estimated for time and cost and then added up to get overall estimate for the project.

Rough order of Magnitude:
+ Experienced BA’s look at the PID and provide high level estimates and costs they expect for the project

19
Q

4.2 What is tacit knowledge?

A

Tacit Knowledge:

+ The things that we know about but take for granted.

+ Things you know but don’t consciously know that you know them (unknown knowns).

+ The skill to do something without thinking about (unconscious competent).

20
Q

4.2 Why is tacit knowledge a problem in business analysis and requirements engineering?

A

Stakeholders often fail to tell the analyst about things they either:
+ Do not know are important
+ Assume are obvious to the analyst which may not be the case

Results in missing requirements and not adequately understanding business context, processes, people and IT systems

21
Q

4.2 What are examples of tacit and explicit knowledge?

A

Tacit

Individual:
+ Values

Corporate:
+ Culture
+ Organisational History

Explicit

Individual:
+ Job Description
+ Targets

Corporate:
+ Procedures
+ Manuals

22
Q

4.2 Interviews

How would you plan for an interview to elicit requirements from a stakeholder?

A

Do background research on a combination of the following:

+ industry/sector - newspaper articles, business journals

+ organisation - annual reports, org charts, strategy docs, current issues in newspaper articles

+ department(s) - strategy docs, dept reports

+ offerings - descriptions, performance data, reviews, complaints

Decide who to interview and in what order
+ Reach out to someone e.g. project sponsor who can introduce you to key stakeholders

Prepare and distribute an agenda to interviewee
+ Who, What , Where, When, Why

23
Q

4.2 Interviews

What is a good line of questioning structure to elicit requirements?

A

Context, Detail, Problem, Effects &Needs = Requirements

Context: ask questions for the interviewee to put their role/dept into perspective

Detail: ask questions to seek real facts and figures

Problems: ask specific questions about any possible problems that exist

Effects: ask questions to identify the problem’s effect and try to quantify them where possible

Needs: ask questions to identify what a resolution of the problem would look like

Requirements: The answers to the user needs is then documented as the requirements

24
Q

4.2 Workshops

What are some benefits of workshops?

A

+ Faster: if info is required from large number of people

+ Ownership: of the results by stakeholders as they are involved in decision making

+ Consensus: stakeholders are involved in the decision making process which increases chance of achieving consensus

+ Quality: of decision making better as less chance of overlooking important issues

+ Wider perspective: stakeholders are able to see things not just from their individual perspective

25
Q

4.2 Workshop

How will you plan for a workshop?

A

Decide objectives

Select participants

Identify and book venue

Plan workshop structure (objective, composition of groups, individuals in each group and their roles)

26
Q

4.2 Workshop

How will you structure your workshop?

A

Start
+ Confirm objectives/agenda
+ Set ground rules
+ Get buy-in

Middle
\+ Focus on objectives
\+ Keep up pace
\+ Respect views
\+ Challenge points
\+ Ask questions
\+ Keep record of output

End
+ Summarise outputs
+Agree on actions

27
Q

4.2 Workshops

What are some techniques to discover information in a workshop?

A

+ Round-robins

+ Brainstorming

+ Post-its

28
Q

4.3 What is the rationale for separating requirements analysis form elicitation?

A

Elicitation is simply focused on gather as many requirements as possible. Requirements analysis gives the BA the opportunity to structure and examine each requirement for their feasibility and completeness before accepting them as factual and accurate.

29
Q

4.3 What tasks are involved in requirements analysis?

A

+ Model elicited requirements (functional and data models)

+ Organise and categorise requirements to form a structured requirements catalogue

+ Check each requirement for their necessity, feasibility and check for and resolve conflict

+ Check the quality of each requirement to form a baseline requirements catalogue

30
Q

4.3 What are the characteristics of good requirements?

A
Organisation and Categorisation
\+ Categorised
\+ Unique
\+ Non-conflicting
\+ Not duplicated
\+ Do not overlap
Necessity, Feasibility and Conflict Resolution
\+ Relevant
\+ Prioritised
\+ Achievable
\+ Solving the Business Problem
Quality Criteria
\+ Clear
\+ Concise
\+ Consistent
\+ Correct
\+ Complete
\+ Unambiguous
\+ Owned
\+ Traceable
31
Q

5.8 Modelling Requirements

Why is modelling requirements important in requirements analysis?

A

+ Requirements modelling a helps BA identify and link use cases to requirements in the requirements catalogue, data structures needed for each use case and business rules needed to be captured in requirements.

+ This helps the BA identify missing requirements, identify errors, omissions, inconsistencies and misunderstandings, because they prompt the analyst to ask further questions.

32
Q

5.8 Modelling Requirements (Functional Models)

What is the purpose/benefit/rationale of a functional model such as a use case models?

A

Context diagrams help to provide a mutual understanding of all the actors that will be interacting with the system.

Use case diagrams:
+ provide a high level view of the scope of the system and enable further examination of functional requirements

+ helps identify missing functional requirements. Checking use cases against requirements using a requirement/use case matrix can help identify missing requirements and/or use cases

33
Q

5.8 Modelling Requirements (Data Models)

What is the purpose/benefit/rationale of a data model such as a class diagram and CRUD Matrix?

A

+ Data models help identify the classes and attributes that need to be held in a system i.e. identifies the data requirements of an system/organisation

+ Data models identify the business rules of the organisation i.e, the relationship (associations) between classes

+ Use case descriptions indicate what data is used or affected when a use case is triggered.

+ A CRUD matrix shows use cases against classes and identifies missing CRUD functional requirements

34
Q

5.8 Modelling Requirements (Data Models)

What is the rationale of a CRUD Matrix?

A

A CRUD matrix shows the interaction between use cases (and their descriptions) and individual classes on a class diagram.

+ Prompts the BA to probe for further detail about what data is used or affected when a system function is triggered

+ Helps identify missing functionality/use cases (for example, where a valid class is never created, read, updated or deleted)

35
Q

5.8 Organising and Categorising Requirements

What is the hierarchy of requirements?

A
Business Requirements
General & Technical
.
.
Solution Requirements
Functional & Non-Functional
36
Q

5.8 Organising and Categorising Requirements

Define different types of Business Requirements and different ways of grouping them in the requirements catalogue.

A

General:
These are high level business requirements from which lower level requirements are generated

Group by:
Projects constraints such as budget and timing
Legal constraints
Company policy constraints
Look and feel standards

Technical:
These are requirements that specify the technical architecture of a solution

Group by:
Hardware constraints
Software constraints

37
Q

5.8 Organising and Categorising Requirements

Define different types of Solution Requirements and different ways of grouping them in the requirements catalogue.

A

Functional
These requirements specify the functions the solution must provide

Group by:
Use Case
Business area
Access Type

Non-Functional
Requirements that specify how the solution should operate

E.g.
Performance
Usability
Accessibility
Scalability etc.
38
Q

5.8 Organising and Categorising Requirements

Give an example for each type of requirement.

A

General
The front end should use official bank colours and logo
The application must comply with data protection legislation

Technical:
The solution must run on Windows OS

Functional:
The solution should be able to query an existing record
The solution should print a regular report

Non-Functional
The solution should return customer a/c balance in 2 seconds
The solution should be able to have 5M concurrent users

39
Q

5.8 Necessity and Feasibility Checking, Conflict Resolution

What is the rationale behind checking requirements for feasibility and necessity in the requirements analysis process?

A

+ Helps ensure that each requirement genuinely support the business and project objectives.

+ It also helps ensure that the requirements carried forward are feasible in terms of business, technical and financial.

+ Helps prioritise requirements so that we ensure that the most significant business problems/benefits are addressed first in the event there is insufficient time/budget available.

+ Helps ensure that requirements carried forward are addressing root causes rather than symptoms

40
Q

5.8 Necessity and Feasibility Checking, Conflict Resolution

What technique is used to prioritise requirements?

A

MoSCoW Prioritisation

+ Must have (mandatory functionality that must be included in 1st launch)
+ Should have (can be delayed with a deadline, and temporary workaround used
+ Could have (included if we have time and budget)
+ Want to have (but not this time)

41
Q

5.8 Necessity and Feasibility Checking, Conflict Resolution

How will you go about resolving conflict surrounding requirements’ priority, feasibility and necessity

A

+ Identify which requirements have conflicting assessments of priority, feasibility or necessity by stakeholders

+ Host a workshop with those stakeholders to discuss their assessments

+ Ask questions to understand the reason for their assessments

+ Identify common ground among stakeholders and identify potential options

+ Decide on a resolution by assessing each option against a set of criteria e.g. business/project objectives, legality etc.

+ If all fails, seek input from project sponsor to force decision (positional power)

42
Q

5.8 Quality Criteria

Why is it important for a requirement to be testable?

A

+ It helps to identify whether a requirement has been met

43
Q

5.8 Quality Criteria

What is the link between requirements and testing?

A

Acceptance criteria quantify the expected behaviour and performance of the system and are used to define the test cases which are used to assess each functionality.

44
Q

5.8 Quality Criteria

What are some rules for writing acceptance criteria for a requirement?

A

+ Include quantitative measures where possible

+ Ensure measures are objective where possible