|In the 1940's and 1950's the Waterfall Model for software development was defined. In the 1980's as computer technology progressed where compilation and deployment was cheap so then the Tornado Model came into vogue.|
Extreme Programming and Agile Development are two industry buzzwords for the Software Development Life Cycle and are both packed with great ideas.
The ideas must be honed to your development process but follow the time-tested truths that small jobs are easier than large jobs, end user input is paramount,
nothing is perfect the first time, everything can be improved, and work must proceed in a defined and orderly fashion.
For instance, the lengthy deployment cycles with WebLogic and WebSphere in large businesses contradict
the idea of rapid iterations. While prototyping greatly fosters requirements gathering and answers outstanding technology questions; the chosen SDLC process
must consider the reality of how much the end users can be involved as well as the tendencies of business users to ignore "drafts" or to assume a prototype
is a finished product. The rapid prototyping underpinning eXtreme Programming and Agile Development must be balanced with real design and engineering.
Other approaches for determining the end user needs may be necessary such as sitting with end users and recording their business processes or analyzing business
processes and determining candidates for automation and improvements.
SDLC Facts:The best software development process starts with defining what will be built. This means defining the present and future Business Use Cases as well as selecting the budget and technologies. More organizations need to invest real money in the analysis phase of software projects and in a true Cost/Benefit Analysis.