13 May 2020
The Rationale for Monthly Releases of ODA Software
Neil Peterson, Open Design Alliance President
In April 2020, ODA announced that it will be issuing production releases for its full product line every month. This replaces a bi-annual release schedule that dates back more than a decade. There have been concerns expressed about this new policy by some ODA members, specifically that it may result in a reduction of quality in ODA products, and I would like to address these concerns directly.
The switch to monthly production releases was not made on a whim, rather it’s the natural result of the evolution of ODA quality processes over the past decade. The early basis for this was the development of a cross-platform build/test per commit system (Continuous Integration, or CI) in 2011. An ODA developer who commits a change that fails a build or a regression test gets automatic notification within a couple of hours, and such problems are fixed quickly by the developer who introduced them. This was a significant improvement over weekly or monthly manual reviews of these items, where it might be necessary to sift through hundreds of commits to find the offending line of code. There is, of course, a limit to the amount of testing that can be done per commit, so these were supplemented with daily, weekly and monthly regression test runs, each with progressively more extensive test sets.
In 2013, ODA switched to an Agile development process, based on a 4-week sprint. This change was made to improve planning and predictability of ODA development, and it was only natural to build out a set of automated test and release processes based on this cadence. In 2014, ODA began publishing the results of these monthly builds as “interim” releases that members could download for early access to bug fixes and new features.
From 2014 onwards ODA has been regularly improving these basic systems:
Our April 2020 announcement of monthly production releases is not a radical re-organization of ODA development processes. Rather, it’s an acknowledgement that the monthly releases we’ve been quietly producing since 2014 are now good enough for production use. The benefits to ODA members are clear: fast access to bug fixes and new features, which is especially important for our newer technologies such as BimRv, IFC, Visualize and Open Cloud. Members who prefer bi-annual or annual updates are free to continue with their preferred update schedules.
- Increasing test capacity with investment in new hardware, including heavy use of virtualization.
- Increasing test coverage with aggressive implementation of new tests for correctness, stability, performance and leaks.
- Improving the quality systems themselves with new features, better reliability and friendlier UI.
- Each year as the quality and effectiveness of our overall testing processes have gotten better, the quality of our monthly releases has improved, and the release process itself has become more reliable and less labor-intensive.
In 2015, ODA Founding Member Onshape announced a rather bold and unique (at the time) policy of new production releases every 3 weeks for their cloud-based CAD software. Their success has proven that short release cycles can work for modern CAD development. Short release cycles require precise planning, discipline, team buy-in and careful execution—but if these things are already be part of your company culture, regular high-quality releases make good sense.
Permanent link :: http://isicad.net/articles.php?article_num=21237