What Does That Ounce of Prevention Look Like?
While the underlying dynamic of defect-cost-increase has not changed, our understanding of how to detect upstream defects has improved considerably. Not too many years ago, we thought that the best way to detect requirements defects was to capture an exhaustive set of requirements in a monolithic requirements specification, and then subject that specification to intensive reviews. Although industry data suggests that this approach is cost effective compared to the alternative of jumping straight into coding and then and fixing requirements defects at construction time, we now know of numerous alternatives that are often preferable to the monolithic-requirements-specification approach: Involve end users as early as possible. Several studies have found that end-user involvement is a key to stable requirements and software project success.9 Create a throwaway prototyping. Create throwaway UI prototype code; put the prototype in front of real end users. Get feedback. Revise the prototype u