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