Actions

Difference between revisions of "Development Cycle"

From Joomla! Documentation

(Stable Phase)
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
[[Image:montano_wheel.png|right]]We have adopted a three phase development cycle. The three phases are:  
 
[[Image:montano_wheel.png|right]]We have adopted a three phase development cycle. The three phases are:  
  
* [[Alpha Phase]]; refactoring and Development.
+
* Alpha Phase; refactoring and Development.
  
* [[Beta Phase]]; Testing, Documenting and Fine Tuning.
+
* Beta Phase; Testing, Documenting and Fine Tuning.
  
* [[Stable Phase]]; Stabilization, Public Information, etc.  
+
* 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.  
 
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 ==
 
== 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.
+
The Alpha phase of the development cycle is when we decide on what the goals are for the next release. This is by far the most important part of the process and is done in complete consultation with the community through the submission of public [[White Papers]]. The acceptance of papers sets the functional requirements for all the goals in the release.
+
 
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.  
+
This is a time for fixing more complex issues that have arisen from the previous version, for implementing new features and functionality, and for dropping parts of the code that have been previously earmarked for removal, or deemed to be no longer necessary.
 +
 
 +
During this time the development trunk will be in a state of flux and break from time to time.  Several Alpha releases may be made to allow the user and third-party developer community to comment on the progress of the work in terms of the goals set.
  
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!
+
By working closely with third party developers 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 ==
 
== Beta Phase ==
Line 30: Line 31:
 
During the stable phase we release one or more release candidates. 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.
 
During the stable phase we release one or more release candidates. 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 team]] to the [[Bug Squad]. During this stage the [[Joomla! Maintenance Procedures]] are in place.
+
Control over the code base from the release is delegated from the [[Development Team]] to the [[Bug Squad]]. During this stage the [[Joomla! Maintenance Procedures]] are in place.
 +
<noinclude>[[Category:Development Working Group]][[Category:Bug Squad]]</noinclude>
 +
[[Category:Working Groups]]

Revision as of 08:11, 20 September 2010

Montano wheel.png

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.

Alpha Phase

The Alpha phase of the development cycle is when we decide on what the goals are for the next release. This is by far the most important part of the process and is done in complete consultation with the community through the submission of public White Papers. The acceptance of papers sets the functional requirements for all the goals in the release.

This is a time for fixing more complex issues that have arisen from the previous version, for implementing new features and functionality, and for dropping parts of the code that have been previously earmarked for removal, or deemed to be no longer necessary.

During this time the development trunk will be in a state of flux and break from time to time. Several Alpha releases may be made to allow the user and third-party developer community to comment on the progress of the work in terms of the goals set.

By working closely with third party developers 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

During the stable phase we release one or more release candidates. 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 Team to the Bug Squad. During this stage the Joomla! Maintenance Procedures are in place.