Development Cycle

From Joomla! Documentation

Revision as of 11:51, 30 January 2008 by Willebil (Talk | contribs)

Montano wheel.png

We have adopted a three phase development cycle. The three phases are:

  • Beta Phase; Testing, Documenting and Fine Tuning.

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.

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

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 there can me multiple Alpha versions.

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!

Beta Phase

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

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.