Changing Requirements
Requirements change. This observation is so common among practitioners
that it is now generally taken as an undisputed fact of life, like death
and taxes. However, is it really true, and if yes, to what extent?
At least three questions beg asking:
- What is the quality of the baseline that change is measured against? How much
care and know-how went into the original set or requirements? There
is a real danger of creating self-fulfilling prophecies: Since
requirements are expected to change, little effort is made to determine
them ahead of time. No wonder that they change...
- Are the changes predictable? A careful analysis of the original situation
will most likely determine a number of areas where change is likely.
A good design can take this into consideration, so that change, when it
comes, is already accomodated for in the architecture. This does not
mean that everything should be considered subject to change!
If the business sponsors really can't provide a fair degree of stability
in the features they want to see in the system under construction,
then they should invest more effort into establishing their business case.
It is an error to run commercial software development as either research
and development, and it is the responsibility of the technical staff
to point this out.
- To what degree is change invited? Does the technical team take a
firm position to the requirements that were originally negotiated or
does it give the impression that the customer just has to ask?
Requirements typically originate with the business domain experts.
Domain experts come from a business background, and may have a habit
of trying to maximize their "gain" in any situation they find themselves in.
Software developers on the other
hand often are quiet, accomodating people, who may not have the
social sophistication to deal effectively with a shrewd business person's
bullying tactics. Please note that I am not suggesting either party acts
out of malicious intent - just old habits playing themselves out,
probably subconsciously.
http://www.beyondcode.org/articles/requirements.html
Version 1.1 (2002/12/31 18:59:37)
|