The 4 project states "Inception, Elaboration, Construction, Transition" - and the usage of those - needs to be described and defined in the Kolab development documentation.
|Open||None||T1036 "Contributing to Kolab" HOWTO (Developer Guide)|
|Resolved||petersen||T1097 Create description of Kolabs usage of different project states (Inception, Elaboration, Construction, transition)|
During the inception phase, the case for the feature is evaluated by the Product Owner(-ship). The scope and interactions are discussed and a highlevel decision is made about the design. Use cases and described and it is discussed how the feature is relating to the general vision of the product.
The case can include success criteria, risk assessment, Business context, and an estimate of resources needed.
Decisions are documented in the Phabricator task.
The outcome of the inception phase is:
An initial use-case
An initial case for the feature.
An initial understanding of the requirements
The feature may be cancelled or considerably re-thought during this phase.
The purpose of the elaboration phase is to analyze the problem domain, establish a sound architectural foundation,
and eliminate the highest risk elements.
To accomplish these objectives, an understanding of the whole system needs to be achieved. The Product Owner is working with Architects, developers and other stakeholders to describe the feature in details, and perhaps build an executable architecture prototype in one or more iterations, depending on the scope, size, risk, and novelty of the feature. The result could address the critical use cases identified in the inception phase, which typically expose the major technical risks.
While an evolutionary prototype of a production-quality component is always the goal, this does not exclude the development of one or more throwaway prototypes to mitigate specific risks such as design/requirements trade-offs, component feasibility study, or demonstrations to customers and end-users.
The outcome of the elaboration phase is:
All use cases and actors have been identified, and most use-case details have been defined.
A set of subtasks in phabricator which reflects a full overview of requirements and the Architecture.
(Possibly) An executable architectural prototype.
A revision of the original task in phabricator that reflects the revised envision of the feature.
A skeleton development plan for the progress of the feature.
Possibly the first iteration of documentation.
During the construction phase, all components are developed and integrated into the feature, and the feature is thoroughly tested together with all other features that has been touched in the same realm.
The construction phase is, in one sense, the manufacturing process. The work on the feature is pushed through one or more sprints, and the outcome of the is a product ready to packaged and delivered. At minimum, it consists of:
The software product integrated on the appropriate platforms.
The user manual (docs.kolab.org).
A description of the current release (..to become errata).
The purpose of the transition phase is to package the software, and transition it to the user community.
Once the feature has been packaged (most possibly together with other features in a bigger package), tested, and delivered to the end users, issues usually arise that require you to develop new releases, correct some problems, or finish subfeatures (subtasks) that were postponed.
The Transition phase results in:
A (set of) package(s) ready for end user consumption available on the kolabsys.com mirror.
An update to the documentation about the feature containing upgrade or install guide for the feature.
- Updated errata delivered together with the package.