features are derived from stakeholder requests. it is important to keep track of which feature was...

14
Deriving Features from Stakeholder Needs

Upload: aileen-rodgers

Post on 02-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Features are derived from stakeholder requests.  It is important to keep track of which feature was derived from which request. ◦ so when the stakeholder

Deriving Features from Stakeholder Needs

Page 2: Features are derived from stakeholder requests.  It is important to keep track of which feature was derived from which request. ◦ so when the stakeholder

Features are derived from stakeholder requests. It is important to keep track of which feature

was derived from which request.◦ so when the stakeholder requests are stored in

RequisitePro, they could be traced to the features implementing them.

Requests gathered from stakeholders do not necessarily have the attributes of a good requirement.

Deriving features from stakeholder requests gives you a good opportunity to fix that.

Introduction

Page 3: Features are derived from stakeholder requests.  It is important to keep track of which feature was derived from which request. ◦ so when the stakeholder

One approach is to go through all STRQ requirements and apply appropriate transformation to create one or more FEAT requirements.

The following transformations may be applied.

Introduction

Page 4: Features are derived from stakeholder requests.  It is important to keep track of which feature was derived from which request. ◦ so when the stakeholder

Copy: If no changes are required, STRQ can be copied to FEAT exactly as is.◦ It is okay to have different types of requirements

with the same text. However, avoid requirements of the same type having the same text. In this case, requirements are redundant.

Example:◦ STRQ: “The user shall be able to purchase a ticket

online, without the necessity of calling the travel agent.”

◦ Nothing is wrong here, so we can copy the requirement.

Copy

Page 5: Features are derived from stakeholder requests.  It is important to keep track of which feature was derived from which request. ◦ so when the stakeholder

Split: If the requirement is not atomic, we can split it into two or more requirements.

Example:◦ STRQ: “The system shall provide the opportunity

to book the flight, purchase a ticket, reserve a hotel room, reserve a car, and provide information about attractions.”

◦ This requirement is a combination of five atomic requirements, which makes traceability very difficult.

Split

Page 6: Features are derived from stakeholder requests.  It is important to keep track of which feature was derived from which request. ◦ so when the stakeholder

Clarification: Clarification, or explanation, may be applied when the original requirement is unclear or ambiguous.

Example:◦ STRQ: “The capability to cancel a ticket purchase

should be available.”

◦ Clarification is needed as to who shall be able to cancel ticket purchases (user, customer service representative, or administrator).

Clarification

Page 7: Features are derived from stakeholder requests.  It is important to keep track of which feature was derived from which request. ◦ so when the stakeholder

Qualification: We achieve qualification by adding restrictions or conditions to the requirement. It may help to resolve contradictory requirements.

Qualification

Page 8: Features are derived from stakeholder requests.  It is important to keep track of which feature was derived from which request. ◦ so when the stakeholder

Combination: Redundant or overlapping requirements may be combined into one.

Combination

Page 9: Features are derived from stakeholder requests.  It is important to keep track of which feature was derived from which request. ◦ so when the stakeholder

If the requirement is not abstract, and it includes some unnecessary details, we may apply generalization.

Generalization

Page 10: Features are derived from stakeholder requests.  It is important to keep track of which feature was derived from which request. ◦ so when the stakeholder

Cancellation: Sometimes the requirement needs to be deleted. This may happen when the requirement is infeasible, unnecessary, or inconsistent with another requirement.

Cancellation

Page 11: Features are derived from stakeholder requests.  It is important to keep track of which feature was derived from which request. ◦ so when the stakeholder

Completion: If the set of requirements is incomplete, we may need to add requirements at this stage.

Completion

Page 12: Features are derived from stakeholder requests.  It is important to keep track of which feature was derived from which request. ◦ so when the stakeholder

Correction: Correction may mean either rewording the requirement to fix grammar, spelling, or punctuation, or changing a portion of the requirement that is untrue.

Correction

Page 13: Features are derived from stakeholder requests.  It is important to keep track of which feature was derived from which request. ◦ so when the stakeholder

Unification: Requirements that use inconsistent vocabulary can be unified.

Unification

Page 14: Features are derived from stakeholder requests.  It is important to keep track of which feature was derived from which request. ◦ so when the stakeholder

Adding details: If the requirement is not precise enough, we may add details. This technique is often used to make testable requirements from untestable ones.

Adding details