Uploaded by rivan Mk

Requirements Management Fundamentals Lecture

advertisement
Lecture 10
Fundamentals of Requirements
Management
Course
Topics
•Why Requirements Engineering?
•Introduction to Requirements
•How to Write Good Requirements
•RE in Software Development Life Cycles
•Requirements Discovery
•Fundamentals of Goals and Scenarios
•Agile Estimation and Features Prioritization
•Requirements Conflicts and Negotiation
•Requirements Validation
•Fundamentals of Requirements Management
3
Lecture Objectives
➢
Learn how to manage requirements artifacts
➢
Learn the fundamentals of requirements
traceability
Loading…
4
Requirements Engineering Activities
Requirements Engineering
Requirements
Inception
Elicitation
Requirements
Development
Analysis
Requirements
Management
Specification
Verification
Sources of change
Loading…
6
Requirements Change is Inevitable
o
o
➢
➢
➢
Better understanding of the domain: new requirements become
apparent
Everything else is changing (business, context, technologies,
markets…)
Changing customer priorities, new needs, new competitors
Technical or business opportunities (cloud, IoT, blockchains…)
Changing laws, regulations, polices, etc.
Requirements errors, conflicts, and inconsistencies
Technical, schedule, or cost problems
➢
➢
o
o
Change is as difficult to control as it is inevitable!
Possible responses to change
Ignore it…
Add, modify, or remove requirements
➢
➢
Introduction to Requirements
Management
8
Requirements Management
A systematic approach to eliciting, organizing, and
documenting the requirements of the system, and a
process that establishes and maintains agreement
between the customer and the project team on the
changing requirements of the system.1
[1] Leffingwell & Widrig 1999, p.16
9
Requirements Management Activities
•
•
•
•
•
•
Requirements management includes all activities intended to
maintain the integrity and accuracy of expected requirements
Manage changes to agreed requirements
Keep project plans synchronized with requirements
Control versions of individual requirements and versions of
requirements documents
Manage relationships between requirements
Managing the dependencies between the requirements and
other documents/artifacts produced in the systems
engineering process
Track requirements status
10
Expectations of Requirements
Management
➢
Identification of individual requirements (Unique
Identification)
➢
•
•
•
Traceability from highest level requirements to implementation
Established via links through a requirements database
Links between requirements and design models, tests, code…
Coverage and consistency analysis
➢
•
Impact assessments of proposed changes
Which other requirements (and other linked artifacts) will be
affected by a change
11
Expectations of Requirements Management (2)
➢
o
o
➢
o
➢
Controlled access to current project information
A shared database ensures that all users are working with
current data (consistency, parallel access, unique source of
truth)
A central repository allows all users to see the information that
they need to see (visibility)
Change control
Change proposal system implements controlled process for
managing change
Loading…
Deployment of required tool support
All of this requires planning!
12
Identification of Requirements
➢
It is essential for requirements management that every requirement
has a unique identification
➢
o
Problem with a hierarchical approach (2.1, 3.2.4, ...):
Numbers (dynamically updated) cannot be assigned uniquely and
definitively if the document is restructured
➢
o
Problem with symbolic identification
Requirements can be identified by giving them a symbolic name which
is associated with the requirement itself (e.g., SEC1, SEC2, SEC3…
may be used for security requirements). But… it is difficult to give
only one category to a requirement
➢
o
Conclusion: avoid encoding too much information in the ID!
A simple unique integer number suffices!
13
Requirements have Attributes
➢
➢
•
•
•
•
•
•
➢
➢
Attributes establish context and background, and go
beyond the requirement description
For filtering, analysis, metrics…
Creation date, Last update, Author, Stakeholders (Owners /
Source)
Version number
Status, Priority, Importance, Stability
Rationale, Comments
Acceptance criteria
Subsystem / Product release number
The more complex the project, the richer the attributes…
Many attributes are predefined in RM tools, others are
defined by requirements engineers as required by the
project
14
Requirements Change Status
➢
•
Help manage the requirement lifecycle
Their number and nature depend on the process in place
➢
•
•
•
•
•
•
Examples of statuses:
Proposed: by some stakeholder
Approved: part of baseline, committed to implement
Rejected: after evaluation
Implemented: designed and implemented
Verified: Relevant tests have passed
Deleted: Removed from list
15
Change Request Form
●
Proposed changes are usually recorded on a change request
form which is then passed to all of the people involved in
the analysis of the change
Change request forms may include:
●
Date, Customer, Requester, Product including version
●
Description of change request including rationale
●
Fields to document the change analysis
●
Signature fields
●
Status
●
Comments
16
Change Analysis and Costing – Example
customers may misunderstand requirements and
their context and suggest unnecessary changes
with the help of traceability information
Rejected request
Change
request
Check request
validity
Valid
request
Find directly
affected
requirements
Req. list
Find dependent
requirements
Requirements change list
Cost
Requirements
information
changes
Propose
Assess cost
Assess costs
requirements
acceptability
of change
changes
Customer
information
Rejected request
consequential changes may be
unacceptable to user/customer
Source of figure: Kotonya and Sommerville
Customer
information
negotiations with customers
risk is too high
Rejected request
Accepted
change
Rejected request
cost/time required for the implementation
of change is too high/long
17
Version Control
➢
•
•
Every version of a requirement needs to be uniquely
identified
Changes need to be documented and clearly communicated
A version identifier must be updated with every change to
the requirement
➢
•
•
Requirements documents should include
A revision history: changes, dates, by whom, why, etc.
Standard markers for revisions (e.g., strikethrough or
underlined text, coloring, line markers)
➢
•
•
Version control tools may be used
To store and manage the revision history
To store justifications (to add, modify, delete, reject a
requirement)
Traceability
19
Traceability Quotes (1)
➢
A link or relationship defined between entities 1
➢
Requirements traceability refers to the ability to describe and
follow the life of a requirement, in both forwards and
backwards direction (i.e., from its origins, through its
development and specification, to its subsequent deployment
and use, and through all periods of ongoing refinement and
iteration in any of these phases)”.1
➢
One cannot manage what cannot be traced.2
[1] Gotel & Finkelstein, 1994; [2] IEEE Standard 830-1998
20
Traceability Quotes (2)
➢
Traceability gives essential assistance in understanding the
relationships that exist within and across software requirements,
design, and implementation.3
➢
Traceability information helps assess the impact of changes to
requirements, connecting these requirements as well as
requirements for other representations of the system.3
➢
Traceability is often mandated by contracts and standards, e.g.,
military and aerospace 1.
[1] Gotel & Finkelstein, 1994; [2] IEEE Standard 830-1998; [3] Palmer, 2000;
Typical Project Data
Change
Requests
Regulatory
Codes
System
Requirements
Design
Documentation
User
Requirements
Sub-System
Requirements
Sub-System
Requirements
Component
Requirements
Component
Requirements
Fault Logs
Stakeholders
Source Code in
packages, components,
and versions..
Project Plans
Queries
23
Traceability Difficulties
➢
Various stakeholders require different information
➢
Huge amount of requirements traceability information must be
tracked and maintained
➢
Integrating heterogeneous models/information from/to different
sources (requirements, design, tests, code, documentation,
rationales…) is not trivial
➢
Manual creation of links is very demanding (likely the most
annoying problem)
Specialized tools must be used
o
➢
Requires organizational commitment (with an understanding of the
potential benefits)
24
Backward and Forward Traceability
➢
•
•
Backward traceability
To previous stages of development
Links other documents (which may have preceded the
requirements document) to relevant requirements
➢
•
•
Forward traceability
Links requirements to the design and implementation components
Help assure that all requirements have been satisfied
Business plan
Forward-to traceability
Requ irements Document
Forward-from traceability
Design Specification
Backward-from traceability
Backward-to traceability
25
Representation – Traceability Table
➢
➢
➢
Show the relationships between requirements or between
requirements and other artifacts
Table can be set up to show links between several
different elements
Backward and forward traceability
26
Representation – Traceability Matrix
➢
➢
➢
Define links between pairs of elements, e.g., requirements to
requirement, use case to requirement, requirement to test
case…
Can be used to defined relationships between pairs, e.g.,
specifies/is specified by, depends on, is parent of, …
More amenable to automation than traceability table
Depends -on
R1
R1
R2
R3
R4
R5
R6
R2
*
R3
*
R4
*
*
R5
R6
*
*
*
*
27
Traceability matrix for a single relationship type (ex.
satisfies relationship)
28
Traceability matrix for several relationship types
29
Sample Traceability Matrix
Loading…
30
Representation – Traceability List
➢
➢
Traceability matrices become more of a problem when
there are hundreds or thousands of requirements as the
matrices become large and are sparsely populated
A simplified form of a traceability matrix may be used
where, along with each requirement description, one or more
lists of the identifiers of related requirements are maintained
Requirement
R1
R2
R3
R4
R5
Depends-on
R3, R4
R5, R6
R4, R5
R2
R6
31
Traceability Planning
•
•
•
•
•
•
•
•
•
•
•
•
Planning traceability? Yes, just like any other project!
Who are the stakeholders?
What are the needs (analysis, reports…)?
Useful, measurable, feasible objectives
Definition of links and attributes
Can some be inferred automatically?
Process (who collects and when to collect traceability information)
Roles, access
Data/link input and updates
Exceptional situations (e.g., lack of time)
Representations, queries, tools
…
Traceability policies define what and how traceability information
should be maintained
32
Simple Example of Traceability Link Types
User
requirements
Functional
requirements
Satisfies
Design
specifications
Satisfies
Tests
Tests
Tests
Standards
Acceptance tests
Functional tests
Unit tests
33
Modeling Traceability
➢
•
➢
•
•
•
•
•
•
•
•
•
The types of links to use (and their attributes) must be defined
for different types of requirements
It is a design problem!
May be modeled with a UML class diagram (metamodel)
Object types (classes)
Object attributes (typed attributes)
Structure of folders, modules, objects
Stereotypes, composition…
Link types (associations)
Satisfies, tests, refines, contains, contributes to, threatens,
justifies…
Link attributes (association classes)
Link cardinalities/multiplicities
…
34
Example – One Traceability Information Model
Traceability
Information
Model (TIM)
27
Tools to document traceability
Information
➢
➢
➢
General purpose tools (e.g., spreadsheet programs, word
processors, hypertext editors)
Suitable for small and short term projects
Not sufficient for extensive requirements tracing purposes
Requirements management tools
➢
Suitable for projects producing large and complex systems
➢
Require investments (e.g., licenses, training end-users,
system maintenance, consultation)
➢
Examples: Rational RequisitePro, DOORS
36
Visualization of Objects and Attributes (DOORS)
37
Example – DOORS Links
•
•
•
•
•
A relationship between two objects in the DOORS database
is established using a link
One source object and one destination object
Links can often be followed in either direction
Possible to have many links between the same two objects
Links also have types and possibly attributes!
38
DOORS – Creating and Accessing Links
39
Traceability and Impact Analysis (DOORS)
1.
User
Reqts
820.30(b) Design and Development Planning
Each manufacturer shall establish and maintain plans that describe or reference the design and development
activities and define responsibility for implementation.
The plans shall identify and describe the interfaces with different groups or activities that provide, or result
in, input to the design and development process.
The plans shall be reviewed as design and development evolves.
The plans shall be updated as design and development evolves.
The plans shall be approved as design and development evolves.
2.
820.30(c) Design Input
2.1. Each manufacturer shall establish procedures to ensure that the design requirements relating to a
device are appropriate and address the intended use of the device, including the needs of the user
and patient.
2.2. Each manufacturer shall maintain procedures to ensure that the design requirements relating to a
device are appropriate and address the intended use of the device, including the needs of the user
and patient.
2.3. The procedures shall include a mechanism for addressing incomplete requirements.
2.4. The procedures shall include a mechanism for addressing ambiguous requirements.
2.5. The procedures shall include a mechanism for addressing conflicting requirements.
2.6. The design input requirements shall be documented by a designated individual(s).
2.7. The design input requirements shall be reviewed by a designated individual(s).
2.8. The design input requirements shall be approved by a designated individual(s).
2.9. The approval, including the date and signature of the individual(s) approving the requirements,
shall be documented.
2.10. Questions.
2.10.1. Summarize the manufacturer's written procedure(s) for identification and control of
design input.
2.10.2. From what sources are design inputs sought?
2.10.3. Do design input procedures cover the relevant aspects, such as: (Mark all that apply and
list additional aspects.)
2.10.3.1.
intended use
2.10.3.2.
user/patient/clinical
2.10.3.3.
performance characteristics
2.10.3.4.
safety
2.10.3.5.
limits and tolerances
2.10.3.6.
risk analysis
2.10.3.7.
toxicity and biocompatibility
2.10.3.8.
electromagnetic compatibility (EMC)
2.10.3.9.
compatibility with accessories/auxiliary devices
2.10.3.10. compatibility with the environment of intended use
2.10.3.11. human factors
2.10.3.12. physical/chemical characteristics
2.10.3.13. labeling/packaging
2.10.3.14. reliability
2.10.3.15. statutory and regulatory requirements
2.10.3.16. voluntary standards
2.10.3.17. manufacturing processes
2.10.3.18. sterility
2.10.3.19. MDRs/complaints/failures and other historical data
2.10.3.20. design history files (DHFs)
2.10.4. For the specific design covered, how were the design input requirements identified?
2.10.5. For the specific design covered, how were the design input requirements reviewed for
adequacy?
Technical Reqts
Desig
n
1. 820.30(b) Design and Development Planning
Comply with FDA Design Control Guidance GMP Regulation
Comply with FDA Design Control Guidance GMP Regulation
1.1. and
Identify
impacted elements due to a change in another element
Each manufacturer shall establish and maintain plans that describe or reference the design
development
• Traceability Reports: consistency
activities and define responsibility for implementation.
with
driving
design
elements
1. Capture design and related information
1. Capture
design
and related
information
• Impact Reports: other design1.1.
1.1. Input electronically formatted data
Input electronically
elements
affected formatted data
The
plans
shall
identify
and
describe
the
interfaces
with
different
groups
or
activities
that
provide,
or
result
1.2. Reference external information sources
1.2. Reference external information sources
• Links to impacted design elements
in, input to the design and development process.
1.3. Reference external documentation
1.3. Reference external documentation
2.
3.
4.
5.
6.
1.1.1. Create backward traces to design elements within and across any organizational
procedure
2. Store design and related information
• Traceability Reports: Procedure
2.1. Identify
and tag design information as unique “design elements”
Attribute
2.2. Organize
design
elements
1.1.2. Create backward traces to design
elements
within
and across any project milestone
2.2.1. Organize by Design Control Guidance Element
2.2.1. Organize by Design Control Guidance Element
• Traceability Reports: Milestone
Attribute
2.
820.30(c)
Design
Input
2.2.2. Organize by inter-relationships
2.2.2. Organize by inter-relationships
2.1.
Each
manufacturer
shall
establish
procedures
to
ensure
that
the
design
requirements
relating
to
a
1.1.3.
Create
backward
traces
to
design
elements
within
and are
across
Design Control
2.3. Ensure all design elements are available
2.3. Ensure all design
elements
available
device
are
appropriate
and
address
the
intended
use
of
the
device,
including
the
needs
of
the
user
Guidance
Elements
2.3.1. Store design elements by Design Control Guidance Element
2.3.1. Store design elements by Design Control Guidance Element
andhistorical
patient. values
2.3.2. Store design elements and their
2.3.2.
Store elements
design elements and their historical values
• Traceability Reports: Linked
design
2.2. Each manufacturer shall maintain procedures to ensure that the design requirements relating to a
1.1.4.ofCreate
elements within and across any organizational
device are appropriate and address the intended use of the device, including the needs
the userforward impacts3.to design
Manage all user needs
Manage all user needs
procedure
and patient.
3.1. Identify the source of the user need
3.1. Identify the source of the user need
2.3. The procedures shall include a mechanism for addressing incomplete requirements. • Impact Reports: Procedure
3.2. Identify all user types (groups)
3.2. Attribute
Identify all user types (groups)
2.4. The procedures shall include a mechanism for addressing ambiguous requirements.
3.3. Identify the customer (s)
3.3. Identify
the customer
1.1.5. Create forward impacts to design
elements
within (s)
and across any project milestone
2.5.
The
procedures
shall
include
a
mechanism
for
addressing
conflicting
requirements.
3.4. Profile the expected patients
3.4. Attribute
Profile the expected patients
• Impact Reports: Milestone
The(family)
design input requirements shall be documented by a designated individual(s).
3.5. State the intended use of the 2.6.
product
3.5. State the intended use of the product (family)
elements
within and
across
Design
Control
2.7.forThe
input requirements shall be reviewed by a designated individual(s). 1.1.6. Create forward impacts to design
3.6. Capture the acceptance criteria
eachdesign
user need
3.6. Capture
the acceptance
criteria
for each
user need
2.8. The design input requirements shall be approved by a designated individual(s).
Guidance Elements
• Impact Reports: Linked
Manage design input requirements2.9. The approval, including the date and signature of the individual(s) approving the requirements,
4. Manage
input requirements
designdesign
elements
shall be documented.
4.1. Identify the source of the requirement
4.1. with
Identify
the source
of the requirement
1.2.
Associate
changed
design
elements
related
elements
2.10. Questions.
4.2. Identify the associated user need
4.2. Identify the associated user need
Linkof Change Design Object with
affected design element(s)
Summarize the manufacturer's written procedure(s) for identification and• control
4.3. Capture requirement description 2.10.1.
and attributes
4.3. Capture requirement description and attributes
• Traceability Links and Reports
design input.
affected
design
element(s)
4.4. Capture acceptance criteria
4.4.from
Capture
acceptance
criteria
2.10.2. From what sources are design inputs sought?
• Impact Links and Reports from
4.5. Assign responsibility for each requirement
4.5. affected
Assign responsibility
for each requirement
design element(s)
2.10.3.
Do
design
input
procedures
cover
the
relevant
aspects,
such
as:
(Mark
all
that
apply
and
4.6. Manage incomplete requirements
4.6. Manage
1.2.1. Associate design element changes
withincomplete
decisions,requirements
rationale, and approval authority
list
additional
aspects.)
4.7. Manage ambiguous requirements
4.7. Manage ambiguous requirements
information
2.10.3.1.
intended use
4.8. Manage conflicting requirements
4.8. Manage conflicting requirements
• Change Decision Objects4.9.
2.10.3.2.
user/patient/clinical
with
following
Attributes:
4.9. Approve all requirements
Approve
all requirements
2.10.3.3.
performance characteristics
• Disposition Attribute
2.10.3.4.
safety
Manage acceptance
• Decision Attribute 5. Manage acceptance
2.10.3.5.
limits and tolerances
5.1. Ensure the acceptance of every user need
5.1. Ensure the acceptance of every user need
•
Rationale
Attribute
risk analysis
5.2. Ensure the acceptance of every design2.10.3.6.
input requirement
5.2. Ensure the acceptance of every design input requirement
2.10.3.7.
• Owner Attribute
5.3. Document the results of every user need
acceptancetoxicity
test and biocompatibility
5.3. Document the results of every user need acceptance test
electromagnetic
compatibility (EMC)
• Management Approval Attribute
5.4. Document the results of every design 2.10.3.8.
input requirements
test
5.4. Document the results of every design input requirements test
compatibility with accessories/auxiliary devices
5.5. Make acceptance results available 2.10.3.9.
acceptance
results availableprocedure
1.2.2. Provide associations within5.5.
andMake
across
any organizational
2.10.3.10. compatibility with the environment of intended use
• Change Design Object Traceability Link on Procedure Attribute
2.10.3.11. human factors
Manage change
6. Manage change
2.10.3.12. physical/chemical characteristics
• Change Design Object Impacts
Link on
Procedure
6.1. Maintain history of design element changes
6.1. Maintain
history
of designAttribute
element changes
2.10.3.13. labeling/packaging
6.1.1. Make complete change history available
Makeany
complete
change
history available
1.2.3. Provide associations within and6.1.1.
across
project
milestone
2.10.3.14.
reliabilityprocedure
6.1.2. Maintain history within and across
any organizational
6.1.2. Maintain
history
within and
across any organizational procedure
• Change Design Object Traceability
Link on
Milestone
Attribute
2.10.3.15.
statutory
and regulatory requirements
6.1.3. Maintain history within and across
any project
milestone
6.1.3. Maintain history within and across any project milestone
• Change Design Object Impacts
Link
on
Milestone
Attribute
2.10.3.16.
voluntary
standards
6.1.4. Maintain history within and across any Design Control Guidance Elements
6.1.4. Maintain history within and across any Design Control Guidance Elements
2.10.3.17.
manufacturing
processes
1.2.4.
Provide
associations
within
and
across
Design
Control
Guidance
6.2. Capture frequency and nature of element changes
6.2. Capture frequency and nature of element Elements
changes
2.10.3.18.
sterility
•
6.2.1. Provide rationale for change
6.2.1. Provide
fordesign
change elements
Change Design Object Traceability
Linkrationale
to traced
2.10.3.19. MDRs/complaints/failures and other historical data
6.2.2. Describe decisions made
6.2.2.
Describe
decisions
madeelements
• Change Design Object Impacts
Link
to linked
design
2.10.3.20.
6.2.3. Identify approval authority for the
change design history files (DHFs)
6.2.3. Identify approval authority for the change
1.3. identified?
Mange the change process
2.10.4.of approving
For the specific
design covered, how were the design input requirements
6.2.4. Capture date, time, and signature
authority
6.2.4. Capture date, time, and signature of approving authority
For
specific
design covered, how were the design input requirements•reviewed
for Change Module
Design
6.3. Identify impacted elements due to2.10.5.
a change
inthe
another
element
6.3. Identify impacted elements due to a change in another element
adequacy?within and across any organizational procedure
• Design Change Reports
6.3.1. Create backward traces to design elements
6.3.1. Create backward traces to design elements within and across any organizational procedure
6.3.2. Create backward traces to design elements within and across any project milestone
6.3.2. Create backward traces to design elements within and across any project milestone
• Object History
• Object History Reports
• Versions
• Baselines
The plans shall be reviewed as design and development evolves.
Store design and related information
The plans shall
be updated
as design
and development evolves.
2.1. Identify and tag design information
as unique
“design
elements”
The plans shall be approved as design and development evolves.
2.2. Organize design elements
Test Cases
1.1. Identify impacted elements due to a change in another element
• Traceability Reports: consistency with driving design elements
• Impact Reports: other design elements affected
• Links to impacted design elements
1.1.1. Create backward traces to design elements within and across any organizational
procedure
• Traceability Reports: Procedure Attribute
1.1.2. Create backward traces to design elements within and across any project milestone
• Traceability Reports: Milestone Attribute
1.1.3. Create backward traces to design elements within and across Design Control
Guidance Elements
• Traceability Reports: Linked design elements
1.1.4. Create forward impacts to design elements within and across any organizational
procedure
• Impact Reports: Procedure Attribute
1.1.5. Create forward impacts to design elements within and across any project milestone
• Impact Reports: Milestone Attribute
1.1.6. Create forward impacts to design elements within and across Design Control
Guidance Elements
• Impact Reports: Linked design elements
1.2. Associate changed design elements with related elements
• Link Change Design Object with affected design element(s)
• Traceability Links and Reports from affected design element(s)
• Impact Links and Reports from affected design element(s)
1.2.1. Associate design element changes with decisions, rationale, and approval authority
information
• Change Decision Objects with following Attributes:
• Disposition Attribute
• Decision Attribute
• Rationale Attribute
• Owner Attribute
• Management Approval Attribute
1.2.2. Provide associations within and across any organizational procedure
• Change Design Object Traceability Link on Procedure Attribute
• Change Design Object Impacts Link on Procedure Attribute
1.2.3. Provide associations within and across any project milestone
• Change Design Object Traceability Link on Milestone Attribute
• Change Design Object Impacts Link on Milestone Attribute
1.2.4. Provide associations within and across Design Control Guidance Elements
• Change Design Object Traceability Link to traced design elements
• Change Design Object Impacts Link to linked design elements
1.3. Mange the change process
• Design Change Module
• Design Change Reports
• Object History
• Object History Reports
• Versions
• Baselines
•
•
•
40
What are Suspect Links?
If documents are linked …
… a change by this
user here…
… shows up as a
warning flag to this
user here.
Proactively know when changes affect your requirements
Suspect link indicates that an element may have been
affected by a change
Help ensure that ripple effects of changes are considered
Download