Information Technology Reference
In-Depth Information
1. They talk only about needs - that is, only the essential aspects. The do not take
into consideration, the reasonable expectations of the users which expect the
development team to bring their expertise to bear on the software product
2. They do not take into consideration the constraints of the users with which they
have to live with, even if the software offers better options. For example there
are many situations where authentication by the signature of the hand is
essential in spite of the great advances in the field of digital signatures.
3. They do not take into consideration the interfaces with other and perhaps
existing systems. This is especially so in cases where a COTS product like ERP
(Enterprise Resources Planning) or CRM (Customer Relationship Manage-
ment) type of product implementations.
4. They do not place the responsibility for the requirements. By not including the
stakeholders who can state needs, the developers are mislead and miss out on
some of the essential stakeholders while defining the requirements.
5. It ignores unstated needs. It gives the connotation that ''if it is not documented,
it is not considered''. This is perhaps, the origin of the joke, especially in the
matter of Microsoft's Windows operating system, that it has a Start button but
no Stop button!
The software development industry is generally adhering to these definitions.
But circumstances are continuously changing especially so in the field of software
and its development. We need a more comprehensive definition. Summarizing the
above discussion, we may define ''Requirements'' in the context of software
development projects, in a more comprehensive manner, thus,
A requirement is a need, expectation, constraint or interface of any stake-
holders
that
must
be
fulfilled
by
the
proposed
software
product
during
its
development''.
This definition has the following key terms:
1. Need—It is something basic without which the existence becomes untenable. It
is the absolute minimum necessity if the system is to be useful. If a need is not
met, the system becomes unusable or less usable.
2. Expectation—Expectation is an unstated need. When users entrust the devel-
opment of software to a team (in-house or outsourced) it is expected that the
development team brings expertise of software to bridge the gap in the needs
stated by the user.
3. Constraint—It is a hurdle that the user has to live with. It may be in terms of a
limitation on the leverage of the software design or development.
4. Interface—It is the basis for interaction with the customers, suppliers, and
peers (in the forward chain or backward chain) of the user.
5. Stakeholders—A stakeholder is someone who is affected by the outcome of a
human endeavor. A software development project has multiple stakeholders,
namely,
a. The end user who is the ultimate user of the product
b. The project team that is going to develop the product to fulfill the need
Search WWH ::




Custom Search