|
Requirements capture is based
on the communication of basic needs. It is a crucial analytical process
that sets the tone for the entire software development project.
Any needs
not identified during the requirements capture stage will result in scope
creep. According to Suzie DeBusk, President of DragonPoint, the most
effective way to minimize scope creep is to allocate 30% of the time spent
on a project to requirements capture, design, and review. How does requirements
capture reduce scope creep?
A thorough
requirements capture process minimizes false assumptions, therefore
reducing the overall cost and length of a project. The International
Journal of Technology Management cited that, "companies with intense
front-end activities actually spent 40% less time developing their products
than companies with few front-end activities."(1999)
The
requirements capture stage is similar to the planning phase of a
construction project. If the client and architect do not communicate
effectively, the blueprints will not meet the client's needs. And,
depending on the size and scope of the discrepancies, this error in
communication can result in costly rework as the project evolves.
Suppose a
client approves a set of plans for a building, the general contractor
breaks ground, and a week later, the client visits the job site and sees
that the slab was poured, but the basement was not excavated. The client
panics since he requires a basement for storage of critical equipment that
needs to be on site. Since his old building had a basement, the client
assumed that his new building also would have a basement.
Due to a
critical disconnect during the requirements capture stage of the project, a
basement now can't be added without incurring major expenses and
significantly delaying the completion date.
Working
with a consultant to develop a software system for your business can be
much like a construction project. There are, however, some cues to watch
for and steps to take to ensure a smooth requirements capture process,
resulting in a project that falls within the constraints of time and
budget.
1. Be
prepared for the initial consultation. Now
that you've hired someone to develop a software system, don't lose track of
your needs. What are the business goals that prompted you to call in a
consultant? Take time to delineate your needs before you meet with your
consultant.
2. Remember
your current system while creating your
wish list. It is tempting to focus on what is missing and overlook the
importance of what already works well. Regardless of how basic, do not
assume anything. Tell your consultant what aspects of your current system
work for you.
3.
Communicate. A conscientious software
developer will send two consultants to the initial requirements capture
meeting. By having an extra set of ears present, the consultants return to
their office with a clearer concept of what you need. Ask your consultant
to restate your requirements, and keep restating until you clarify any
misunderstanding.
4. Look for
listening. A good consultant listens.
Beware of a consultant who, after 15 minutes, takes over the meeting and
tells you that she fully understands your needs. You did not build your
company overnight, and your consultant will not understand your needs in 15
minutes.
5. Listen
for insightful questions that demonstrate you and your consultant share
common goals. You will know how well the
consultant has been listening by the type of questions he asks. Is the
consultant intuitive enough to know what he doesn't know and smart enough
to ask the right questions?
Next month, we’ll discuss steps 6 through 10.
|