|
Are Your Requirements Complete? Every system contains at least one (and probably more) set of requirements that fits into one of these categories: the functional who, what, where, when, why, how, and the nonfunctional design and project constraints. No one method or technique captures all requirements, but this approach can assist quality engineers in identifying missing requirements. Our objective is to spot the gaps in the requirements sets—just as a Tetris player spots gaps in those moving blocks—as soon as possible.
|
|
|
Learning from Pathfinder's Bumpy Start Steve March discusses problems experienced by the Mars Pathfinder. He imparts the following lessons: 1) design defensively in the face of complexity; 2) design defensively for post-shipment problems; and 3) beware of best cases.
|
|
|
An Effective Technique for Verifying Software Design While working at a telecommunications company, Linda Hamm had the task of developing and automating tests in a very short time with high-quality expectations. One of the projects was a rule-based expert system for switch maintenance. To help nail down the requirements, the group wrote state diagrams. This article is about what they are and how the group used them.
|
|
|
Walking the Fine Line between Helpful and Harmful Jeff Johnson examines user interface problems caused by designers trying to rearrange users' data. He gives examples of software that is too helpful, and concludes that software should support users in their management of displays without managing the displays for them.
|
|
|
Know Thy User Testing, in its broadest sense, means ensuring that your visionaries and programmers are creating a helpful product that people will actually use. As the two authors of this installment of Bug Report illustrate, understanding how those users will operate your application is more than an exercise in empathy; it's a simple key to avoiding some real usability meltdowns.
|
|
|
I Think, Therefore I Prototype Prototypes can help you deliver the right software. Here, Technical Editor Brian Lawrence gives examples of prototypes and some guidelines for prototyping.
|
|
|
Software Requirements Brian Lawrence and Johanna Rothman recommend Software Requirements by Karl Wiegers, a "readable, practical book about gathering and managing requirements, focused on best practices."
|
|
|
EXtreme Documentation The kind of collaboration that Extreme Programming engenders can benefit both publications and development. Writing, like programming, is a naturally iterative, revisionary process. Dana De Witt Luther shares what she's learned about documenting an Extreme Programming project, using iterative planning meetings and story cards.
|
|
|
Quality Assurance and Testing Brian Marick argues for using testers at the requirements analysis stage of a project. He says, "While QA is primarily about process, testing—my specialty—is about product. Whatever else a tester might do, she certainly eventually exercises the product with the aim of discovering problems a user might encounter. This essay is about that 'whatever else' the tester does."
|
|
|
Book Review: Mastering the Requirements Process Brian Lawrence points to Mastering the Requirements Process as a valuable reference book. The book presents a complete step-by-step method for gathering, modeling, and specifying requirements. Along the way the authors offer easy-to-understand and appropriate examples that nicely illustrate how to apply their techniques.
|
|