# Maintenance Trends Tool
- Introduction
- Description
- Customization
- Usage
---
## Introduction
- The time the department spends for the processing of Updates (to be accurate, Release Requests for Updates) is something that was not easy to dig from the QAM data until recently.
- Workreports or logs had to be manually parsed for text, and even then the only time that was easily mined was the time from the creation of a Release Request to it's release or rejection.
- The Maintenance Trends tool tackles that problem, providing detailed, accurate information about every step of the update processing process in QAM.
---
## Description
- The Maintenance Trends tool provides data and plots related to the time it takes the department to process maintenance updates
- In general, for each Maintenance update, a release request is created, it then gets processed by the Maintenance department, and in the end it is Released or Revoked/Rejected
- The time between the creation and the release/rejection of a release request can be broken down into three main stages
---
## Description
### The 4 Stages of Update Proccessing
<!-- .slide: data-background="white" -->
- Stage 1: Creation to Assignment period
- Stage 2: Assignment to Review period
- Stage 3: Review to Release/Revoke period
All the stages above when added equal the creation-to-release period, or the total time this update took to be processed by Maintenance.
---
## Description
### Stage 1: Creation to Assignment
<!-- .slide: data-background="white" -->
1. This is the time period starting when the Release Request is created, and ending when a tester from a Maintenance group (i.e. qam-sle) assigns the task of testing/reviewing it to theirselves.
2. What it really represents: The time that an update sits in the queue, waiting to be picked up by a tester
---
## Description
### Stage 2: Assignment to Review
<!-- .slide: data-background="white" -->
- This is the time period starting at the moment a tester assigns the Release Request to themselves and ending when the tester approves or rejects it.
- What it really represents: The time that the update was actually under testing
---
## Description
### Stage 3: Review to Release/Revoke
<!-- .slide: data-background="white" -->
- This is the time period starting at the moment a tester approves or rejects the request and ending when the request is finally closed and ready to be released (in case of approved requests, that is).
- What it really represents: The time that the update spends waiting for the final aproval of the testers' reviews, to then be permanently closed
---
## Description: Concluding
<!-- .slide: data-background="white" -->
- Those 3 stages, together with the total time from creation to release, are the main periods of interest for the Maintenance department
- THe Maintenance Trends tool provides customizable graphs for all 4 periods, based on user personalized customizable queries.
---
## Customization
<!-- .slide: data-background="white" -->
Users have full control over the data they receive, and that is done through a number of query parameters:
- *From_Date* and *To_Date*
- Time Granularity
- Update Status (Accepted/Declined)
- QAM Group
- Update Packages
---
## Customization
<!-- .slide: data-background="white" -->
#### *From_Date* and *To_Date*
The query will only take into account updates that were released between those two dates
#### Time Granularity
Daily, Weekly, Monthly, Quarterly, Semesterly (6 months) or Yearly: The graph will display the median times for the selected granularity. If, for example, the user selects Montly granularity, the graphs will display the median time it took to process an update for each month
#### Update Status
The query will only take into account updates that were released, declined, or both, depending on the users choice
---
## Customization
<!-- .slide: data-background="white" -->
#### QAM Group
The query will only take into account updates that were reviewed by the selected QAM group. More than 1 groups can be selected simultaneously (i.e. only QAM-SLE, only QAM-TERADATA, only QAM-SLE |OR| QAM-VIRTUALIZATION)
#### Update Packages
THe query will only take into account updates that contained the defined packages. More than 1 packages can be selected simultaneously. For example, only `php5` updates, or only `php5 |OR| kernel-default` updates
---
## Usage
<!-- .slide: data-background="white" -->
- The user choses his preferred parameters for the customization options detailed in the previous section, and makes the query
- Then, he can choose to to view the corresponding graph for any of the 4 stages that were described in the first section: Total time, time to assignment, time under testing, and time to release.

---
### Usage
<!-- .slide: data-background="white" -->
Next up, let's look at some useful and interesting results:
{"metaMigratedAt":"2023-06-15T09:17:15.942Z","metaMigratedFrom":"Content","title":"Maintenance Trends Tool","breaks":true,"contributors":"[{\"id\":\"11704596-8d44-441c-a2f9-88ccc8cc2473\",\"add\":6089,\"del\":6016}]"}