24.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.

24.1.1 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.

24.1.2 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).

24.1.3 Waterfall

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.

24.1.4 Spiral

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.

24.1.5 Rapid Application Development

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.