## page was renamed from Process/Implementation ~-<>-~ The Implementation process contains [[#ImplementationDescription|Description]], [[#ImplementationPurpose|Purpose]], [[#ImplementationResponsible|Responsible]], [[#ImplementationMethod|Method]], [[#ImplementationTime|Time]], [[#ImplementationInput|Input]] and [[#ImplementationOutput|Output]]. <> '''~+Description+~'''<
> Implementation covers implementation of a bug, a feature request a patch or a task from the [[Development#CurrentIterationTaskOverview|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 * [[Process Role/Task Holder|Task holder]] according to Iteration plan for iterations tasks or * [[Process Role/Module Owner|Module Owner]] of new tracker issue for that specific module. <> '''~+Method+~'''<
> 1. For tasks: examined and unclear point clarified. 1. Set tracker issue status to "In progress" (Overview of tracker issue fields can be found on [[BugInfGuide/Fields|Tracker Issue Field Description]]) 1. Definition of the implementation is to be release tested based predefined success criteria. Involve [[Process Role/Test Coordinator|test coordinator]] if necessary. For implementation that are not in an iteration task list the [[Process Role/Test Coordinator|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. 1. Use development tools, e.g. as suggested in [[Guidelines/Development Tools Guideline|Development Tools Guideline]] 1. For code, Unit test must be implemented, see [[Guidelines/Unit Test Guideline|unit test guideline]] 1. Make implementation: 1. Note: for priority 5 bugs that needs to be patched into production it may be necessary to branch the actual released productions code. 1. For code use [[Guidelines/Coding Guideline|coding guideline]] 1. For release documentation use [[Maintaining Documentation|guideline for maintaining documentation]] 1. For assignment writing use [[Guidelines/Assignment Writing|guideline for assignment writing]] 1. For new processes/roles use [[Guidelines/NewProcess|guideline for new processes]] 1. Make release test description, involve [[Process Role/Test Coordinator|test coordinator]] if necessary. 1. Sanity test, i.e. try to execute the described release test for the implemented task 1. Update documentation and note in the [[Development#CurrentIterationReviewOverview|current iteration review overview]] if any release documentation (e.g. manuals) are affected 1. Review work: 1. For code, make [[Process/Code Review|code review]] on success criteria and the unit tested, sanity tested code with updated documentation 1. For documentation, make [[Process/Document Review|document review]] on success criteria and updated documentation 1. For other, make review inspired by [[Process/Document Review|document review]] 1. Release test description is accepted by [[Process Role/Test Coordinator|test coordinator]] 1. 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 [[BugInfGuide/Fields|Tracker Issue Field Description]]) <> '''~+Time+~'''<
> * After iteration has been started and tasks distributed by [[Process Role/Project Leader|project leader]] * Before [[Process/Code Freeze|code freeze]] within the iteration <> '''~+Input+~'''<
> This can either be * A task from [[Development#CurrentIterationTaskOverview|current iteration task overview]] or * A tracker issue that is evaluated to have small implementation time by the [[Process Role/Module Owner|Module Owner]] of new tracker issue for that specific module. <> '''~+Output+~'''<
> * Release test input to [[Process Role/Test Coordinator|test coordinator]] (may be that there are none) * Implemented, sanity checked (if code) and reviewed implementation of task * Documentation update (if any needed)