Updated: Jul 4
“If you don’t manufacture a quality product all you’ve got at the end is a bunch of expensive mistakes.” ~ Eliyahu M. Goldratt
For every business, quality in their product or service is important whether it’s agile business or traditional. There is no customer if you are not able to provide quality for the price they pay. When it comes to agile quality then hardening sprint is also one of the things that comes to mind. But hardening sprint is not directly connected to agile, many consider it not a necessity or even a bad practice while some go to the extent to use it as every sprint activity. So the question arises what is the right way to go for agile when it comes to hardening sprint?
To know the answer to this is to know first what hardening sprint means. With definition and correct concept anyone without guidance will understand the use and necessity of hardening sprint in agile.
Hardening sprint is specially used for maintaining the quality of a product or service the organization provides. Hardening sprint is a method to finalize a release of the product. It includes freezing all other work including working on new features and focusing completely on the quality of the releasing product. All the available resources are deployed for assuring the quality of the product and service to be released.
As we got an idea now what hardening sprint means we must have an idea of what it is and is it necessary? Having agile experience, we will recommend using hardening sprint in some cases but not regularly. As maintaining the quality is important hardening sprint can come in handy in some scenarios we will mention today. But making it a habit will never be recommended as creating its habit means you are not good with testing and quality of the product and services you provide and always go for last-minute preparations.
Scenarios when Hardening Sprint is Required
In cases where the team has to work on two or more applications creating and delivering features every week that have the fully or partially the same database and information available, it becomes necessary to use a hardening sprint to avoid any confusion or messing up of the applications. This hardening sprint helps to test the other application for duplications.
When a team needs to work on creating code for key applications or features. Then regression testing is required takes a lot of time and may not even be possible to complete within the sprint. In such cases, a hardening sprint can be created every two to three sprints to have regression testing assuring deployment on production.
But having regular use of hardening sprint is not a good thing for the project or team mindset as it creates a ‘we will fix it afterward’ mindset in team members and delays tidying work. This delay makes code more messy and complex to read. The longer the time to tidy it, the more messy code will be and hard to read it, causing hard to edit existing code or test new ones increasing the time involved in the activity.
With regular use of hardening sprint, we will be dragging waterfall or traditional way of working in agile which is what, we are always avoiding. The hardening sprint regular use leads to
Larger untested codes
Defects complex to resolve
Undiscovered or lately discovered defects
Delay in delivery to the customer
Increased complexity in regression testing
Difficulty in solving and tidying the mess
More prone to errors after testing
To avoid using hardening sprint in our regular process we can use some ways mentioned below.
Shrink scope of a user story- When teams have a user story that includes multiple conditions it is advisable to prioritize the conditions necessary for a minimal viable product. Team members must select the edge or corner test conditions to modify the story only up to the requirement of developers to develop, carrying out remaining in the new cover story.
Off-cycle or spillover- When a team cannot complete the critical requirement in a given sprint time it is better to opt for acknowledging the spillover to the next sprint or they can even go for off-cycle release to production if they can complete the task before the next upcoming sprint.
By understanding, their agile and scrum processes one must creatively think about whether to embrace the hardening sprint or not, instead of simply deciding based on the opinions of any zealot or evangelist because “the key part of your brand is a quality product. Creating exceptional content is the number one thing.”
About Advance Agility
We, at Advance Agility, are the new-age Agile Coaching, Consulting and IT services company. We enable end-to-end Digital Transformation. Agile execution is integral to our being. We are doing SAFe implementation with small, medium and large organization across the globe. Our vision is to be the leading Agile execution player globally. To keep adding value at every process stage. We are on a mission to empower our clients, move from concept to cash in the shortest sustainable lead time by adopting human centric approach to business agility. Embracing the change is in our DNA. Things that keep us apart are Quicker and Seamless execution with End-to-end gamut of services. Our Global presence and Stellar Track Record give us an edge over our competitor.
Connect with us at advanceagility.com to learn about SAFe and SAFe Implementation. Write to us at email@example.com for any agile training or consulting needs. We are always looking for competent agile trainers as well. So if you are a good trainer or want to become one, do get in touch with us to that we can learn, grow and achieve together.
Connect with us for boosting your work principles and practices as Scrum Masters or Agile leaders