No Slide Title
Download
Report
Transcript No Slide Title
Thinking Outside the Requirements Management “Box”
Managing Requirements
at the Object Level
Chicago SPIN
February 3, 2000
Larry Boldt
SVP, Software Services
Technology Builders, Inc. (TBI)
[email protected] 770.937.7881
Topics
The traditional approach to Requirements Management
The object-oriented approach: Why we need to think
outside the Requirements Management “Box”
Getting your organization to think outside the RM “Box”
What is a Requirement?
A Requirement may be many things, including:
A statement of the problem
A negotiated win condition
A statement identifying a capability, physical
characteristic, or a quality factor that bounds a
product or process need of the proposed
solution
Requirements Management
Involves . . .
Planning
Establishing requirement management standards and guidelines
Organizing
Staffing projects with personnel who understand and are charged
with their requirement management responsibilities
Directing
Ensuring that program/project managers lead and direct project
personnel to follow the requirement management standards and
process
Controlling
Ensuring that a standard change procedure is established and
followed that allows necessary requirement state changes
Key Lifecycle Processes
Tests
Tasks &
Estimates
Requirements
drive the process
Deliverables
Components
Who does Requirements
Management Today ?
Environments
1. Cost of failure is very
high or life-threatening
2. Complexity is very high
3. Regulations require
extensive documentation
4. Engineering of
embedded systems
Industries
Military
Medical
Avionics
Telecoms
Manufacturing
Embedded Systems
Financial
Who will do Requirements Management
Tomorrow?
Trends:
1. …increasing recognition among development
teams of the need to mitigate the cost of failing
to meet requirements
2. … increasing focus among certain
requirements management vendors on
understanding the needs of software
developers outside of the traditional markets
Giga Information Group
Causes of Project/Product Failures
#1. Failure to meet project or market requirements
#2. Technical complexity
#3. Inaccurate budgeting or planning
#4. Design/implementation errors
Giga Information Group
The Goals of Most Projects
1. On time and within budget
2. High level of quality
3. Meets requirements
Requirement Failures Occurred
Because . . .
1. Willingness to sacrifice requirements to meet date,
cost, and bug counts
(lack of commitment)
2. Failure to gather requirements accurately in the
first place
(lack of a shared form)
3. Software drifted away from meeting requirements
during the development process
(lack of process)
What the Business Needs . . .
What the customer really needs
The Requirements Management
Challenge
What gets lost in the translation?
The Goal of Requirements
Management
Common vision among all stakeholders
Traditional Inside the RM “Box”
Thinking
Informal Process
Project Focused
Document Creation
Translation & Interpretation
One-time Usage
Manage Documents
Limited Change Notification
Why We Need to Change the RM
Process
Imprecise
terminology
16%
Logical error
3%
Undocumented
assumptions
30%
Traceability and
inconsistency
24%
Inadequate
requirements
27%
“Experiences using Formal Methods for
Requirements Modeling.” Easterbrook, et al.
What the Experts Have to Say ...
“Ever wonder why there are so many buggy e-commerce
sites? It’s a sorry tale of web presence over performance.”
“The mad dash to create e-commerce sites is forcing
prudent business practices out the window.”
“The trend is how fast can you get the site up, not did
you test and test again. That’s why we are seeing a
lot of legal disclaimers on the bottoms of sites.”
“It’s the Ready, Shoot, Aim school of development.”
What if . . .
The requirements specification were treated as a group of
integrated, reusable objects instead of a static document?
Requirements could be captured at their source instead of
being gathered and translated from one source to another?
Requirements were stored in a central repository where
they could be communicated and collaborated on by the
entire organization?
All stakeholders were automatically notified any time a
requirement changed?
Outside the RM “Box” Thinking
Informal Process
Project focused
Document Creation
Translation & Interpretation
One-time Usage
Manage Documents
Limited Change Notification
Lifecycle of a Requirement Object
Requirement
Elicitation
Requirement
Verification
Requirement
Change
Management
Requirement
Representation
Requirement
Analysis
Things We Need Answers to . . .
Why
are we doing this task?
What
is this component supposed to
do?
How
will we integrate this?
When
can I expect this functionality?
Where
is this request being fulfilled?
Lifecycle Process Relationships
Requirements Management Process
Why?
What?
How?
Identify & Evaluate Needs
Derive & Analyze System Requirements
Design & Allocate Solutions
TIME
Who/
When?
Project Management Process
If - Then
Risk Management Process
Prove It
Test Management Process
Manage
Change
Component & Configuration Management Process
Can Technology Help?
How do we record and use requirements today?
Paper
Verbal agreements
We could . . .
Use word documents
Build databases - Access, Excel, SQL Server, Oracle
The process remains a manual one in all cases!
Minimum Technology Requirements
Requirements Capture
Descriptive text
Attributes
Reuse
External References
Requirements Publishing
Individual & Standard
reports
Online & batch hardcopy generation
Web publishing
Team/Collaboration Support
Locking/Sharing
Collaboration/Discussion
Version control/Tracking
Baselining
Lifecycle Support
Dependency/Relationship
traceability
Lifecycle Integration (test,
design & project objects)
Getting Your Organization Out of the
“Box”
Who is involved in the requirement management process?
At what phases of the lifecycle do you capture and
document requirements?
How and where do you document and maintain your
requirements?
How do you manage changes to requirements?
How much time do you spend writing and publishing
requirements documents?
What are the Alternatives?
Do Nothing
Keep process manual and labor intensive
Use word processing files and E-mail as documentation
Hope nothing in the process breaks!
Do Something
Develop a strategy to improve the process
Automate where we can
Minimize system and user change
Think Outside the “Box”
Develop a new process
Improve cycle times (make it a goal)
Partner with the business (provide 2-way feedback - goal
sharing)
Centralize the dissemination of project related information
Other Questions We Need to
Answer . . .
Why do we need requirements management?
What are the alternatives?
When should requirements management be
used?
How can we accomplish this?
Why do We Need Requirements
Management?
To Visualize the Business
Document agreement of what the business wants to
accomplish
Remove ambiguity
Enable the “Big Picture” view of the business
To Focus Resources
Right resource/Right application
Manage customer expectations
Control project expense
Doing the right things right the first time
When Should Requirements
Management be Used?
Business
projects needing control over customer-driven
agreements
deliverables that customers consider critical
IT
all planned, budgeted deliverables
all development and infrastructure projects
for budget planning
How Can We Accomplish This?
Pilot the Process
Define the customer organization
Recruit key business executive sponsor
Meet all the requirements and exceed them if
possible
Document the experience
Determine needs and ROI
Cost avoidance for rework & delays
Best Practices
Define requirements as objects
Make individual owners responsible for
requirement quality
Encourage buy-in from both IT and Business at
all stages…build it in
Derive each successive level of requirements
from the previous
Manage change with an iron fist
Conduct requirement ambiguity reviews
Starting Tomorrow . . .
Guidelines for Writing Quality Requirements
Write in a style readable by all audiences
Write requirements in a casual language as
opposed to a formal language (e.g., computer
language)
Keep sentences and paragraphs short
Avoid ambiguity (multiple meanings/interpretations
Write requirements at a consistent level
Starting Tomorrow . . .
Guidelines for Reviewing Requirements
Do you understand the requirement?
- Unambiguous
- Complete
- Testable
- Modifiable
Is the requirement valid?
- Correct
- Necessary
- Feasible
Does the set of requirements make sense?
- Consistent
- Traceable
- Prioritized
Avoid Ambiguous Terms
support
large
minimize
intuitive
maximize
robust
optimize
state-of-the-art
rapid
improve
user-friendly
efficient
easy
flexible
simple
and/or
often
etc.
usually
Requirements as objects
provides ...
Visibility
clearer elicitation, analysis and communication
Reusability
versioning and baselining of requirements within a
software project that has multiple releases.
Testability
verification and validation on an individual level.
Traceability & Replaceability
tracing from inception to deployment. Stakeholders
immediately know what components need to be
changed or replaced.
Maintainability & Security
Each requirement has its own individual change history
and level of security.
Thinking Outside the Requirements Management “Box”
Managing Requirements
at the Object Level
Chicago SPIN
February 3, 2000
Larry Boldt
SVP, Software Services
Technology Builders, Inc. (TBI)
[email protected] 770.937.7881