Effective Requirements Practices

Ralph R. Young

  • 出版商: Addison Wesley
  • 出版日期: 2001-03-18
  • 定價: $1,500
  • 售價: 6.0$900
  • 語言: 英文
  • 頁數: 400
  • 裝訂: Paperback
  • ISBN: 0201709120
  • ISBN-13: 9780201709124
  • 立即出貨(限量)




The best-practices guide to software requirements for every project leader and stakeholder.

  • 10 breakthrough techniques that reduce risk and eliminate cost overruns.
  • Practical mechanisms, methods, tools, and templates from one of the world's leading software project managers.
  • Extensive coverage of the human issues associated with enterprise-scale software development projects.
More than 25% of all software projects still fail outright -- costing organizations billions of dollars. One key reason: a failure to effectively define project requirements. In this book, leading enterprise software project manager Ralph Young brings together today's best techniques for gathering requirements, presenting solutions for every project role and stakeholder -- technical and business. Young demonstrates how to identify initial requirements, prioritize and specify requirements, iterate specifications to achieve greater clarity; identify the best ways each requirement can be met; and verify and validate requirements prior to coding. He offers proven techniques for establishing positive partnerships and effective communication with business managers, technical professionals, and software users; handling changes that occur during the course of a project; maintaining a project's momentum in the face of corporate politics and other obstacles; and much more. The book includes comprehensive templates that can be used to improve existing software requirements processes -- or to establish entirely new processes. For all project stakeholders: IT executives, project managers, software engineers, application developers, testers, quality specialists, integrators, even software consumers.

Ralph R. Young is Director of Software Engineering, Systems and Process Engineering, at PRC, Inc., where he leads a team of senior software engineers who provide technical expertise enterprise-wide, addressing the organization's most challenging development problems.

Back to Top

Table Of Contents

List of Figures.

I. Background.

1 Introduction.
The State of the Industry Today.
The Need to Use Effective Requirements Practices.
The Requirements Process.
What is a Process?
What Is the Requirements Process?

Benefits of a Process Approach.
Pitfalls of Using a Process Approach.
About This Book.
Key Terms.
A Requirements Taxonomy.
Systems and Software Engineers.
Intended Audience.
Recommended Mind-set for Readers of This Book.
The "Team," the "Project," and the "Project Manager".
Footnotes in This Book.
Key References and Suggested Readings.

Upcoming Topics.
Key References and Suggested Readings.

II Recommended Requirements Practices.

2 Commit to the Approach.
What Do We Mean by Commitment?
How Can Commitment Be Attained and Maintained?
Recommendations to Assist in Evolving the Partnering Approach.
Involve Managers with Authority in the Partnering Workshop.
Develop a Requirements Plan.
Utilize a Set of Mechanisms, Methods, Techniques, and Tools.
Work Toward a Quality Culture.

Key References and Suggested Readings.

3 Establish and Utilize a Joint Team Responsible for the Requirements.
What Is a "Joint Team"?
What Does the Joint Team Do?
How Is the Joint Team Created?
Who Should Be on the Joint Team?
How Often Should the Joint Team Meet?
What Metrics Need to Be Created and Tracked?
Calculating Return on Investment (ROI) from Using Effective Requirements Practices.
Customer and Supplier Roles.
Key References and Suggested Readings.

4 Define the Real Customer Needs.
Recommendations to Facilitate Getting to the Real Requirements.
Invest More in the Requirements Process.
Train PMs to Pay More Attention to the Requirements Process.
Identify a Project Champion.
Define the Project Vision and Scope.
Identify a Requirements Engineer and Utilize Domain Experts to Perform Requirements Engineering Tasks.
Train Developers Not to Make Requirements Decisions and Not to Gold Plate.
Utilize a Variety of Techniques to Elicit Customer and User Requirements and Expectations.
Use Cases.
Train Requirements Engineers to Write Good Requirements.
The Impact of Requirements Errors.
The Importance of Requirements to Program Costs.
What Is a Good Requirement?
Document the Rationale for Each Requirement.
Utilize Methods and Automated Tools to Analyze, Prioritize, and Track Requirements.
Approaches, Tools, and Methods for Prioritizing Requirements.
Collect Requirements from Multiple Viewpoints.
Consider the Use of Formal Methods When Appropriate.

Key References and Suggested Readings.

5 Use and Continually Improve a Requirements Process.
What Is a Process?
How Is a Process Designed?
Why Is a Requirements Process Needed?
Goals of Requirements Engineers.
A Sample Requirements Process.
How Can Organizations Create or Tailor a Requirements Process?
Tailoring of Processes.
Web Support: An Organizational Process Asset Library.
Key References and Suggested Readings.

6 Iterate the System Requirements and Architecture Repeatedly.
The System Engineering Process.
Consider the "Designability" of the System When Addressing the Requirements.
Allocate Requirements to Functional Partitions, Objects, People, or Support Elements to Support Synthesis of Solutions.
Utilize a System Architecture Process.
Consider Open Systems Standards.

Guidelines for "Architecting".
Another View.
Key References and Suggested Readings.

7 Use a Mechanism to Maintain Project Communication.
Setting the Stage.
Natural Human Tendency.
A Proactive Approach to Achieve Effective Communication.
An Example Mechanism.
When Negativism Shows Up.
Another Valuable Mechanism‹Brown Bags.
Guidelines for Effective Meetings.
Guidelines for Effective E-mail Communication.
The Value of a Common Vocabulary.
The Use of Vertical Experts.
Avoid Multiple Locations.
A Final Recommendation.
Key References and Suggested Readings.

8 Select Familiar Methods and Maintain a Set of Work Products.
The Foundation for System Development.
What Are the Candidate Methods and Techniques?
Which Methods and Techniques Are Best?
Use of Function Points for Software Estimation.
Quality Function Deployment.
What Comprises the Requirements Specification?
The Rationale for Prioritizing Requirements.
Key References and Suggested Readings.

9 Perform Requirements Verification and Validation.
V&V Terminology.
The Importance of V&V.
V&V Planning.
Verification Methods.
V&V Techniques.
Using Traceability to Support Verification.
A Structured Approach to Testing.
Key References and Suggested Readings.

10 Provide an Effective Mechanism to Accommodate Requirements Changes.
Why Such Emphasis?
Planning for Changes in Requirements.
The Recommended Mechanism.
Requirements Leakage.
Focus on What Counts!
How Much Can Requirements Change?
A Way to Deal with Requirements Creep Contractually.
Other Recommendations.
Key References and Suggested Readings.

11 Perform the Development Effort Using Known, familiar Proven Industry, Organizational, and Project Best Practices.
What's All the Fuss?
What Can We Do About It?
Provide to the Development Team an Understanding of the Relevant Policies, Processes, and Procedures to Be Used.
Utilize a Practical, Effective Project Management Approach.
Ensure That Selected Members of the Development Team Have Domain Knowledge.
Perform the Development Effort Using Known (Trained), Proven Processes, Mechanisms, Methods, Techniques, and Tools.
Provide and Utilize Mechanisms to Foster Effective Communications Throughout the Development Team.
Utilize Peer Reviews and Inspections to Remove Defects from Processes and Work Products.
Ensure That Configuration Management Is Effective.
Foster an Independent QA Role That Proactively Assists and Supports the Development Team and Provides Value to the Project.
Ensure That Subcontractors Are Managed So That Their Contributions Are Effective.
Use Appropriate, Useful Metrics to Manage the Project.
Ensure That a Systematic Approach to Involving the Customer in This Entire Effort Is Working.
Manage Processes Quantitatively. Also, Use a Defect Prevention (DP) Process, a Technology Change Management (TCM) Process, and a Process Change Management (PCM) Process. Perform Extensive Reinsertion and Reuse Throughout the Organization.

Musings on Project Management.
Key References and Suggested Readings.

III.What to Do Next.

12 How to Proceed.
Common Issues.
Key Factors in Addressing These Issues.
The Customer.
Requirements as a Key Driver to Any Systems or Software Effort.
Financing Improvements in the Requirements Process.
Survival of the Fittest.
Management Awareness and Expectations.
The Development Team.

Where to Start.
How to Prioritize Needed Efforts.
Relationship of the Recommended Effective Requirements Practices to the CMM.
But I Have So Many Things to Do....
What If We Are "Further Along" on Our Project?
Key References and Suggested Readings.
List of Acronyms.

Author Index.
Subject Index. 0201709120T04062001.

Back to Top