Previous Next JavaScript must be enabled to correctly display this content

## 25.1 System Development Life Cycle Methodologies to Consider

The system development life cycle (SDLC) is the overall process of developing software using a series of defined steps. There are several system SDLC models that work well for developing applications in Oracle APEX.

- Differences Between Iterative and Planned Development
  Learn about the differences between iterative and planned development.
- About the Advantages of Creating Prototypes
  Learn about the advantages of creating prototypes.
- Waterfall
  Learn about the Waterfall methodology.
- Spiral
  Learn about the Spiral methodology.
- Rapid Application Development
  Learn about the Rapid Application Development (RAD) methodology.

Parent topic: Deploying an Application

### 25.1.1 Differences Between Iterative and Planned Development

Learn about the differences between iterative and planned development.

When developing applications using App Builder, you must find a balance between two dramatically different development methodologies:

- Iterative, rapid application development
- Planned, linear style development

Iterative, rapid application development offers so much flexibility that you run the risk of never completing your project. In contrast, planned, linear style development can yield applications that do not meet the needs of end users even if they meet the stated requirements on paper.

Parent topic: System Development Life Cycle Methodologies to Consider

### 25.1.2 About the Advantages of Creating Prototypes

Learn about the advantages of creating prototypes.

The APEX development environment enables developers to take a more iterative approach to development. Unlike many other development environments, creating prototypes is easy. With APEX, developers can:

- Use built-in wizards to quickly design an application user interface.
- Make prototypes available to users and gather feedback.
- Implement changes in real time, creating new prototypes instantly.

Methodologies that work well with APEX include Spiral and Rapid Application Development (RAD).

See Also:

- Spiral
- Rapid Application Development

Parent topic: System Development Life Cycle Methodologies to Consider

### 25.1.3 Waterfall

Learn about the Waterfall methodology.

The Waterfall is probably the best known SDLC model. In this methodology, the development process is broken down into the following stages:

1. Project Planning

2. Requirements Definition

3. Design

4. Development

5. Integration and Testing

6. Installation and Acceptance

7. Maintenance

This methodology is referred to as a waterfall because the output from one stage is the input for the next stage.

A primary problem with this approach is that it is assumed that all requirements can be established in advance. Unfortunately, requirements often change and evolve during the development process.

Parent topic: System Development Life Cycle Methodologies to Consider

### 25.1.4 Spiral

Learn about the Spiral methodology.

A Spiral methodology is actually a series of short waterfall cycles. Each waterfall cycle yields new requirements and enables the development team to create a robust series of prototypes. One advantage of this approach is that it accommodates changing requirements. Disadvantages include complex project management and the risk development goes on indefinitely.

Parent topic: System Development Life Cycle Methodologies to Consider

### 25.1.5 Rapid Application Development

Learn about the Rapid Application Development (RAD) methodology.

A Rapid Application Development (RAD) methodology has a heavy emphasis on creating a prototype that closely resembles the final product. The prototype is an essential part of the requirements phase. Advantages of this model include the ability to accommodate changing requirements, rapid development cycles, and progress can be easily measured. The major disadvantage of this model is that the emphasis on prototyping can result in scope creep. As a result, developers can lose sight of their initial goals in the attempt to create the perfect application.

Parent topic: System Development Life Cycle Methodologies to Consider