Professional Documents
Culture Documents
Re 09
Re 09
Re 09
Requirements
Engineering
Requirements management
Managing changes to the requirements baseline
Keeping project plans current with the requirements
Controlling versions of both individual requirements and
requirements documents
Managing the relationships between requirements, and links or
dependencies between individual requirements and other project
deliverables
Tracking the status of the requirements in the baseline
Resources
◦ Mainly human resources
◦ Competition in market place
◦ Shorten our time lines
◦ Adding more people!
Time
◦ Typically fixed
◦ Functionality we can deliver in limited time
How does one manage to reduce scope and keep the customers happy?
Establishing project scope
The purpose of scope management is to establish a high-level
requirements baseline for the project.
We'll define the baseline as
◦ the itemized set of features, or requirements, intended to be delivered in
a specific version of the application.
Prioritization by importance
◦ Prioritizing requirements is determining the order of importance to
some stakeholder or class of stakeholders of the requirements along
one or more dimensions (e.g., personal preference, business value,
cost of implementation, and risk).
Setting priorities
Not only understanding User Needs but establishing the
relative priorities for the feature set is integral to scope
management
Who sets priorities?
the customers and users, product managers, or other
representatives — not the development team
Initial prioritization should be done without too much
influence from the technical community
◦ The level of difficulty in implementing the features will influence
customer priorities
◦ There will be adequate opportunity for technical input at later
phases of the prioritization process
Example
Feature Priority
Feature 1: External relational database support Critical
Feature 2: Multiuser security Important
Feature 3: Ability to clone a project Important
Feature 4: Port to new OS release Critical
Feature 5: New project wizard Important
Feature 6: Import of external data by style Critical
Feature 7: Implement tool tips Useful
Feature 8: Integrate with version-manager subsystem Useful
Prioritization Techniques
Business Case Analysis / Return On Investment (ROI) estimation
Pair-wise comparisons
◦ Which of two the requirements is more important and to what
extent
Prioritization working groups
Scale of 1-to-10 rankings
Voting schemes
◦ e.g., give each stakeholder a specific number of votes to distribute
amongst the requirements or classes of requirements being prioritized
Weightings
◦ e.g., weight the votes of different stakeholders
Assessing Effort
The next step is to establish the rough level of effort implied by each
feature of the proposed baseline
At this stage there is little information
The question is “To estimate or not to estimate”
The best we can do is to determine a “rough order of magnitude” of
the level of effort
Why can we not allow for a process that creates detailed
requirements and design information for each feature so that we can
create more meaningful estimates?
We cannot afford to invest any resources in these scrap-producing
activities, or we will fail to optimize the resources invested.
Example
Priority Effort
Attribute Consider
Priority: Critical Alarm! Establish immediate risk-mitigation strategy;
Effort: High resource immediately: focus on feasibility with
Risk-: High architecture
Priority: Critical A likely critical resource-constrained item; resource
Effort: High immediately
Risk: Low
Priority: Critical Resource as a safety factor, or defer until later
Effort: Low
Risk : Low
Baseline - Example
Feature Priority Effort Risk
Feature External relational database Critical Medium Low
1:
Feature 4: Port to new OS release Critical High Medium
Feature 6: Import of external data by style Critical Low High
Feature 3: Ability to clone a project Important High Medium
Vision document
◦ defines the features of the system in general terms
SubsystemSubsystemSubsystemSubsystem
A-1 A-2 C-1 C-2
Requirements organization for a software
product family
Vision
HOLIS 2000
Vision Document
HOLIS 2000
Subsystem Hardware System Level
Specifications Use Case Model