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
Requirements are supposed to be the basis of most test cases, but can you use test cases to define what the system needs to do--to improve or to actually become the requirements? To some degree, your development process dictates the opportunities you have for test cases to define or refine requirements. However, everyone can benefit from test case writing techniques to identify missing requirements, surface ambiguous statements, and expose implied requirements early in the process. Find out how Tanya Martin-McClellan produces test cases that accurately reflect the requirements, as they are understood at the time, and conducts team reviews to find the gaps and misunderstandings. Although more time is spent writing and rewriting test cases, less time is spent later discussing requirements.
Find the vaguely defined parts of the requirement definition
A template of implied requirements you can customize
Tanya Martin-McClellan, Texas Mutual Insurance Company
Expressing requirements as user stories is one of the most broadly applicable techniques introduced by eXtreme Programming and adopted by other agile development processes. User stories are an effective approach for capturing requirements from an agile project, not just those using XP. In this session learn what user stories are, how they differ from other requirements approaches, and why you should consider using them. You also will learn the six attributes all good stories must exhibit and see how to get started with user stories. Whether you are a developer, requirements analyst, tester, manager, or even a customer interested in applying agile techniques to your projects, this session is for you.
The differences between user stories and other requirements documentation
Attributes of "good" user stories
Examples of User Stories from agile development projects
In this session Paul Desantis takes you through the important aspects of requirements discovery, including sampling documentation, research, observation, questionnaires, interviews, prototyping, and joint planning.
Studies show that most application defects are introduced before a single line of code is developed-with many (if not most) of these defects attributed to poor requirements. Studies also show that it is less costly to identify and correct these defects prior to code development. Despite this data, many of us have requirements analysis approaches that have become stale and are ineffective. Many analysts acknowledge that their processes need some improvement but feel helpless to do much about the problem. Dion Johnson offers a package of small yet effective "RequireMINTs" that will freshen up those stale requirements processes in a highly practical way. You will take away a road map for collecting metrics that make a case for requirements improvements, identifying necessary improvements, and implementing these improvements.
Reverse the reverse-engineering trend with better requirements
As a manager, you have many readings which help you monitor your course. Choosing a direction is a different matter. Like the crew of any Star Trek episode, you may have to make a decision based on the unknown. The best choice may not be based on what you know-but what is possible. For years we have built software in roughly the same way. Becky Winant discusses an emerging new discipline sitting on the horizon-complete with higher-level communication tools, practical knowledge capture, and advanced simulation software-that is poised and ready to change the face of software development as we know it.