ReferenceBy John McCormick | Posted 2003-07-01 Email Print
WEBINAR: On-demand webcast
Next-Generation Applications Require the Power and Performance of Next-Generation Workstations REGISTER >
Where are projects going wrong?
: Seven Steps for Better Software Requirements">
Reference: Seven Steps for Better Software Requirements
Blaming the business side for unclear requirements won't help you if the project falters. Gather all the stakeholders—the programmers, project managers and the people who will use the software—and jointly define the needs and assess what is feasible financially and in practice. Information gathering is best done in groups, where ideas can flow and build off one another.
Develop "Use Cases"
This is a formal exercise that takes a specific scenario, such as "create a new profile," and breaks it down into precise steps. Software developers then get a clear understanding of what the software must do to meet both user and business needs.
A specification that says "the application should be user friendly" is ambiguous. A specification that says, "the interface should follow the Microsoft Windows interface standard," is much clearer to a developer.
Make your list and check it twice to avoid inconsistencies or impossibilities. Be especially careful with projects that touch multiple departments. For example, a data format that works for the accounting database might not work for the sales application.
Take a hard look at your requirements, then make an estimate of what it will take in terms of time, people and money. An experienced project manager may have a feel for estimating projects based on size and complexity. Novices may wish to find a mentor, or a software estimation tool.
Ask the business owner to prioritize the project's components so that you can best assign resources. Companies often make these decisions by figuring out what aspects will have the biggest return on the company's software investment.
Program, Test, Repeat
During development, chances are you'll notice things that are missing or come up with additions that could enhance the software's functionality. Plan for change, and revisit requirements often. If you find gaps, work with the business team to fill out the specification to allow for needed changes.
Sources: Agility Investment Technologies, PeopleSoft, Rational Software