29 July 2022
by Isabelle Ohnemus
Image by bartekhdd from Pixabay
It has been over 20 years since the publication of Manifesto for Agile Software Development 1, a framework that describes how software developers work together to deliver code more quickly, with less waste, and in shorter cycles by enabling iterative and continuous delivery.
A 2019 survey indicated there had been a widespread adoption of Agile methodologies with 91% of respondents within the IT function in their organization taking the lead in Agile principles and approaches during this period.2 A more recent 2021 survey reinforced these findings indicating there had been significant growth in Agile adoption within software development teams, increasing from 37% in 2020 to 86% in 2021.3
It is against this backdrop that the question – code freeze, risk mitigation or outdated practice? – is posed, and it is not surprising that in the face of such wide adoption many responsible for systems development see no place for freezing code in an Agile world.
Code freeze, a term used in software development, refers to a window of time during which the codebase is locked down from changes (show stoppers aside) during the freeze period.
It is common for companies to start a code freeze prior to a period of known high traffic such as the “US holiday season” which may commence as early as Halloween and extend into the New Year sales period.
The main reason retailers implement a code freeze is to mitigate the risk of disruptions and outages caused by the introduction of bugs into the codebody during a period of high traffic.
While stability of the system is clearly a priority, it begs the question as to whether it is necessary to lock down the system for the best part of a quarter of the year as in the case of the US holiday season. In our consumer-driven society, every month is a shopping season month. If it’s not Valentine’s Day in February, it’s Father’s Day in June. There is no respite, and business cannot afford to close shop, when every day has the potential to be a high traffic day.
Yet, if recent discussions are anything to go by, code freeze remains on the agenda of the Director of Ecommerce and their e-commerce team.
E-commerce platforms operate in an environment of ever increasing complexity driven by the demands and expectations of customers spoilt for choice. Forced to accelerate their digital presence to not only retain but grow revenues, retailers must design their platforms with resilience in mind. Research published in 2020 identified the following capabilities required to succeed in this new retail dynamic:4
Retailers haven’t figured everything out, and in a Covid-19 world, there will always be new hurdles to overcome. The most successful businesses will be the most agile.5
Freezing code and delaying the release of important changes to the codebase is perhaps the antithesis of what it means to be Agile, integral to which is the adoption of a “customer-centric approach to defining, building, and releasing a continuous flow of valuable products and services to customers and users”.6 Code freeze clearly interrupts the flow in the software development life cycle.
The implications of this interruption include:
With development broken down into smaller, incremental changes shortening the cycle time between development and release, along with the increasing automation in testing, integration, and deployment, it becomes more difficult to support the case for code freeze if one accepts that the evolution of Agile methodologies and tools have improved the level of confidence in code deployed to the live environment.
To freeze or not to freeze may depend upon the context.
A hybrid approach is called for. Risks attached to large distributed software projects may be too great not to code freeze, while projects smaller in magnitude may not warrant a code freeze.
Responding to e-commerce development challenges with greater agility is the answer.
With the peaks and valleys of e-commerce no longer a once-a-year event, a commitment to Agile may mean retailers do not have to stop innovating and iterating at a time when incremental improvement may make all the difference.
1 Beedle, M., van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., Highsmith, J., Hunt, A., Jeffries, R., Kern, J., Marrick, B., Martin, R. C., Schwaber, K., Sutherland, J., & Thomas, D. (2001). History: The Agile Manifesto. Manifesto for Agile Software Development. https://agilemanifesto.org/history.html
2 KPMG Advisory N.V., de Koning, T., & Koot, W. (2019). Agile Transformation. KPMG Advisory N.V. https://assets.kpmg/content/dam/kpmg/be/pdf/2019/11/agile-transformation.pdf
3 Digital.ai Software Inc. (2021). 15th State of Agile Report. https://digital.ai/resource-center/analyst-reports/state-of-agile-report
4 Forrester Research, Inc. (2020, July). Are Today’s Retailers Ready For The New Normal? https://www.cisco.com/c/dam/global/assets/pdf/CiscoRetail-OSnap2_final.pdf
5 Chen, C. (2022, January). The Myths and Realities of Retail’s New Normal. The Business of Fashion. https://www.businessoffashion.com/articles/retail/the-myths-and-realities-of-retails-new-normal/
6 Berea, Y. (2021, September). Agile Product Delivery. Scaled Agile Framework. https://www.scaledagileframework.com/agile-product-delivery/