The Implementation process contains Description, Purpose, Responsible, Method, Time, Input and Output.
Description
Implementation covers implementation of a bug, a feature request a patch or a task from the current iteration task overview.
This means that implementation can cover anything e.g. code implementation, script implementations, documentation updates, software upgrades etc.
Purpose
To get implementations of high quality ready for release test, release or patch into production.
Responsible
This can either be
Task holder according to Iteration plan for iterations tasks or
Module Owner of new tracker issue for that specific module.
Method
- For tasks: examined and unclear point clarified.
Set tracker issue status to "In progress" (Overview of tracker issue fields can be found on Tracker Issue Field Description)
Definition of the implementation is to be release tested based predefined success criteria. Involve test coordinator if necessary. For implementation that are not in an iteration task list the test coordinator must be informed in all cases, even though the test is covered by unit tests, since they must be noted in the release test description and release note for the next stabile release.
Use development tools, e.g. as suggested in Development Tools Guideline
For code, Unit test must be implemented, see unit test guideline
- Make implementation:
- Note: for priority 5 bugs that needs to be patched into production it may be necessary to branch the actual released productions code.
For code use coding guideline
For release documentation use guideline for maintaining documentation
For assignment writing use guideline for assignment writing
For new processes/roles use guideline for new processes
Make release test description, involve test coordinator if necessary.
- Sanity test, i.e. try to execute the described release test for the implemented task
Update documentation and note in the current iteration review overview if any release documentation (e.g. manuals) are affected
- Review work:
For code, make code review on success criteria and the unit tested, sanity tested code with updated documentation
For documentation, make document review on success criteria and updated documentation
For other, make review inspired by document review
Release test description is accepted by test coordinator
Set tracker issue status to "Fixed". Always write a comment describing you fix, and the relevant commit SVN revisions. (Overview of tracker issue fields can be found on Tracker Issue Field Description)
Time
After iteration has been started and tasks distributed by project leader
Before code freeze within the iteration
Input
This can either be
A task from current iteration task overview or
A tracker issue that is evaluated to have small implementation time by the Module Owner of new tracker issue for that specific module.
Output
Release test input to test coordinator (may be that there are none)
- Implemented, sanity checked (if code) and reviewed implementation of task
- Documentation update (if any needed)