Stage 5: Optimized, which is characterized by processes that
Demonstrate major quality and quantity improvements
Key actions to get to next step -- Continue improvement and optimization of the process Companies that have achieved a Stage 2 process maturity or higher make use of methodologies to ensure that the company achieves a repeatable level of quality and productivity. There are many methodologies available for use. Some of these are vendor driven, i.e., they are used in conjunction with a software tool set. In general, methodologies can be categorized as follows. It should be noted that one methodology can be used in conjunction with another methodology: Waterfall method: This is a phased, structured approach to systems development. The phases include requirements feasibility analysis, system design, coding, testing, and implementation. Please note that there are variations of these stated phases. Usually, each phase is performed sequentially, although there is some potential for overlap. This is the methodology that is used most often in industry. Iterative (prototyping): Most of this approach is used to replace several of the phases in the SDLC. In the SDLC approach, the time to market, so to speak, can be months (sometimes years). During this time, requirements may change, and the final deliverable, therefore, might be quite outmoded. To prevent this from happening, it is a good idea to try to compress the development cycle to shorten this time to market and provide interim results to the end user. The iterative model consists of three steps: (1) listen to customer; (2) build/revise a mockup; (3) let customer test-drive the mock-up and then returns to step 1. Rapid application development (RAD): This is a form of the iterative model. The key word here is rapid. Development teams try to get a first pass of the system out to the end user within 60 to 90 days. To accomplish this, the normal seven-step SDLC is compressed into the following steps: business modeling, data modeling, process modeling, application generation and testing, and turnover. Note the term application generation. RAD makes use of application generators, formerly called CASE (computer-assisted software engineering) tools. Incremental model: The four main phases of software development are analysis, design, coding, and testing.