10 requirements traps to avoid Flashcards

1
Q

What are the first 5 requirement traps to avoid?

A
  1. Confusion over Requirements
  2. Inadequate Customer involvement
  3. Vague and Ambigous requirements
  4. Unprioritized requirements
  5. Building functionality no one uses
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the last 5 requirement traps to avoid?

A
  1. Analysis paralysis
  2. Scope Creep
  3. Inadequate Change Process
  4. Insuffiecient Change impact analysis
  5. Inadequate version control
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are business requirements?

A

High-level objectives of the organization or customer requesting the system or product

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

What are user requirements?

A

They describe the tasks that the users must be able to perform using the new product

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

What are functional requirements?

A

Requirements that itemize the specific behaviors the software must exhibit

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

What are some examples of quality attributes?

A

Usability, efficiency, portability and maintainablitiy

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

What is the purpose of the software requirements specification (SRS)?

A

It serves as a container for both the functional requirements and the nonfuctional requirements.

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

How does confusion over requirements arise?

A

The term requirements can mean different things to different people.

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

What is the problems with inadequate customer involvement?

A
  • Many projects rely on telepathy as the mechanism for communicating requirements from users to developers
  • Users sometimes believe that the developers should already know what users need.
  • Users claim to be too busy to spend the time it takes to gather and refine the requirements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How can you solve the problem of inadequate customer involvment?

A

Begin by identifying user classes and make use of product champions to represent specific user classes and provide input on quality attributes and requirement priorities.

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

How can ambiguous and unclear requirements arise?

A

Ambiguity can arise from unclear language, multible interpritations or implicit assumtions.

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

How can you avoid ambiguous requirements?

A

Use multiple representations, such as diagrams and prototypes to clarify requirements and review requirements carefully to identify and resolve any ambiguity.

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

Why shouldn’t you declare all requirements equally important?

A

Declaring all requirements equally important deprives the project manage

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

Why shouldn’t more than 90% of requirements be classified as high priority?

A

It can lead to mismatched expectations.

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

How can you solve the problem of unprioritized requirements?

A

By aligning business requirements, allocating requirements to specific builds/releases, and analytically prioritizing requirements based on customer value and estimated cost/technical risk.

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

What is the problem behind building functionality no one uses?

A

Some proposed funtionality isn’t clearly related to known user tasks or achieving business goals.

17
Q

How to you solve the problem of building functionality no one uses?

A

By tracing functional requirements back to their origin, deriving functional requirements from use cases and having customers rate the value of each proposed feature.

18
Q

How does analysis paralysis arive?

A

It is the result when the viewpoint prevails that construction cannot begin until the SRS is complete and perfect.

19
Q

How do you solve the problem of analysis paralysis?

A

The solution includes developing a set of clearly expressed requirements that permit development to proceed at acceptable risk, selecting an appropriate development lifecycle, and identifying key decision-makers early in the project.

20
Q

How does scope creep arise?

A

It arises when the product scope was never clearly defined in the first place.

21
Q

What is the problem with scope creep?

A

If the scope definition is inadequate, new requirements can by proposed, rejected or resurface later, with ongoing debates about whether they belong in the system.

22
Q

What is the solution to scope creep?

A

While all projects should expect some requirements growth, your plans should include buffers to accommodate such evolution. When a new feature, use case or functional requirement is proposed you should make sure that it is in scope.

23
Q

What helps to answer if something is in scope?

A

To document the product’s vision and scope and use it as the reference for deciding which proposed functionality to include.

24
Q

What does scope creep often indicate?

A

That requirements were missed during elicitation or that some user classes were overlooked.

25
Q

What is the problem behind inadequate change process?

A

That your project doesn’t have a defined process for dealing with requirements changes and because of this, new functionality might become evident only during system or beta testing.

26
Q

How can you solve the problem of inadequate change process?

A

By defining a practical and realistic change control process for your project and supplement the process with a problem- or issue-tracking tool to collect, track and communicate changes.

27
Q

What is the problem with insufficient change impact analysis?

A

When devs or PM’s agree to make changes without carefully thinking through the implications, so that the change might turn out to be more complex, take longer time or be more technically or economically infeasible than anticipated.

28
Q

How can you solve the problem of insufficient change impact analysis?

A

Before accepting a change, systematically analyze the impact of each proposed change. Understand the implications of accepting it, identify all associated tasks and estimate the effort and schedule impact.

29
Q

What is the problem behind inadequate version control?

A

If accepted changes aren’t incoporanted into the SRS periodically, project participants wont be sure what all is in the requirements baseline at any time and team members being unable to distinguish different versions of the requirements documents.

30
Q

How can you solve the problem of inadequate version control?

A

Periodically merge approved changes into the SRS and communicate the revised SRS to all who are affected and adopt a versioning scheme for documents that clearly distinguishes drafts from baselined versions.

31
Q

How can you avoid these traps?

A

By having a robust toolkit of practices for eliciting, analyzing, specifying, verifying, and managing a product’s requirements.

32
Q

What are some recommended practices to help prviding a solid foundation for efficient construction?

A
  • Educating devs, managers, and customers about requirements engineering practices and the application domain
  • Establishing a collaborate customer-developer partnership for requirements development and management
  • Understanding the different kinds of requirements and classifying customer input into the appropriate categories
  • Taking an iterative and incremental approach to requirements development
  • Using standard templates for your vision and scope, use case, and SRS documents
  • Holding formal and informal reviews of requirements documents
  • Writing test cases against requirements
  • Prioritizing requirements in some analytical fashion
  • Instilling the team and customer discipline to hande requirements changes cosistently and effectively.