"What is softest in the world drives what is hardest in the world."
To be successful, software projects need solid requirements and collaborating teams. Problems with requirements are one of the primary causes of software project failure. To make matters worse, the rush to use technologies to collaborate over time and space, or to try to substitute fast development, has resulted in lots of bad software. Many people on both sides of the software divide--developers and users have complaints about their interrelationships.
Requirements by Collaboration explains how to plan and hold workshops to meet two essential needs: efficiently defining user requirements while building positive, productive working relationships. Similar structured workshops are called joint requirements, accelerated design, group design, or Joint Application Design or Development (JAD) sessions. These workshops are about getting the requirements accurately, quickly, and collaboratively, through shared vision and clear communications. By collaborating in this way, you establish relationships, achieve mutual understanding, and build trust.
Successful workshops don't just happen. Facilitating a requirements workshop is simple, but it's not easy. These workshops require forethought, planning, and design on the part of the workshop facilitator as well as its stakeholders.
This book focuses on the essential tools you need for planning and leading requirements workshops. It integrates user requirements modeling, including use cases, business rules, and collaborative techniques. It teaches you the basic principles of designing and facilitating requirements workshops and gives you an overview of the deliverables of these workshops. It also shows you workshop design strategies. This book is a complement to other books on requirements gathering as well as those that deal with software engineering, requirements, modeling, and facilitation. To guide your study of these related topics, most chapters include references and information about further reading.
The aim of this book is to be practical, not theoretical. It's based on my real-world experiences from the numerous projects I've facilitated for clients as well as a series of courses I've written and delivered to clients in a variety of industries. The goals of this book are to provide a focused perspective on user requirements elicitation and to promote techniques that enhance the ongoing relationship between software and business people.
A unique aspect of this book is its discussion of collaboration patterns: reusable collections of group behavior applied to software projects. Collaboration patterns extend the idea of "process patterns"(work methods) by exploiting the power of software and customer groups working in tandem to achieve project goals.
You can think of collaboration as a continuous feedback loop that enhances both the quality and the speed of communication, and thereby of the products created in workshops. For this reason, the techniques described in this book use collaboration patterns coupled with clearly defined user requirements documentation and diagrams.
Anyone who participates in initiating, eliciting, analyzing, verifying, validating, or approving requirements for software will find this book useful. The focus is on perspectives, ranging from those of project sponsors to analysts, with the goal of providing a common understanding of user requirements from concept through specification. Readers of this book include people who will facilitate requirements workshops; project, product, and business managers overseeing the requirements process; and participants in requirements workshops. Project roles include analyst, project manager, product manager, developer, architect, quality assurance analyst, tester, and requirements engineer.
Like life itself, workshops are often surprising. You plan, and plan you must. But then unexpected things happen when people get together. A workshop rarely follows its original plan because when people get together, things get messy and sloppy; mistakes are made, discussions go off-track, the unexpected occurs. Yet this is when great ideas spring forth. With steady guidance from the facilitator, the group can achieve wonders.
The Organization of This Book
The body of this book contains 12 chapters within three parts.
Part One, Overview of Requirements Workshops, contains three chapters .
Chapter 1, Getting Started with Requirements Workshops, describes the problems associated with eliciting requirements and the basic concepts of the requirements workshop.
Chapter 2 , Workshop Deliverables: Mining Coal, Extracting Diamonds, provides a high-level overview of the various models that are the primary deliverables of a requirements workshop. Each of these models expresses a particular point of view, provides perspective on a certain focus, and achieves a varying level of detail. The chapter also explains how the workshop facilitator selects the most appropriate models for the workshop.
Chapter3, Ingredients of a Successful Requirements Workshop, describes the elements you need to achieve success with a requirements workshop.
Part Two, Requirements Workshop Framework, contains six chapters.
Chapter 4, Purpose: Sharing a Common Goal, describes how to specify why a given workshop is being held. A concise statement of purpose is the starting point for defining the other elements of a workshop: who, how, what, where, and when. Shared purpose is also an essential element for participants to ecome an effective working group.
Chapter5, Participants: Roles People Play, describes the various roles played by workshop attendees. It also explains what to do if surrogate or substitute users will attend your workshop and why the facilitator should be neutral and should have knowledge about requirements models. The chapter discusses the importance of participation by business subject matter experts, sponsors, and software stakeholders.
Chapter 6, Principles: Ground Rules for the Workshop, describes basic ground rules, special ground rules, ways to uncover hidden agendas, and decision-making ground rules.
Chapter 7, Products: Ending with the Beginning, discusses workshop products in detail. It describes how to determine the right level of precision, perform doneness tests, and divide a product across multiple sessions (or multiple products across a single session). It also shows how to promote efficiency by using pre - work and self - assigned post - work.
Chapter 8 , Place: Being There, describes same -time, same -place focus, recording modes (including posters and collaborative software tools) ,and location logistics.
Chapter 9, Process: Plan the Work , Work the Plan, describes the design and flow of workshop activities and shows you how to create a comprehensive agenda to serve as your roadmap. The chapter discusses how to open and close the workshop and defines collaborative modes, focus questions, collaboration patterns, sponsor "show and tell" group dynamics, and location logistics.
Part Three, Requirements Workshop Design Strategies, contains three chapters.
Chapter 10, Workshop Navigation Strategies , describes three roadmaps for structuring requirements workshops: horizontal, vertical, and zig zag.
Chapter 11, Workshop Case Studies, illustrates the book's principles and strategies with several case studies drawn from requirements workshops that I've facilitated.
Chapter 1 2, Moving Forward ,explains how to make workshops a best practice, including using data to improve workshops, selling workshops to management, integrating workshops in to your requirements process, ensuring that subject matter experts and the workshop facilitator have the needed knowledge and skills, and identifying helpful ground rules.
The book also includes a Glossary, which contains definitions for all terms introduced in the body of the text. The Bibliography lists books and articles that contain relevant material. Finally, the Appendix describes a set of collaboration patterns, referenced in the main body, that I have found helpful in facilitating requirements workshops.
“I spend much time helping organizations capture requirements and even more time helping them recover from not capturing requirements. Many of them have gone through some motions regarding requirements as if they were sleepworking. It’s time to wake up and do it right—and this book is going to be their alarm clock.”
, author of numerous books on productivity enhancement
“In today’s complex, fast-paced software development environment, collaboration—the intense peer-to-peer conversations that result in products, decisions, and knowledge sharing—is absolutely essential to success. But all too often, attempts to collaborate degenerate into agonizing meetings or ineffectual bull sessions. Ellen's wonderful book will help you bridge the gap—turning the agony of meetings into the ecstasy of effective collaboration.”
, a pioneer in adaptive software development methods
“Requirements by Collaboration presents a wealth of practical tools and techniques for facilitating requirements development workshops. It is suitable—no, essential reading—for requirements workshop facilitators. It will help both technical people and customer representatives participate in these critical contributions to software success.”
, Principal Consultant, Process Impact, author of Software Requirements
“The need for this particular book, at this particular time, is crystal clear. We have entered a new age where software development must be viewed as a form of business problem solving. That means direct user participation in developing ‘requirements,’ or more accurately, in jointly working the business problem. That, in turn, means facilitated sessions. In this book, Ellen Gottesdiener provides a wealth of practical ideas for ensuring that you have exactly the right stuff for this all-important area of professional art.”
—Ronald G.In addition to her technical experience, her knowledge of group dynamics balance the book by educating the reader on how to manage conflict and personality differences within a requirements team—something that is missing from most requirements textbooks...It is a required ‘handbook’ that will be referred to again and again.” —Kay Christian, ebusiness Consultant, Conifer, Colorado
“Requirements by Collaboration is a ‘must read’ for any system stakeholder. End users and system analysts will learn the significant value they can add to the systems development process. Management will learn the tremendous return they may receive from making a modest time/people investment in facilitated sessions. Facilitators will discover ways to glean an amazing amount of high-quality information in a relatively brief time.”
, Computer System Quality Consultant, Global Biotechnology Firm
“In addition to showing how requirements are identified, evaluated, and confirmed, Ellen provides important guidance based on her own real-world experience for creating and managing the workshop environment in which requirements are generated. This book is an engaging and invaluable resource for project teams and sponsors, both business and IT, who are committed to achieving results in the most productive manner possible.”
, Senior Manager, Business Process Improvement (Finance), CiscoSystems, Inc.
“Project managers should read this book for assistance with planning the requirements process. Experienced facilitators will enrich their knowledge. New facilitators can use this book to get them up to speed and become more effective in less time.”
, Competence Development Manager and Project Manager, Deloitte &Touche Consultdata, The Netherlands
“While many books discuss the details of software requirement artifacts (for example, use cases), Ellen’s new book zeros in on effective workshop techniques and tools used to gather the content of these artifacts. As a pioneer in requirements workshops, she shares her real-life experiences in a comprehensive and easy-to-read book with many helpful examples and diagrams.”
, Aera Energy LLC
“Requirements by Collaboration is absolutely full of guidance on the most effective ways to use workshops in requirements capture. This book will help workshop owners and facilitators to determine and gain agreement on a sound set of requirements, which will form a solid foundation for the development work that is to follow.”
, Software Process Consultant and author of DSDM: The Methodin Practice
“This book provides an array of techniques within a clear, structured process, along with excellent examples of how and when to use them. It’s an excellent, practical, and really useful handbook written by a very experienced author!”
, Director DSDM Consortium and IAF Professional Development
“Ellen has written a detailed, comprehensive, and practical handbook for facilitating groups in gathering requirements. The processes she outlines give the facilitator tools to bring together very different perspectives from stakeholders elegantly and with practical, useable results.”
, Principal, ICA Associates, Inc., Chair, IAF (2001-2002)
Requirements by Collaboration: Workshops for Defining Needs focuses on the human side of software development--how well we work with our customers and teammates. Experience shows that the quality and degree of participation, communication, respect, and trust among all the stakeholders in a project can strongly influence its success or failure. Ellen Gottesdiener points out that such qualities are especially important when defining user requirements and she shows in this book exactly what to do about that fact.
Gottesdiener shows specifically how to plan and conduct requirements workshops. These carefully organized and facilitated meetings bring business managers, technical staff, customers, and users into a setting where, together, they can discover, evolve, validate, verify, and agree upon their product needs. Not only are their requirements more effectively defined through this collaboration, but the foundation is laid for good teamwork throughout the entire project.
Other books focus on how to build the product right. Requirements by Collaboration focuses instead on what must come first--the right product to build.