Clone this wiki locally
Here you will find technical documents which support the evaluation, planning, and implementation of features in Eucalyptus.
This the canonical reference for two classes of documents: feature specifications used in planning releases and generational design documents which evolve iteratively with the ongoing implementation of the system. This page serves the presentation and navigation of all the documents from the underlying repository with the raw materials. The purpose of the documents aggregated here is to provide the needed technical specifications, background, analysis, and record of architecturally significant decisions in support of the development of all new features in Eucalyptus.
Table of Contents
|in a certain release||
To find documentation please also see:
- Eucalyptus Architecture wiki
- Eucalyptus Architecture Documentation for high level architectural documentation.
- Eucalyptus Bug Tracker for new feature requests, requirements, priorities, epics, and user stories.
The purpose of the documents aggregated here is to support the development of new features in Eucalyptus. To that end, they play a role in several stages of the development process:
- Feature specification: associated with each feature is an overall document describing the important technical characteristics in a release (or generation) independent fashion. These reflect the understanding of the feature which is used in subsequent steps.
Scope & Estimation: prior to release planning a technical assessment is made about the aspects of functionality to go into a generation of the feature. The
specdocuments which are associated with a release start life at that time. These subsequently evolve until they have been committed to for a particular release (but may be present even when not committed to a release).
Design & Implementation: a feature which has been committed to a release is supported by a design document for that release. The
designdocuments start their life when work towards that release does. These subsequently evolve until work stops for that release of the feature. (They would then be ported forward to the final documentation).
There are two classes of documents which you can expect to find the authoritative copy of here: feature specifications used in planning/estimation of releases and generational design documents which evolve iteratively with the ongoing implementation of the system.
Feature Specification documents are statements of our intentions, understanding, and long-term scope:
- are "timeless" in that they are overarching and meant to be definitive of the feature overall.
- evolve over time independent of the features current implementation status.
- reflect our current understanding of the features definition in the broadest sense.
- Specification: overall technical specification of the functional and architectural/quality characteristics.
- High level design/Architecture: definition of fundamental components, interfaces, behaviours including information, control, and concurrency models.
- Supporting Documents: API/Service specifications, client tool chains, WSDLs, TCKs.
- support the scoping, design, and implementation effort of the feature during that release.
- defining the design and implementation objectives and details for a particular version of a feature.
- specific to the context and determined by the constraints of a particular release time frame.
- change as needed to support the above objectives and are quiesced after those tasks are completed.
- Functional requirements: as identified by a corresponding epic in JIRA
- Specification: release-specific technical interpretation of functional requirements
- Designs: release-specific design models and descriptions, starting with just-enough and co-evolving with the implementation.