From the web site:
"No matter how much instruction you’ve had on managing software requirements, there’s no substitute for experience. Too often, lessons about requirements engineering processes lack the no-nonsense guidance that supports real-world solutions. Complementing the best practices presented in his book, Software Requirements, Second Edition, requirements engineering authority Karl Wiegers tackles even more of the real issues head-on in this book. With straightforward, professional advice and practical solutions based on actual project experiences, this book answers many of the tough questions raised by industry professionals. From strategies for estimating and working with customers to the nuts and bolts of documenting requirements, this essential companion gives developers, analysts, and managers the cosmic truths that apply to virtually every software development project. This link takes you to Amazon.com where you can purchase the book."
Process Improvement Associates - A list of resources and training courses for CMM and CMMI, including best practice information.
Recommended Requirements Gathering Practices, Crosstalk, 2002 - By Dr. Ralph R. Young, Northrop Grumman Information Technology: This article provides suggested conditions for performing requirements gathering and recommended requirements gathering practices. The author has conducted an extensive review of industry literature and combined this with the practical experiences of a set of requirements analysts who have supported dozens of projects.
"A disturbing proportion of computer systems are judged to be inadequate; many are not even delivered; more are late or over budget. Studies consistently show one of the single biggest causes is poorly defined requirements: not properly defining what a system is for and what it's supposed to do. Even a modest contribution to improving requirements offers the prospect of saving businesses part of a large sum of wasted investment. This guide emphasizes this important requirement need--determining what a software system needs to do before spending time on development. Expertly written, this book details solutions that have worked in the past, with guidance for modifying patterns to fit individual needs--giving developers the valuable advice they need for building effective software requirements"
"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."
PROJECT INTEGRITY
1. ADOPT CONTINUOUS PROGRAM RISK MANAGEMENT
2. ESTIMATE COST AND SCHEDULE EMPIRICALLY
3. USE METRICS TO MANAGE
4. TRACK EARNED VALUE
5. TRACK DEFECTS AGAINST QUALITY TARGETS
6. TREAT PEOPLE AS THE MOST IMPORTANT RESOURCE
CONSTRUCTION INTEGRITY
7. ADOPT LIFE CYCLE CONFIGURATION MANAGEMENT
8. MANAGE AND TRACE REQUIREMENTS
9. USE SYSTEM-BASED SOFTWARE DESIGN
10. ENSURE DATA AND DATABASE INTEROPERABILITY
11. DEFINE AND CONTROL INTERFACES
12. DESIGN TWICE, CODE ONCE
13. ASSESS REUSE RISKS AND COSTS
PRODUCT STABILITY AND INTEGRITY
14. INSPECT REQUIREMENTS AND DESIGN
15. MANAGE TESTING AS A CONTINUOUS PROCESS
16. COMPILE AND SMOKE TEST FREQUENTLY