Requirements

Better Software Magazine Articles

Visual Modeling with Rational Rose

Darren Pulsipher looks at Visual Modeling with Rational Rose. He concludes: "Rose is far from the perfect Visual Modeling tool, but it is definitely one of the best OO tools on the market, and the most popular. Rational Software has done a great job in supporting its tools with user conferences, training, professional services, and seminars."

Darren Pulsipher
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.

Patricia L. Ferdinandi
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.

Steve March
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.

Linda Hamm
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.

Jeff Johnson
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.

Brian Marick
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.

Dana De Witt Luther
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.

Brian Lawrence
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."

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."

Brian Marick

Pages

StickyMinds is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.