Case study: How we rolled out Analytics Plus 5060 smoothly
Analytics Plus is our on-premises advanced IT software. It’s mainly used by businesses for augmented analytics, predictive analysis, and other comprehensive reports. In this chapter, we’ll follow a step-by-step review of the Analytics Plus team’s release management process, find out how it varies from cloud solutions, and see how they successfully roll out monthly build updates.
The workflow is customizable and can be modified using the drag-and-drop canvas.
Stage 1: Submission
Person(s) involved:
Release requester > Release engineer (Shankar)
Start procedure:
The release requester submits required details to Shankar.
- Release level and identification
- We follow a numeric increment for each build.
- Major releases: Increments of thousands, e.g., 4000, 5000
- Minor releases: Increments of 10, e.g., 4510, 4520
- For this minor release, as per the naming convention, we called it 5060.
- Release methodology: CI/CD
- Expected frequency of releases: Monthly
- Ideally, we’d like to target one release every two to three weeks, but once a month is a comfortable pace that allows us to address pending issues and additional features users need.
- Roles
Role |
Team member |
Release engineer or owner |
Shankar |
Release manager |
Selva |
Development head |
Masanamoorthy |
Testing or QA head |
Bhagidaran |
UAT owner |
Varies with each task |
ELS head |
Anand |
Reviewer |
Selva |
CAB |
Not required for this release |
- Business requirements
- Instagram integration
- Zoho Creator Cloud integration
- Apply filter feature
End procedure:
Shankar is now the owner of the release.
Stage 2: Planning
Person(s) involved:
Release owner (Shankar) and release manager (Selva)
Start procedure:
Shankar submits a detailed implementation plan to Selva.
- Scope
- Scheduled start and end dates
- Scheduled start date: Nov. 18, 2021
- Scheduled end date: Dec. 1, 2021
End procedure:
Selva verifies the implementation plan and approves moving to the next stage.
Stage 3: Development
Person(s) involved:
Development head (Masanamoorthy)
Procedure:
Masanamoorthy assigns tasks to his team members and documents release activity.
1. Details:
- Schedule start and end times
- Actual start and end times
- Description
- Attachments
2. Tools used
3. Approvals
4. Tasks
Task |
Task owner |
Template addition |
Daniel |
Support document creation |
Cherubina |
Test in ppm setup |
Pradhap |
Test case creation |
Dheeraj |
Enable feature via flag |
Pradhap |
Behavior assessment |
Masanamoorthy |
End procedure:
Masanamoorthy verifies completion of the stage and informs the QA team
Stage 4: Testing
Person(s) involved:
QA head (Bhagidharan)
Start procedure:
The QA team conducts various tests on each task to assess performance.
Release type |
Time taken (estimated) |
Minor |
1-2 weeks |
Major |
5-6 weeks |
Emergency |
2-3 days |
End procedure:
The QA team informs Bhagidharan once the code has passed all the tests. He verifies that and then approves moving on to the next stage.
Stage 5: UAT
Person(s) involved:
UAT owners
Procedure:
- The UAT owners test out each code and report bugs. They reported nine bugs for this release.
- The report is sent back to the development team for rectification.
- The code is tested once again by the UAT owners.
- Compliance parameters are verified.
- The UAT owners approve the code and move on to the next stage.
Stage 6: Implementation
Person(s) involved:
Release engineer (Shankar)
For on-premises products, we don’t require a deployment process. While the other stages remain the same, the implementation stage varies here.
Start procedure:
Shankar contacts the internal service delivery team, and they use their upload tool to upload the build. Before rollout, we run the code through the internal compliance tools to avoid any last-minute surprises. The tools automatically block the build from being uploaded if they detect any security issues.
If we suspect that a specific release may not work the way it should, we introduce a turn-off switch and configuration parameters along with it. So, if the functionality behavior is not as intended and starts to affect customers’ day-to-day tasks, we either turn off the feature or make immediate changes to ensure it doesn’t continue to affect customers.
We also avoid major releases during long weekends or holidays. Analytics Plus has a relatively small team; if customers face any issues during an upgrade, we won’t have the bandwidth for support.
End procedure:
For major releases, we would need CAB approval at this stage. Since this is a minor release, we can skip that part and move on to the next stage
Stage 7: ELS
Person(s) involved:
Development head (Masanamoorthy) and QA head (Bhagidaran) > ELS head (Anand)
Start procedure:
The development and QA teams will provide sufficient training to Anand’s team members, and they’ll provide use cases that will help them solve expected user issues.
If we need to update users about anything release-related, we send announcements or notifications from release requests to users.
End procedure:
When Anand feels his team is fully equipped to handle any user scenario, he approves moving on to the final stage
Stage 8: Review and close
Person(s) involved:
Reviewer (Selva) and release engineer (Shankar)
Procedure:
- Selva reviews the entire process from start to finish to determine if the release has met its goals.
- Users report some bugs via email, which are promptly fixed.
- He confirms that the release meets compliance requirements.
- Selva verifies deployment and associates a closure code.
- He passes it on to Shankar along with comments for stake holders.
- Shankar verifies once again that all necessary details have been updated in the CMDB and finally closes the release.
Metrics:
When we say Zoho runs on Zoho, we mean it. The metrics are monitored in the analytics tool, which is integrated with our help desk and its release management module
Shankar’s team will closely monitor these metrics and compare trends over multiple releases. Based on these numbers, they can figure out which areas need optimization.
With this, we have successfully rolled out build update 5060 for Analytics Plus. Now, onto the next!