Just as there is no one right programming language for every application, there is no one right way to develop the more detailed specifications. Different environments call for different techniques, and the requirements managers and requirements writers will probably need to develop a mix of skills suited to various circumstances.
The team’s development process defines who is doing what, when, and how.
In the waterfall model, software activities proceed through a sequence of steps, with each step based on the activities of the previous step.
The spiral model begins with a series of risk-driven prototypes, followed by a structured waterfall-like process.
The iterative approach, a hybrid of the waterfall and spiral models, decouples the lifecycle phases from the software activities that take place in each phase.
No matter what model you use, you must develop at least one early prototype to get customer feedback.
Why can we not allow for a process that creates detailed requirements and design information for each feature so that we can create more meaningful estimates? Isn’t that the professional way to approach the problem? If the schedule provides time for more detailed estimating at this time, by all means do it! However, we believe that it is crucial to be able to make some quick decisions about the scope of the activity without a more detailed estimate. Why? Because to do otherwise invests resources in what will later be determined to be “wasted inventory,”
In many projects, in order to provide a reasonable probability of success, it will be necessary to reduce the scope by as much as a factor of two.
One of the most frustrating, pervasive, and seemingly downright sinister problems in all of application development is the “Yes, But” syndrome, being the observation of the users’ reaction to every piece of software I have ever developed.
For whatever reason, I always observe two immediate, distinct, and separate reactions when the users see the system implementation for the first time:
• “Wow, this is so cool; we can really use this, what a neat job,
atta boy,” and so on.
• “Yes, but, hmmmmm, now that I see it, what about this … ?
Wouldn’t it be nice if … ? Whatever happened to … ?”
The roots of the “Yes, But” syndrome appear to lie deep in the nature of software as an intangible intellectual process.