What is an action plan?
After having identified areas for improvement thanks to the "Diagnostic" section, you can define action plans to materialize your strategy in terms of quality management. These make it possible to define a list of objectives to be achieved by the teams. An action plan has an end date that limits the efforts that one wishes to implement on the quality strategy. Action plans are a great way to provide developers with reminders and "todos" in terms of quality, by fine tuning the expected effort.
An action plan is targeted by project. You can then replicate an action plan of a project on one or more projects. It is possible to limit the field of action to one or more sources, and even to certain files.
When do we have to use actions plans?
Action plans can be created at any time within a period. It is recommended to put in place action plans at the beginning of the period. The developers then go through the action plan for the duration of the action plan to identify the remainder to be done. At the end of the period, it is recommended to gather the team and analyze together the outcome of the action plans. This work is ideally done in addition to the Diagnosis. After the debrief of the previous action plans, and following the diagnostic work, the action plans for the new period are put in place.
To whom are the actions plans goals assigned for?
A goal can be assigned to :
- a project. In this case, all actions performed by project team members will be taken into account in the goal calculation.
- a team. In this case, all the actions performed by the members of this team will be taken into account in the calculation of the objective.
- a user (individual goal). In this case, all the actions performed by the author associated with this user will be taken into account in the calculation of the objective.
An action plan has no limits on the number of objectives it contains. An action plan can also contain collective (project or team) and individual objectives.
Who is allowed to create actions plans ?
Each Themis user (developer / pilot developer / animator) is able to create action plans. On the other hand, depending on their profile, the objectives that can be created will be different :
- A developer can only create individual goals for him and only him.
- A pilot developer can create individual goals for himself and only him, as well as goals for the team he is piloting.
- An animator can create goals for a project, for teams for which they have permissions, and individual goals for team members for which they have permissions.
What are the goals types?
1. A maximum number of clean actions to do
Example : at least 10 clean actions.
This goal is available to all practices.
2. A maximum number of harmful actions not to be exceeded
Example : no more than 2 harmful actions.
This goal is available to all practices.
3. A minimum number of corrective actions to be performed
Example : at least 10 corrective actions.
This goal is available to DET and COV practices (TFI doesn't have corrective actions).
4. DET practice : Debt correction
This section is intended for facilitators and pilot developers to identify areas for team improvement on ongoing projects, but also more generally to observe the progress made and the state of health of the projects.
Examples: 5 fault corrections for the rule "disallow unused variables (no-unused-vars)" ; 10 corrections of "Warning" severity defects.
The calculation will be done independently of the type of actions. Thus, 10 default corrections within an action will have the same impact as 10 corrections distributed in 10 actions. The level of the action is also not taken into account (you can do everything to make corrections in the context of a harmful action).
5. DET practice : No Adding Debt
It is here to challenge on the non-creation of code defects. You can define a specific property to identify one or more rules (name, category, severity level, ...). The defect additions corresponding to these properties will thus be taken into account.
Examples: Do not add more than 2 defects for the rule"disallow unused variables (no-unused-vars)" ; Do not add more than 1 "Warning" severity defect.
The calculation will be done independently of the type of actions. Thus, 10 additions of defects within an action will have the same impact as 10 additions spread over 10 actions. The level of the action is also not taken into account (you can do everything to add defects in the context of a remedial action).
How are the action plans calculated?
An action plan has a start and end date. All actions that took place between these 2 dates will be taken into account in the calculation. The outcome of an action plan may be retroactive. Indeed, imagine a plan of action that runs from October 1 to October 14, which contains an objective on a number of remedial actions to perform. If you make commits on your code repository on the 14th, which will be shared on the repository on the 15th, and Themis synchronizes on the 16th, your action of the 14th will be identified, and potentially taken into account in the calculation of the action plan. . The action plan can be perceived as failed on 14 and 15, but succeeded on 16!