Our Release Day: The process behind updating autoscan on a regular basis
Let’s take a look behind the scenes of our development: Our Software Lead Bernhard Reuberger explains our structured approach to releases.
Question: Every Tuesday is marked “Release Day” in your autoscan team calendar. What does that mean?
Bernhard: That’s the day reserved for the release of new autoscan features, improvements and bug fixes.
Question: What’s so special about this Release Day?
Bernhard: Let me back up a bit: We are very proud of the whole autoscan development process which we built up and honed over the past few years.
Most of the code base is being tested automatically across all components. By doing that, we follow high quality standards. Additionally, no new code enters the product that hasn’t been checked by at least one colleague during a code review.
Now about the Release Day: We use a Kanban Board to keep a close eye on every feature throughout its life cycle: from the idea and concept through development to, finally, the release.
This gives us ideas for optimization. Like in December 2021, when we realized that time and again many – technically finished – work packages pile up shortly before releases. The reason was our failure to define a process for this last phase.
Question: What did the last phase look like back then?
Bernhard: We had no fixed time schedule for releases. We always decided on an ad-hoc basis, usually after finishing bigger features. The problem with no deadline was that many features were usually about 95 percent finished – and the missing 5 percent then took weeks until the next release. This led to bigger releases and, consequently, more stress.
Question: And the solution was the Release Day?
Bernhard: Yes, we have seen significant improvements since starting it. We settled on Tuesdays as the best day for our releases. With this deadline in mind, no feature is left unfinished, and we release in “small bites”. We avoid big, stressful releases.
This process also meant that we were becoming faster – the velocity was increased. And the best side effect was that we need less mental energy now because it has become a habit!
And the best side effect was that we need less mental energy now because it has become a habit!
Question: How does the process work in detail?
Bernhard: We are aiming to finish features until Monday, one day before the Release Day. That gives us time to manually test a feature and integrate it. Additionally, we wait for one of our colleagues to review the code. That done, everything is ready for the release on Tuesday.
On Release Day we go through all the features together. If we are all satisfied, we compile the release packages for all the different ERP systems that autoscan can be used with.
Question: How does the “compiling of packages” work?
Bernhard: Completely automated and within a few minutes. We are steadily working on improving our Continuous Integration and Continuous Deployment processes. They are essential for Release Day: On the one hand, we check the quality of autoscan with a multitude of automated tests. On the other hand, we can create release packages by the press of a button. That’s how we are able to confidently release within a day!
Question: How do autoscan partners receive their packages?
Bernhard: We make them available on their respective file shares. Partners always have the latest autoscan version at their disposal. It’s up to them if they install it for their clients at once. Not all changes in a new release are relevant for everybody.
We noticed an interesting side effect of our frequent releases regarding support: Sometimes, partners did not roll out the newest package and contacted us with a new requirement or issue – and all we had to do was point to the new feature or fix in the latest package. Within minutes of being reported, the partner’s problem was solved!
ABOUT BERNHARD REUBERGER
Bernhard is our Software Lead and Architect. He has been working on autoscan from the very beginning. His passion for high quality software development makes sure that autoscan is the most sophisticated, user-friendly and future-proof solution on the market.