"What is softest in the world drives what is hardest in the world." Lao-Tzu 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 BookThe 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.
|