Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: clarify state of features in feature freeze.

Definitions

Before a freeze:   science runs (to be done with a tagged release) are planned, features needed for those runs are identified, roadmaps are made to develop those features, people are tasked to develop the features.  Developers will ensure new features work with existing master.

Feature freeze:

Date at which all work on adding writing new features for the next release is halted , shifting the effort towards integrating features, fixing bugs and tuning the simulationand "pull requests" are made to merge those features to master.  Effort shifts towards integrating the completed features in to master and fixing bugs.  A feature freeze improves stability by preventing the addition of new features which may not be complete or sufficiently tested and/or may have unexpected interactions; thus, a feature freeze helps improve the program's stability.

Configuration freeze:

Date at which all work to define the science configurations (compsets and resolutions) available from the new features is suspended, shifting the effort towards tuning the compsets for production runs. Changing science configurations that are being actively tuned may have disruptive effect on tuning, due to the introduction of new interactions between frozen features.   Boundary and initial condition files are also frozen.  Parameter values in code or scripts may continue to be changed as tuning requires.

Code freeze:

Date at which no changes whatsoever are permitted to a portion or the entirety of the program's source code. Particularly in large software systems, any change to the source code may have unintended consequences, potentially introducing new bugs; thus, a code freeze helps ensure that a portion of the program that is known to work correctly will continue to do so. Code freezes are often employed in the final stages of development, when a particular release or iteration has finished testing and production runs have begun, but may also be used to prevent changes to one portion of a program while another is undergoing development.

  • Science code freeze:  No changes at all to the science code including compsets and parameter values.    May still have changes to script system (machine files, test lists) and internal documentation.
  • Full code freeze:  No changes whatsoever to any code.

Freeze schedule

Explanation of what is frozen when.   Written for v1.0.0 but applicable to any ACME version.   Focused on science code.

...