Development process

Status

The following figure shows the current schedule of the development process. See section process to learn more about the phases.

Status

Process

The following figure shows the phases in the Sysiphus development process. New features and functionality for Sysiphus are developed on developer branches. Releases of Sysiphus are created from the trunk. During the alpha phase developers can merge their branches into the trunk following an acceptance process with the acceptance criteria listed below. Once they pass the acceptance process the new feature is integrated into the trunk. During the beta phase the trunk is in a feature freeze. No new features must be integrated. The beta version of Sysiphus is deployed on beta environments. Defects are discovered and bug fixes are applied to the trunk. At the end of the beta phase after fixing all bugs scheduled for the release comprehensive tests are run with the current head version of the trunk. Once approved a new release is created from the trunk and the project moves on to the next alpha phase.

Sysiphus development process

Acceptance criteria for the acceptance process for new features

  • Static Analysis:
    • No compile errors
    • No compile warnings (Eclipse settings are defined here), remaining warnings have to be reviewed during Code Review
    • Only reviewed FindBugs warnings
    • No checkstyle warnings (see tools section)
  • Review:
    • Design Review
    • Code Review: Complete code review of modified or added source code
  • Dynamic Testing
    • Unit test coverage:
      • ES: 100% statement coverage
      • Model: 100% statement coverage
  • Functional tests
    • Test Cases for manual testing covering complete functionality