Effective Requirements Practices

Ralph R. Young

  • 出版商: Addison Wesley
  • 出版日期: 2001-03-18
  • 定價: $1,500
  • 售價: 6.0$900
  • 語言: 英文
  • 頁數: 400
  • 裝訂: Paperback
  • ISBN: 0201709120
  • ISBN-13: 9780201709124
  • 相關分類: 專案管理 PM軟體工程
  • 立即出貨(限量)




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


《軟體需求最佳實踐指南》是一本針對每個專案負責人和利益相關者的軟體需求指南。這本書介紹了10種突破性技術,可以降低風險並消除成本超支。書中還提供了來自世界領先的軟體專案經理的實用機制、方法、工具和範本。此外,書中還廣泛探討了與企業級軟體開發專案相關的人類問題。目前超過25%的軟體專案仍然完全失敗,給組織造成了數十億美元的損失。其中一個關鍵原因是未能有效定義專案需求。在這本書中,領先的企業軟體專案經理Ralph Young匯集了當今最佳的需求收集技術,為每個專案角色和利益相關者(技術和業務)提供解決方案。Young展示了如何識別初始需求,優先考慮和具體化需求,迭代規格以達到更高的清晰度;確定滿足每個需求的最佳方式;以及在編碼之前驗證需求。他提供了建立積極合作夥伴關係和有效溝通的成熟技術,包括與業務經理、技術專業人員和軟體使用者的溝通;處理專案過程中發生的變更;在面對企業政治和其他障礙時保持專案的動力等等。該書還包含了全面的範本,可用於改進現有的軟體需求流程,或建立全新的流程。適用於所有專案利益相關者:IT高管、專案經理、軟體工程師、應用程式開發人員、測試人員、品質專家、整合者,甚至軟體使用者。Ralph R. Young是PRC公司的軟體工程、系統和流程工程主管,領導一支由高級軟體工程師組成的團隊,為整個組織提供技術專業知識,解決最具挑戰性的開發問題。