Effective Requirements Practices
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. Please write to me at ryoungrr@aolRalph YoungFebruary 2001  0201709120P04062001