When developing applications using Application Builder, you must find a balance between two dramatically different development methodologies:
Iterative, rapid application development
Planned, linear style development
The first approach offers so much flexibility that you run the risk of never completing your project. In contrast, the second approach can yield applications that do not meet the needs of end users even if they meet the stated requirements on paper.
The system development life cycle (SDLC) is the overall process of developing software using a series of defined steps. There are several SDLC models that work well for developing applications in Oracle Application Express.
The SDLC waterfall is probably the best known model. In this methodology, the development process is broken down into the following stages:
Project Planning
Requirements Definition
Design
Development
Integration and Testing
Installation and Acceptance
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.
The Oracle Application Express development environment enables developers to take a more iterative approach to development. Unlike many other development environments, creating prototypes is easy. With Oracle Application Express, 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
Other methodologies that work well with Oracle Application Express include:
Spiral - This approach 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.
Rapid application development (RAD) life cycle - This approach has a heavy emphasis on creating a prototype that closely resembles the final product. The prototype is an essential part of the requirements phase. One disadvantage of this model is that the emphasis on creating the prototype can cause scope creep; developers can lose sight of their initial goals in the attempt to create the perfect application.