We have adopted a three phase development cycle. The three phases are:
- Alpha Phase; refactoring and Development.
- Beta Phase; Testing, Documenting and Fine Tuning.
- Stable Phase; Stabilization, Public Information, etc.
These three phases are also known as the Opening, Mid-Game and End Game among project managers. As you can see each phase has a different main focus, focus in the Alpha phase is on Development but shifts to Documentation and Testing for the Beta phase and finally to Public Information in the Stable phase.
The Alpha phase of the development cycle is when we implement the features outlined in the roadmap and perform any necessary refactoring. Community input is minimal and restricted to the Quality and Testing and Standards & Guidelines Working Group’s input and discussion. The system can break for the new features we are implementing but care should be taken that other refractory achieves backwards compatibility rate as defined in the code base life cycle. At this phase anything in the source tree can and likely will change as we search for the best methods of achieving our development goals. Most system testing is done by the developers themselves as they come across issues related to the framework changes.
We have separated the Alpha phase into two distinct development stages and have deemed the Alpha 2 release the separation point for these two phases of development, in short the Alpha stage is for framework (Core) refactoring and feature implementation. In this stage, the Joomla! framework will be redesigned and refactored to provide a cohesive and extendable API for third party developers. This is also the stage in which new framework features will be implemented. Post-Alpha 2 [Also Called Pre-Beta] This stage is for refactoring core extensions and for making user interface tweaks. With a more robust and extendable API in place, we should be able to remove redundant code and improve performance in the core components. For these reasons, the Alpha 2 release is an important milestone in the development cycle.
By working closely with third party developers and keeping lines of communication open as we transition from the Alpha to the Beta phase we hope to be able to provide all necessary information and support to ensure that their extensions are compatible with future versions of Joomla!
The Beta phase of development indicates a major milestone in the development cycle. At this phase we move from pure development towards testing and documentation. From a development standpoint, focus shifts from implementation to stabilization. At this point community input is extremely important and we increase our outwards communication towards third party developers. Together we analyze and solve breakages, improve performance and finetune the API where necessary.
This stage of the process signifies several things: We are now framework feature complete. Documentation effort on the API begins. Third party backwards compatibility testing on the framework begins. Core extension refactoring and user interface changes begins.
Stable Phase (release candidate) At this phase code base is considered stable and secure and any final bugs are taken care of as they come to our attention. It is during this phase of the development cycle that the software is packaged and released. Most attention goes into promotion and public information.
Control over the code base from the release is delegated from the Development workgroup to the Quality and Testing workgroup.