Upload
leon-shaw
View
215
Download
3
Embed Size (px)
Citation preview
1
Dr. Ralph R. Young
Director of Software Engineering
PRC, Inc.
(703) 556-1030
DOORS USER GROUP DOORS USER GROUP CONFERENCECONFERENCE
Reston, VAReston, VA
September 17, 2001September 17, 2001
Effective Requirements PracticesEffective Requirements Practices
http://ralphyoung.nethttp://ralphyoung.net
2
Major Industry ProblemsMajor Industry Problems
• We fail to identify the real requirements before we start development efforts.
• We don’t manage changes to requirements and new requirements well.
• We lack a disciplined project management approach.—Management’s “expectations” are not clear.
• We need to invest more in formal training.
3
Effective Requirements Effective Requirements PracticesPractices• Obtain commitment.
— Consider “Partnering Workshops.”— Have and use a “Requirements Policy.”
• Define the real customer needs and the real requirements.— Industry experience shows that the “stated requirements”
are never adequate.— Consider utilizing a “Joint Team” to be responsible for the
requirements.
• Use and continually improve a requirements process.
• Iterate the system requirements and architecture repeatedly.
4
Effective Requirements Effective Requirements Practices Practices (continued)(continued)
• Control changes to requirements and new requirements.
• Select familiar methods.• Maintain effective project
communication.• Maintain a set of work products that
together describe the requirements.• Perform requirements verification and
validation.• Use proven development practices.
5
Actions We Should ConsiderActions We Should Consider
• Invest more in the requirements process.
• Keep our customers involved.• Provide a mechanism to manage
requirements changes.• Reduce rework.• Invest in training and effective
tools and practices.
6
7
Maintaining Customer Maintaining Customer InvolvementInvolvement
Am
ou
nt
of
effo
rtA
mo
un
t o
f ef
fort
Userrequirements
Systemrequirements
Architecturaldesign
Detaileddesign &componentdevelopment
Definingresults
for users
Optimizingthe cost-benefits
Defining whatthe system
must do
Decidingon potential
changes
Customer work
Developerwork
Provisional& finalacceptance
Acceptance,integration &verification
Qualifying the
design
Verifying& validatingthe product
Linkingdeliverables
to requirements
Storing and using knowledge from
previous projects
Informing theenterprise
8
Managing Changes to Managing Changes to RequirementsRequirements• Implement a mechanism to control changes.
— “Joint Team” • Provides a single channel• Allows “responsibility” for the requirements• Facilitates communication of impacts
— Control requirements “leakage.”— Focus on product benefits rather than features.— A 1/3 change in requirements equates to a doubling
of project costs.— Use product releases and versions and an
incremental development approach.— Incorporate technology change management.
9
Avoiding ReworkAvoiding Rework
• Perform the development effort using known familiar proven industry, organizational, and project best practices.
• Calculate the ROI from using effective requirements practices and use the data to encourage the use of better practices.
• Reduce requirements errors—the single most effective action developers can take to improve project outcomes.
10
Training for Requirements Training for Requirements Analysts/EngineersAnalysts/Engineers• Have and use a requirements process.• Use an effective requirements tool.• Write good requirements (use criteria).• Document the rationale for each requirement.• Prioritize requirements.• Don’t make requirements decisions.• Do not “gold plate.”• How to address the most common sources of
requirements errors:— Incorrect facts (49%)— Omitted requirements (29%)— Inconsistencies (13%)
11
Where To Go From HereWhere To Go From Here• We must improve!• Each of us can have a positive impact on our
industry by doing things a bit differently.• Take three ideas home from this Conference
and apply them.• Consider having an organizational or project
requirements working group.• Leverage industry, organization, and project
experience.• Advise project managers.• Share successes.