Learn
to avoid some of the typical causes of project
failure by investing in clearly outlining
the requirements for all parties concerned.
Outlined below are important items to keep
in mind for successful requirements capture
and recording:
There are three levels of requirements.
Business
Requirements - High level objectives
of the project which are recorded
in the Vision and Scope Document
User
Requirements - Task and facilities
available to the end user recorded
in the Use Cases.
Functional
Requirements - Detailed listing out
of each behavior that the software
must exhibit. This along with the
quality attributes and other non-functional
requirements is documented in the
Software Requirements Specification
(SRS).
Involve the
end-user or customers as much as possible
during the requirements capture stage. Identify
various user groups and one representative
individual from each group for inputs regarding
their specific requirements. They could also
review prototypes and the SRS to ensure completeness
and effectiveness.
Ensure that the requirements
are quantifiable and measurable. Areas that
are unclear may require more detailed analysis
or even the development of a prototype. Developing
Test cases early also help reveal any gaps
in the requirements capture. Verify the completeness
of the requirements by formally inspecting
the documents generated.
Prioritize Requirements
by their relative importance. This will help
weed out high cost-low value functionality.
It will also help in making informed and critical
decisions when faced with time/ resource and
functionality tradeoffs. Identify and remove
any functionality which will not be used or
which do not help meet any of the business
objectives.
Ensure that the project
scope is clearly defined in the Vision and
Scope document. Expect some amount of requirements
growth and buffer for it, since rarely is
the project deadline changed, additional resources
provided or any existing functionality deleted
to compensate for it. Effectively using requirement
gathering methods and base lining the requirements
specifications also helps avoid scope creep.
All parties involved must realize that future
additions will add to the cost.
Establish and enforce a
clear and realistic process for change management.
Prioritize the proposed requirement changes
against the requirements yet to be implemented.
Ensure that each change and its impact are
sufficiently analyzed to avoid unforeseen
complexities and slipping project schedule
and deadlines. Analyze associated costs and
benefits and all the associated tasks and
resource impacts. Also, be disciplined about
following suitable version control policies
to ensure that all the project participants
are working on the latest requirements.
Finally, while it is important
to have a complete set of requirements to
start design and development, it is also important
not to get bogged down at this stage. After
a set of requirements has been fully identified,
development can begin on this while unclear
requirements continue to get analyzed and
clearly defined. The iterative model or phased
approach is better than the waterfall model
in these cases.
Whether
you need a cool Cold Fusion dynamic web site,
an ASP auction portal, a PHP shopping cart
or a Lotus Notes-Domino application or your
MS SQL database needs optimization we have
the necessary skills. Call us !
What
is Cold Fusion ?
A
computer will not make a
good manager out of a bad
manager. It makes a good
manager better faster and
a bad manager worse faster.
.