About Us Training Courses Our Partners Licensing Best Practices Bookstore Contact Us
image
 
 
 
Bookstore: Requirements Gathering
 

_____________________________________________________________________

Software Requirements
by Karl E. Wiegers

Book Jacket

"Requirements" are essential for creating successful software because they let users and developers agree on what features will be delivered in new systems. Karl Wiegers's Software Requirements shows you how to define and get more out of software requirements with dozens of "best practices" and tips that make this book a valuable resource for both software project managers and developers.

The book's commonsense approach provides exemplary project management skills tailored to gathering (and refining, implementing, and eventually tracking) software requirements. While the book often cites recent software engineering studies, the focus always returns to practical management techniques. A case study for a chemical tracking application frames the book, and most chapters begin with anecdotes that demonstrate situations in which users and developers misunderstand each other about a software project's ultimate goals. (If you've ever worked in the field, these stories will probably sound all too familiar.)
This book offers hope, though, for improving your software design process, with dozens of tips on getting better design input from your customers and then using these requirements to generate a variety of design documents. There are numerous templates and sample documents too--a big help for the busy software manager.

Several standout sections cover negotiating difficult steps in the process, particularly how to manage shifting requirements as projects move forward and keep the various users and stakeholders content throughout the software process. Late in the book, the author surveys today's software management tools and shows how to pick the right ones for your organization.

Topics covered : software requirements specifications (SRS); business and user requirements; risk management; the requirements process; sample documents and templates; requirements development: elicitation, analysis, specification, and verification; rights and responsibilities for software customers; best practices; project management tips; process assessment and improvement; types of users; product champions; use cases and other diagrams; tips for prototyping; managing requirements change; change centered boards (CCBs); evaluating and using requirements tools; requirements traceability matrix; impact analysis.

_________________________________________________________________

Mastering the Requirements Process

by Suzanne Robertson and james Robertson

Book Jacket

Written in an engaging style and relevant for any software analyst or designer, Mastering the Requirements Process provides a powerful and useful guide to defining more complete software requirements that lead to better software overall. It's also filled with innovative advice.

The heart of this book is the authors' Volere Requirements Process Model, a step-by-step guide to gathering your requisites. Throughout this book, the authors use this process to explicate a single case study--a system for a municipality that will optimize the de-icing of roadways during snowy weather. Along the way, the book provides a solid guide to identifying and refining requirements, both functional and nonfunctional (such as performance and ease of use).

There are many excellent ideas in the book, including the notion of fitness for your requirements, which can be later used to track whether the software is successful. The book also wisely separates technology from requirements so that analysts can concentrate on understanding and modeling business problems instead of moving right away to the nuts and bolts of implementation. Even if you don't adopt the Volere model in toto, you can benefit from the concepts of "trawling" (a metaphor for the requirements-gathering process), quality gateways (in which tentative requirements are evaluated for inclusion in a project), and the wise use of patterns to help simplify the process.

Anchored by numerous examples (including many samples of successful requirements), the book provides an appealing mix of new ideas along with a remarkably clear presentation. In short, Mastering the Requirements Process provides useful advice that can make the project specification building phase of the software process easier and more robust. It provides the first steps for improving overall software quality for your organization.


_____________________________________________________________________

Writing Effective Use Cases

by Alastair Cockburn

Book Jacket

Alistair Cockburn's Writing Effective Use Cases is an approachable, informative, and very intelligent treatment of an essential topic of software design. "Use cases" describe how "actors" interact with computer systems and are essential to software-modeling requirements. For anyone who designs software, this title offers some real insight into writing use cases that are clear and correct and lead to better and less costly software.

The focus of this text is on use cases that are written , as opposed to modeled in UML. This book may change your mind about the advantages of writing step-by-step descriptions of the way users (or actors) interact with systems. Besides being an exceptionally clear writer, the author has plenty to say about what works and what doesn't when it comes to creating use cases. There are several standout bits of expertise on display here, including excellent techniques for finding the right "scope" for use cases. (The book uses a color scheme in which blue indicates a sea-level use case that's just right, while higher-level use cases are white, and overly detailed ones are indigo. Cockburn also provides notational symbols to document these levels of detail within a design.)

This book contains numerous tips on the writing style for use cases and plenty of practical advice for managing projects that require a large number of use cases. One particular strength lies in the numerous actual use cases (many with impressive detail) that are borrowed from real-world projects, and demonstrate both good and bad practices. Even though the author expresses a preference for the format of use cases, he presents a variety of styles, including UML graphical versions. The explanation of how use cases fit into the rest of the software engineering process is especially good. The book concludes with several dozen concrete tips for writing better use cases.

_____________________________________________________________________

A Practical Guide to Feature-Driven Development

by Stephen R. Palmer and John M. Felsing

Book Jacket

* Combine the speed and flexibility of agile methods with enterprise-class scalability!
* Hands-on coverage of the entire project lifecycle
* Modeling, feature lists, planning, design, and software construction
* Adapt Feature-Driven Development to your own organization and projects

The first practical, start-to-finish guide to implementing Feature-Driven Development!
Feature-Driven Development (FDD), created by Peter Coad and Jeff De Luca, combines the key advantages of agile methodologies with model-driven techniques that scale to the largest teams and projects. This book demonstrates FDD at work in real-world projects and provides project leaders with all the information they need to successfully apply it in their own organizations.

Stephen R. Palmer and John M. Felsing show how applying FDD can help solve problems that neither traditional nor agile methodologies can address. They help you identify the projects that are best suited for FDD, and then walk you step by step through the entire FDD development process.

Coverage includes: * Understanding FDD's model-driven, short-iteration approach to software development:

* FDD's roles, artifacts, goals, and timelines
* Creating overall models that provide a solid foundation and structure for effective development
* Formalizing the features list: Completing, leveling, clustering, and prioritizing features
* Plan by feature: Establishing class owners, feature-set owners, and rough development plans
* Design by feature: Domain walkthroughs, design, and inspection
* Build by feature: Coding, ongoing inspection, testing, and promotion
* Tracking and reporting progress to technical leads, project managers, sponsors, and upper management
* Applying FDD to user interface and external system interfaces
* Adapting FDD to your projects—and your business and technical environment

_____________________________________________________________________

Structured Analysis and System Specification
by Tom De Marco

Book Jacket

This is the classic book on Data Flow Diagramming based Requirements Gathering. This is probably the most down-to-earth methodology for gathering and documenting user requirements.

This book may be hard to find, but it is well worth the search!

 

__________________________________________________________

Modern Structured Analysis

by Edward Yourdon

Book Jacket


Another classic! Yourdon provides a fresh perspective on structured systems analysis, integrating traditional methodologies with modern technology. He thoroughly discusses data modeling, real-time systems, prototyping, and 4GLs.

This book may be hard to find, but it is well worth the search!