Business System Analysis Bookstore
In Association with Amazon.com
Help PicoSearch
Looking for Business Analysis Training

Effective Requirements Practices

Buy the Book
Summary TOC Preface Author Look Inside Comments
Ralph Rowland Young, Ralph R. Young
February 2001, Addison-Wesley Pub Co, Paperback, 400 pages, ISBN 0201709120

Instructor-led, virtual, and self-paced training for Business Analysts What Do Business Analysts Do?
How to Capture and Tame Business Requirements
How to Prepare and Facilitate Requirements Workshops
How to Jump-Start Requirements Gathering with User Stories
How to Manage Small Projects
How to Prepare and Facilitate a Successful JAD Session
How to Plan and Prepare a Requirements JAD
How to Facilitate a Successful JAR/JAD Session
How to Plan, Prepare, and Execute User Acceptance Testing
How to Find and Develop User Acceptance Test Cases
Business Analysis and Requirements Gathering Blitz
e-Learning, virtual workshops and webinars Try our new Virtual Workshops and e-Coaching
for today's Business System Analysts (BA's) and Subject Matter Experts (SME's)

Summary
Buy the book

Requirements analysis and management is finally receiving the attention it deserves as a key factor in the success of systems and software development projects.

And with this new attention comes a pragmatic guide to proven industry practices for emerging and fulfilling customer requirements. More than just an idealized view of the topic, Effective Requirements Practices addresses both managerial and technical issues that determine the success--or failure--of a project. The requirements practices described in this book enable you to redirect resources to satisfy customers' real business needs. Together, these practices provide a proven framework and process that help keep projects on the right track and ensure that requirements are addressed properly throughout a project's life cycle.

This book demonstrates proven methods and techniques.

Topics covered include

  • Strategies and methods for getting to the "real" customer requirements
  • Developing and improving a requirements process
  • The roles and responsibilities of the Joint Team for requirements elicitation
  • Designing system requirements with the system architecture in mind
  • Maintaining effective communication among team members
  • Maintaining a set of work products
  • Requirements verification and validation
  • Accommodating changes in requirements throughout the project
  • How the recommended requirements practices utilize the Capability Maturity Model (CMM) framework
  • Achieving an environment of continuous improvement and mutual support of one another

Also provided is a sample process that has been used in industry and deployed and tailored on dozens of projects. In addition, Effective Requirements Practices offers you recommendations for incorporating industry best practices into the development effort.

You will come away from this book well equipped to better satisfy your customers' needs.

 
analysis bookstore top
BA books: Table of Contents
Buy the book
Foreword.
Preface.
Acknowledgements.


INTRODUCTION TO PART 1 — 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 Concerning Using a Process Approach.
About This Book.
Roles.
Key Terms.
A Requirements Taxonomy.
Systems and Software Engineers.
Recommended Mindset for Readers of This Book.
The “Team,” the “Project,” and the “Project Manager.”
Footnotes in This Book.
Key References and Suggested Readings at the End of Each Chapter.
Upcoming Topics.

INTRODUCTION TO PART 2 — 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.

3. Establish and Utilize a Joint Team to Be 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 Effective Requirements Practices.
Customer and Supplier Roles.

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.
Develop a Definition of 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 Goldplate.
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.
What Is a Good Requirement.
Document the Rationale for Each Requirement.
Utilize Methods and Automated Tools to Analyze, Prioritize, and Track Requirements.
Approaches and Tools for Prioritizing Requirements.
Collect Requirements from Multiple Viewpoints.
Consider the Use of Formal Methods When Appropriate.
Pitfalls to Watch For.

5. Use a Requirements Process and Continually Improve It.
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.

6. Iterate the System Requirements and the System Architecture Repeatedly.
Background.
The System Engineering Process.
Recommendations.
Consider the Design-Ability 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.

7. Use a Mechanism to Maintain Project Communication between and among All Engineering Groups throughout the Development Effort.
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 Emailing.
The Value of a Common Vocabulary.
The Use of Vertical Experts.
Avoid Multiple Locations.
A Final Recommendation.

8. Select Familiar Methods and Maintain a Set of Work Products That Collectively Comprise the Current Requirements Specification.
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.

9. Perform Requirements Verification and Validation.
V&V Terminology.
The Importance of Verification and Validation.
Verification and Validation Planning.
Verification Methods.
Validation and Verification Techniques.
Using Traceability to Support Verification.
A Structured Approach to Testing.
Recommendations.
Pitfalls in Performing Requirements Verification and Validation.

10. Provide an Effective Mechanism to Accommodate Changes in Requirements during System Life Cycle Development.
Why Such Emphasis?
Planning for Changes in the 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.
Maintain Minutes of Meetings.
Maintain the Set of Work Products That Collectively Comprise the Requirements Specification.
Agree on Cost and Schedule Impacts of Requirements Changes.
Keep People Informed.
Be Proactive in Considering Impacts on Staffing Changes.
Don't Try to Take Advantage of Unproven or Untrained Methods.
Try Not to Allow Your Customer to Force Methods Upon You.

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?
Recommendations.
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 Familiar (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 Quality Assurance Role That Proactively Assists and Supports the Development Team and Provides Value-Added to the Project.
Ensure That Subcontractors Are Managed Such 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.
In Mature Organizations, Processes Are Managed Quantitatively. A Defect Prevention (DP) Process Is Working Effectively, a Technology Change Management (TCM) Process Facilitates Identification of Effective Technologies Throughout the Enterprise, a Process Change Management (PCM) Process Is Used, and There Is Extensive Re-Insertion and Reuse Throughout the Organization.
Musings on Software Project Management.


INTRODUCTION TO PART 3 - 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.
Metrics.
The Development Team.
Where to Start.
How to Prioritize Needed Efforts.
Relationship of the Recommended Effective Requirements Practices to the Capability Maturity Model.
But, I Have So Many Things to Do.
What if We Are “Further Along” on Our Project?

Epilogue.
List of Acronyms.
Glossary.
Bibliography.
Author Index.
Subject Index.
 
analysis bookstore top
Preface
Buy the book

Dealing effectively with requirements tops the list of the challenges to managers and practitioners developing systems and software. Improving the effectiveness of requirements practices has been a focus for me throughout my career. My vision of this book is to help you in your life's work by providing practical, useful, effective requirements practices.

This book describes ten requirements practices that provide a framework for overcoming current industry problems. Although systems and software development efforts have been going on for five decades, the industry has major difficulty worldwide in delivering products that meet customer needs. By applying effective requirements practices, one can remove causes of project failure. The reasons for failure are well documented (see Chapter 1). The needed improvement activities can be financed via the one third of total project costs now wasted. This book is full of suggestions concerning how to transform this waste into productive use.

The theme of this book is that practitioners should insist on using effective requirements practices. The use of effective requirements practices will reduce costs, improve the quality of work products, and increase customer satisfaction. The practices, ideas, suggestions, and recommendations provided in this book can be used individually or collectively, and not all have to be implemented to achieve progress. One can gradually implement some good practices quickly, with good payback, and then continue to work toward a more sophisticated, high-performance set of requirements practices.

This book provides a baseline for managers and project leaders to use to ensure that they are doing what is necessary to make a project successful. The practices, methods, techniques, and the requirements process itself have been filtered through experience, so the ideas are practical, cost-effective, and proven.

This book deals with the practical difficulties of requirements elicitation and management from a pragmatic, organizational, and project perspective. Attention is given to the pitfalls, costs, and risks as well as to the benefits of these practices. Unfortunately, many good practices never get implemented because the benefits are oversold, and the costs and risks aren't recognized. Political realities of organizations and projects must also be considered.

Application of the practices in this book will result in more productive, healthier, and happier organizations for systems and software development. The analysis extends beyond the technical issues to human issues and values. This book emphasizes the need for a shared vision of project success and advises how to obtain the required customer and supplier commitment.

The effective requirements practices described in this book will help you whether you are in a small organization or a large one, whether you build systems or software. Advice is provided for the information technology executive, consultant, manager, architect, systems or software engineer, systems integrator, developer, tester, process improvement engineer, member of the quality assurance group, or one responsible for configuration management. This book is invaluable for systems and software engineering courses, at both the undergraduate and graduate levels, and also for venues relating practical, useful guidance such as industry association and corporate courses concerning management of systems, requirements, as well as systems and software process engineering.

Although one frequently sees references to "requirements management," let's be clear that the challenge to system and software developers extends far beyond simply managing requirements. The requirements process is a full life cycle systems engineering process. It requires special effort and practices at the beginning of a project or system to identify what I refer to as the real requirements. Because the world changes while we are developing systems and software, it's essential to address new and changed requirements within the requirements process.

The requirements process requires mechanisms, for example, to achieve a shared vision, to ensure joint customer and supplier responsibility for the requirements, and to enable effective project coordination. The requirements process impacts every other activity performed in developing systems and software. One needs an automated requirements tool that provides for attributes such as the priority of each requirement, how it is linked to the design, where it is met in the code, how it is verified and tested, and so forth. It should be apparent already that we as an industry do not spend enough time and effort on the requirements process, and that this itself is a root cause of our problems.

The requirements comprise the basis for all the development work that follows. If you don't get the requirements right, you are in for a long, hard, and expensive pull. Your chances of "finishing" are small, and the probability of satisfying the users of the planned system is nil. We know from industry experience that customers don't know their "real requirements" (even though they may have spent a lot of time defining them and believe they know them). Suppliers and system developers don't know them either. Identifying the real requirements requires an interactive requirements process, supported by effective mechanisms, methods, techniques, and tools. The requirements process need not be complicated or expensive. However, a requirements process is required for a project of any size. It's more important that a project or organization have a requirements process than the nature of its specific components.

This leads to another fundamental premise of this book: Continuous improvement and a quality ethic within a project or organization lead to repeatable processes and reuse that save time and money. My commitment to these values comes from my work experiences and also from my study under Dr. W. Edwards Deming. Dr. Deming clarified for me that many of the root causes of problems are not technical issues. Rather, the root causes concern our responsibility as organizational and project executives, managers, and leaders to provide the environment in which "the workers"can be effective, productive, and fulfilled. Management must empower its work force to unleash its incredible capabilities.

The systems and software development environment needs attention, as we all can attest, based on our experience. The effective practices advocated in this book will facilitate your creation of the needed environment and will empower and enable your development team. I have witnessed (as I hope you have too) the power and the results of effective teams in positive environments. My experience is that an empowered team can accomplish anything it sets out to do. We must work to create the needed environment for success.

To benefit from the information in this book, you need bring only your involvement in systems and software-related activities coupled with a desire to improve. If you are a customer or client of the system or software provider industry, you will be particularly interested in Chapters 1 through 5 and 12. If you are a practitioner already familiar with the issues and problems, you may proceed directly to whichever of Chapters 2 through 11 relate most closely to your specific work activities, noting the references to additional information and sources. If you are an executive or manager, you may want to focus on Chapters 1, 7, and 12 to gain added insight into the issues, to garner a high-level understanding, and to formulate some ideas concerning candidate improvement actions. If you are a student of systems or software engineering, you'll likely find it worth your time to proceed deliberately through the book. If you are participating in a requirements-related course, you'll find the entire book insightful and provocative.

A rich collection of suggested references is provided in the footnotes, the Key References and Suggested Readings sections provided for each chapter, and the bibliography. No source is included just because it provides related information. Rather, each and every one is noted because it provides additional insights, more detailed suggestions and ideas, a recommended technique/approach, or an alternative concept you might want to consider.


Primary Features of This Book

  • Provides a practical organizational and project perspective.
  • Emphasizes the need for a partnership approach and explains how to obtain commitment.
  • Focuses on specific improvement activities.
  • Explains how to evolve the real requirements.
  • Considers the human dimension.
  • Emphasizes the importance of effective communication.
  • Provides sample templates (for example, for a requirements process and a requirements plan).
  • Discusses the need to iterate the requirements and the architecture.
  • Recommends how to deal with changing requirements.
  • Explains requirements verification and validation.
  • Suggests several mechanisms to facilitate self-correction and to help maintain momentum.
  • Stresses the need for an automated requirements tool.
  • Provides advice and recommendations for executives, project managers, and leaders.
  • Enables organizations and projects to utilize their resources better.
  • Includes a rich set of references.

I am very grateful to a large number of reviewers for the material presented in this book. They have been helping me for 28 years to understand what works. Some I've come to know only recently, and many of them are industry experts in requirements, systems, or software engineering. The publisher tasked some industry experts to review these materials, and their review comments were invaluable. Others provided informal reviews because they are experts in particular areas or because they are professionally interested. Addison-Wesley's publishing professionals have made an invaluable contribution to the final product.

All of the reviewers have reinforced something I already knew: These practices are urgently needed today on projects and efforts of all sizes in all systems and software efforts. My hope is that they will help you. Of course, different practices work well in different environments. This is something we all understand from our experience, no matter where that experience was acquired or what fields it concerned. So you will need to select appropriate practices, recommendations, and suggestions, and apply them with a large measure of common sense--always a great guide!

I hope that you take the time and effort to share with me your experiences in applying the practices, recommendations, and suggestions in this book. This will help me further strengthen and improve my own insights and understandings and, God willing, allow me to share them again with others.

 
analysis bookstore top
Author info
Buy the book
Ralph R. Young is the Director of Software Engineering, Systems and Process Engineering, at Litton PRC, Inc., a leading provider of information technology and systems-based solutions. Litton PRC, Inc. is also a CMM Level 5 organization. Dr. Young is an avid reader of the industry literature. He leads PRC's Requirements Working Group of requirements engineers. He teaches the 10-hour PRC "Requirements Course for Practitioners" and consults frequently about both requirements engineering and process improvement for PRC's customers. He has been awarded PRC's Teamwork, Leadership, and Continuous Improvement Awards and has been recognized often for his contributions in process management and improvement.
 
analysis bookstore top
 
NEW RELEASES
Agile
Benchmarking
Best Practices
Business Systems Analysis
CASE
Data Analysis
  Data Models
Data Normalization
Data Repository
Entity Relationship Diagrams
Miscellaneous
Data Warehouse
Enterprise Architecture
Enterprise Resource Planning (ERP)
  Peoplesoft
SAP
Miscellaneous
Humor
Internet
  E-Commerce
Miscellaneous
Interviewing Techniques
Methodologies
  Information Engineering
Structured System Development
System Development Life Cycle (SDLC)
Miscellaneous
Object Oriented
  Business Objects
Object Oriented Analysis
Object Oriented Design
Object Oriented Modeling
Object Oriented Testing
State Transition Diagrams
Problem Analysis
Process Analysis
  Data Flow Diagrams
Decision Tables
Event Response Diagrams
Flowcharts
Process Models
Miscellaneous
Process Improvement (BPI)
Related Topics
  Knowledge Management
Philosophies
Request for Proposal (RFP)
Risk Management
Six Sigma
Software Reuse
Strategic Planning
Requirements
  Business Rules
Prototyping
Requirements Analysis
Requirements Definition
Requirements Documentation
Requirements Engineering
Requirements Gathering
Requirements Management
Requirements Traceability
System Specifications
User Interfaces
Miscellaneous
Test Management
  Defect Tracking
Test Planning
Testing Methodologies
Testing Tools
Validation & Verification
Miscellaneous
Testing Phases
  Acceptance Testing
Configuration Testing
Integration Testing
Performance Testing
System Testing
Unit Testing
Usability Testing
Testing Techniques
  Black Box Testing
Object Oriented Testing
Regression Testing
Test Cases
Test Data Engineering
Walkthroughs
White Box Testing
Miscellaneous
Unified Modeling Language (UML)
Usability Engineering
  Prototyping
Task Analysis
Usability Testing
User Interfaces
Miscellaneous
Use Cases
Workflow Analysis
Working in Teams
  Conducting Meetings
Facilitation
JAD
Rapid Application Development (RAD)
Miscellaneous
Search:
Keywords:
Home Links Add a book Request Link Exchange BA Skills Test Training Needs Assessment