2. Fundamental principles of requirements engineering Flashcards
Task
a coherent chunk of work to be done
Activity
an action or a set of actions that a person or group performs to accomplish a task
Practice
a proven way of how to carry out certain types of tasks or activities
Nine fundamental principles
- Value orientation
- Stakeholders
- Shared understanding
- Context
- Problem, requirement, solution
- Validation
- Evolution
- Innovation
- Systematic and disciplined work
- Value orientation
Requirements are means to an end not an end in itself.
NB benefits of RE are long-term whereas the costs are immediate
Benefit of a requirement
is a degree to which it contributes to building successful systems (systems that satisfy the desires and needs of stakeholders) and to reducing the risk of failure and costly rework in system development.
Economic value of RE is indirect - saves costs
Cost of requirements
cost of eliciting, validating, documentating and managing it
Influencing factors on the amount of RE
Criticality of requirement can be assessed in terms of
- importance to stakeholders
- impact of missing the requirements
- effort needed to specify
- distinctiveness of requirement
- degree of shared understanding between stakeholders
- existence of reference system (examples)
- length of feedback cycle
- kind of customer supplier relationship
- regulatory compliance required
NB effort invested shall be inversely proportional to the risk.
Core goals of RE
understanding stakeholder’s desires and needs and minimising the risk of delivering a system that does not meet these desires and needs
Stakeholder
- every stakeholder has a role in the context of the system to be built
Persona
fictitious character that represents a group of users with similar characteristics
used for stakeholder roles with to many individuals or when individuals are unknown
Stakeholder classification by influence
- Critical
- Major
- Minor
Useful for resolving conflicts between requirements and prioritising
Critical stakeholder
not considering these stakeholders will result in severe problems and make the system fail or render it useless
Major stakeholder
not considering these stakeholders will have an adverse impact on the success of the system but not make it fail
Minor
not considering these stakeholders will have no or minor influence on the success of the system
Forms of shared understanding
- explicit shared understanding
- implicit shared understanding
NB both can be false, concentrate about relevant things
Explicit shared understanding
achieved through carefully elicited, documented and agreed requirements.
Implicit shared understanding
based on shared knowledge about needs, visions, context, e.c.t.
Enablers of shared understanding
- domain knowledge
- domain-specific standards
- previous successful collaboration
- existence of reference systems known by all people involved
- shared culture and values
- informed mutual trust
Obstacles for shared understanding
- geographical distance
- supplier-customer relationship guided by mutual distrust
- outsourcing
- regulatory constraints
- large and diverse teams
- high turnover among people involved
Context (in RE)
part of a system’s environment being relevant for understanding the system and its requirements
Entities in the context will somehow influence the system or even interact with it but will not be contained in the system itself
Context boundary
boundary between the context of a system and those parts of the application domain that are irrelevant for the system and its requirements
System boundary
boundary between the system and surrounding context
Scope of system development
the range of things that can be shaped and designed when developing a system
Not always the same as the system boundaryD