A hotfix is a term coined for a critical fix that must be deployed on production to patch the issue impacting the client business. Typically, this is a single error fix that is deployed to fix an important business scenario.
In a practical case scenario, we know that a 100% bug-free system is a myth and there is some or the other edge case or condition which gets missed due to tight deadlines or unclear requirements. In such cases when a major issue occurs at the production level, a hotfix must be deployed to solve that specific issue.
How is Hotfix Tested & Released?
The process is explained below:
- Client reports the issue
- The Dev & QA Team check whether it is a valid issue
- If the issue is found valid, the Product Owner creates a ticket.
- The Developer then starts working on the issue and then deploys the fix on the QA Environment.
- QA starts testing the fix and performs regression testing with it to check the impact
- QA Verifies the ticket and then the Fix is deployed on the UAT Environment. On UAT, QA does one round of testing to ensure the fix is not broken.
- The Business User is notified for further testing if the issue is found to be fixed on UAT.
- Once the Business User verifies the fix & checks whether the fix is working as expected. If all goes well, the fix is released and deployed to the Production Environment by the DevOps team.
Diagrammatic Representation of Testing & Release Process:
How are they hotfix handled in Agile?
One basic rule which is followed in scrum is to not take any new or additional ticket which impacts the sprint goal. All the nice to have features are parked for the next sprint and not considered in between the sprint. If the ticket is created in between the sprint, the ticket is marked as a backlog.
In the Agile methodology, a hot-fix has become common due to tight timelines and continuously changing requirements and functionality. The first thing to consider while analyzing the issue is to check the impact & decide whether to do the fix or not.
The issues which are impacting the business flows and impacting the business badly are considered in the running sprint and worked on. Please note that the hotfix is not bundled with any other fixes/features and are deployed independently on the production environment.
FAQ’s:
The term is mostly used when the client has found and reported an issue that is impacting client business and requires to be fixed before the next release. So, a release that is planned to patch a specific critical issue in the current release is called a hotfix release.
Hotfix term is used for a fix targeting a severe bug found at production, reported by the client. Bugfix term is used for fixes done for bugs reported by the testers during the testing cycle. A patch is bundled code for fixing an issue, adding a feature and
Depending on the criticality of the issue, a release is planned for patching the issue and thus the fix is developed, tested, and finally, the release is deployed to the production environment.
Read more:
TeeG33 says
Thanks for the post! With SCRUM, you’re right, you are not supposed to add work to a sprint. However bugs are actually an exception to this rule, and priority #1. You’re supposed to drop everything you’re doing and fix them immediately. SCRUM details many reasons why you’re supposed to do this, freshness of issue, etc.
Rahul says
Hi Tom, you are absolutely right. Thanks for adding the point to the post. Really appreciate.
Venky says
Do you have an Industry standard Checklist for Hot Fix, Patch Testing?
Rahul says
Hi Venky,
Thanks for your question. While testing a hotfix you should take following points into account:
– Analyse the Dependencies and Impact
– Do proper Retesting
– Perform Proper Integration Testing
– Perform Regression Testing
– Perform multiple platform testing of the hotfix
– Check the Data flow entries in DB if involved
– Capture proper evidence
For more information. Subscribe to the blog and check out the latest articles. Thanks