Normal 0 false false false MicrosoftInternetExplorer4 Do you face out-of-control software development projects? Completed software that doesn't meet users' needs? Consider requirements management, a discipline which helps deliver on-time and on-budget software which meets users' real needs. By Mathew Schwartz Does the software you develop meet your users' or customers' actual needs? Practically every piece of software built today is new, in the sense that it utilizes new techniques, tools, or technologies, and solves problems existing software can't handle. Accordingly, many software development efforts are "educated guess" affairs. Business analysts chart users' problems, and developers try to code software to solve those problems. Everyone, to some extent, is learning as they go. Frequently, however, developers run into one of two complications: they produce software with too much functionality ¿ users don't need and won't use all the bells and whistles ¿ which means development time was wasted; or else the software doesn't meet users' real needs, leading to delayed, costly projects and software which, when delivered, may be solving last year's business problems. Fed up with the continuing stream of software projects that over- or under-shoot, many project and product managers are turning to requirements management. Simply put, requirements management is the discipline of managing a project by correctly gathering, disseminating, applying, and verifying that software meets users' requirements. Building the Right Software The purpose of software development is clear enough: "to deliver working code that solves customer problems," notes Dean Leffingwell, co-author of Managing Software Requirements: A Unified Approach (Addison-Wesley, 2003). Yet building software is incredibly difficult ¿ no matter whether you're working for an independent software vendor (ISV), or on a company's in-house software development team ¿ because it involves accurately gauging customers' requirements. Thus the job of requirements management is "to mitigate the risk that requirements-related issues will prevent a successful project outcome," says Leffingwell. "If there were no such risks, then it would be far more efficient to go straight to code and eliminate the overhead of requirements-related activities." Managing requirements throughout the project lifecycle helps projects succeed. According to requirements management expert Harold Halbleib, "effective requirements management helps to control quality, cost, organization, and schedule, thus substantially improving your odds of a successful project." Requirements Management Techniques How does requirements management work? In general, you gather four sets of information:
- User ¿ Tasks users must perform.
- Technical ¿ The hardware and software environment.
- Business ¿ All business goals such as higher revenues and increased efficiency.
- Functional ¿ How the product will be built.
- Interviewing ¿ Identify stakeholders and their actual needs.
- Requirements workshops ¿ Achieve consensus between stakeholders.
- Brainstorming ¿ Find innovative new approaches.
- Storyboarding ¿ Ensure the product meets actual needs.
- Use cases ¿ Verify the product will meet users' real needs and work styles.
- Change management ¿ Manage the impact of changes the software will produce.