Table of Contents

Development Cycle

Development of Open MCT occurs on an iterative cycle of sprints and releases.

Roles

The sprint process assumes the presence of a project manager. The project manager is responsible for making tactical decisions about what development work will be performed, and for coordinating with stakeholders to arrive at higher-level strategic decisions about desired functionality and characteristics of the software, major external milestones, and so forth.

In the absence of a dedicated project manager, this role may be rotated among members of the development team on a per-sprint basis.

Responsibilities of the project manager including:

Sprint Calendar

Certain process points are regularly scheduled in the sprint cycle.

Sprints by Release

Allocation of work among sprints should be planned relative to release goals and milestones. As a general guideline, higher-risk work (large new features which may carry new defects, major refactoring, design changes with uncertain effects on usability) should be allocated to earlier sprints, allowing for time in later sprints to ensure stability.

Sprint Focus
1 Prototyping, design, experimentation.
2 New features, refinements, enhancements.
3 Feature completion, low-risk enhancements, bug fixing.
4 Stability & quality assurance.

Sprints 1-3

The first three sprints of a release are primarily centered around development work, with regular acceptance testing in the third week. During this third week, the top priority should be passing acceptance testing (e.g. by resolving any blockers found); any resources not needed for this effort should be used to begin work for the subsequent sprint.

Week Mon Tue Wed Thu Fri
1 Sprint plan Tag-up
2 Tag-up Code freeze
3 Per-sprint testing Triage Per-sprint testing* Ship

* If necessary.

Sprint 4

The software must be stable at the end of the fourth sprint; because of this, the fourth sprint is scheduled differently, with a heightened emphasis on testing.

Week Mon Tue Wed Thu Fri
1 Sprint plan Tag-up Code freeze
2 Per-release testing Triage
3 Per-release testing* Triage Per-release testing* Ship

* If necessary.

Process Points