requirements gathering

Articles

Hoarding: How to Prioritize Features to Clean Up the Clutter

Hoarding is an incredibly common—but usually unnamed and invisible—phenomenon in corporate software development. If you’ve been doing agile for a while, you are no doubt aware of the cost of hoarding and you’ve probably removed much of it, but what happens when you aren't doing agile yet? Clarke Ching explains how to counter hoarding by prioritizing the right features.

Clarke Ching's picture Clarke Ching
Software Customer Project Question Your Project Customer

When leading technical projects, project managers and their teams know the task ahead can be a daunting one. So, when the customer comes with a desired solution mapped out and detailed requirements in hand, the first thing you want to do is move forward. That's your cue to start asking questions.

Brad  Egeland's picture Brad Egeland
Agile Requirements Management with Keith Johnson

Keith Johnson is vice president of product development at Jama Software. in this Sticky ToolLook interview, he discusses some of the changes that agile development has brought to the requirements management process.

TechWell Staff
Kill by Wire

Linda Hayes has worked in the software industry for a long time and through a lot of changes. But a series of recent events has led her to question whether the industry has changed for the better or worse. In this article, she recommends some attitudes we should lose and some we should adopt in order to save our software and—in some cases—our lives.

Linda Hayes's picture Linda Hayes

Better Software Magazine Articles

Managing Your Analysis Debt

What is your project's analysis debt load? What's the difference between good and bad analysis debt? What are causes and remedies for such debt? Mary Gorman and Ellen Gottesdiener explore the concept of analysis debt and consider strategies for prudent investing.

Ellen Gottesdiener's picture Ellen Gottesdiener Mary Gorman
How Agile Practices Reduce the Top 5 Requirements Risks

Requirements risks are among the most insidious risks threatening software projects. Whether it is having unclear requirements, lack of customer involvement in requirements development, or defective requirements, these troubles are a major culprit in projects that go awry. As requirements expert and agile coach Ellen Gottesdiener explains, agile practice can go a long way in mitigating the top five requirements risks.

Ellen Gottesdiener's picture Ellen Gottesdiener
Building a Foundation for Structured Requirements: Aspect-Oriented Requirements Engineering Explained (Part 2)

Aspect-oriented requirements engineering (AORE) is a new methodology that can help us to further improve the analysis, structure, and cost of development of software requirements. The second part of this two-part series focuses on the AORE specification techniques.

Yuri Chernak
Building a Foundation for Structured Requirements: Aspect-Oriented Engineering Explained (Part 1)

Aspect-oriented requirements engineering (AORE) is a new methodology that can help us improve the analysis, structure, and cost of development of software requirements. AORE does not replace but rather complements any of the existing requirements methodologies. This two-part paper explains to software practitioners the AORE concept, illustrates how it can be applied on software projects, and discusses the benefits of AORE. Part I focuses on the AORE analysis techniques.

Yuri Chernak

Conference Presentations

Building a Requirements Foundation with Customer Interviews

Whether you are building a brand new product or evolving an existing system, understanding the business needs of your customers is the foundation of a marketable product or valuable internal application. Few of us are experts in interviewing techniques, and few customers talk about their tasks, needs, and context in neat, concise statements about requirements. Hone your elicitation skills and learn what it takes to get beneath the surface and understand your customers: their world, how they work, and what really bothers them. With effective interviewing techniques and skills, you will get inside their heads and better understand their needs within their context.

Esther Derby, Esther Derby Associates Inc
Evaluating Requirements for Testability

For a test engineer, perhaps the most important measure of requirements quality is testability. By improving testability during requirements development, you not only will make test design easier, but you also will have gone a long way toward building better software for less cost. Learn methods to identify the requirements problems that reduce or improve testability: ambiguity, incompleteness, inconsistency, incorrectness, and "compoundness." This method first was used successfully in a very large payroll system development project and has since been practiced in both large and small development projects. From this session take away a spreadsheet-based method for tracking requirements testability throughout the project, and see examples from an Access database that can be used for further requirements analysis.

  • How to analyze requirements for attributes that increase testability
Rodger Drabick, Lockheed Martin Transportation & Security Solutions
Cosmic Truths about Software Requirements

The history of many software projects shows that requirements mistakes are the most expensive ones to correct late in development. So, why do we make big requirements errors over and over, even in mission-critical software projects? Karl Wiegers, author of a best-selling book on software requirements and a consultant on many such projects, shares his top ten requirements principles to help your organization produce accurate, consistent, and unambiguous requirements. Although there are few absolute truths in software development, Karl has found several that almost universally apply to software projects. These principles emphasize the critical contribution that good requirements make to a project's success, and the critical contribution that customer involvement makes to good requirements.

Karl Wiegers, Process Impact
A Defined Process for Requirements Peer Reviews

Most software projects include reviews-whether or not they are officially part of the development process. Unfortunately, these reviews are often inefficient, and even unproductive. Implementing a defined peer review process for requirements is an excellent means to both improve your requirements and kick-start overall process improvement because participants can immediately see timesaving and increased quality in work products. Find out how to measure benefits and potential savings from these reviews and how they can identify major gaps in other project processes. Take away a Peer Review Toolkit that allows your team members to start their first effective requirements review right away.

  • A simple, efficient peer review process with a 30-minute training program
  • Instant results and metrics, including potential savings
  • A Peer Review Toolkit to get started.
Rob Wyatt, Wachovia

StickyMinds is a TechWell community.

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