TASS has recently changed the way that we develop software, moving from large biannual releases to more frequent, monthly releases instead.
Whilst that looks simple on paper, a lot of research, planning and hard work happened behind the scenes from all the different TASS teams to ensure that our development process continued to provide the best possible experience for our customers.
We spoke to TASS Development Manager Brad Fleming about the project to learn more about how this change was decided and implemented and what it means for TASS users.
As the driving force behind the new development cycle, Brad also had some valuable tips for managing organisation-wide change, getting buy-in from stakeholders, and managing the risks associated with major projects like this.
To understand the why and how of this process, it’s important to know what we changed to and from. So, if you’re not familiar with common software development processes, here’s a bit of background:
There are many styles of project management in the development world, but the two main methodologies are Waterfall and Agile.
Waterfall takes a very linear approach, having been adapted for software development from its origins in construction and manufacturing. Just as the foundation of a building must be complete before the framing or walls can be built, waterfall development requires all of the planning and design to be completed before development can start and all development to be complete before testing occurs.
For a long time, Waterfall was the main methodology used by most software companies, including TASS – mainly because it was the only option available. However, Agile has grown into a popular alternative to Waterfall, structured around the requirements of modern software development rather than translating the process from another industry.
Using Agile, development is broken into smaller parts. Rather than planning every feature at the beginning, then developing them all, and so on, developers can focus on a single feature or part of a project, develop it, and get immediate feedback.
TASS has switched from Waterfall to Agile, so development now happens in shorter two-week iteration cycles, with two iterations per monthly release.
As in the diagram above, at the end of each iteration we have a tested, releasable product that is built on in the next iteration.
As with most large changes, there was not just one single factor that led TASS to switch to a new development cycle.
Ultimately, the decision came down to three key points, which Brad broke down as:
For several years now, TASS has been steadily growing in both software capability and team size. As the development team grew, our output increased substantially.
However, with enhancements still coming out in major releases twice a year, there would be a huge influx of new features delivered to schools all at once—often over 500 items in a single release.
This process firstly meant that a huge amount of testing and BETA release feedback was necessary up front, potentially delaying the general release if anything needed to be addressed or readjusted.
It also meant that customers found it difficult to get up to speed with new versions and become aware of all that was included - due to the sheer volume of new features and changes introduced.
Flexibility is especially important for systems like TASS that are critical to school operations, explained Brad.
In the new agile process, planning, development, and testing all occur in the same development cycle, so there’s flexibility to change priorities or switch to something else entirely at the beginning of the next cycle.
This means that if anything urgent is needed – such as a new government return requirement, it can be addressed quickly without impacting a larger development timeline.
Under the previous waterfall model, a feature could be completed early in the cycle but not available to schools until the next major release, sometimes up to 6 months later.
With releases now happening more regularly, schools can have access to features as soon as they’re completed. As an added benefit of the way TASS now develops software, we can also allow the early release of new features to schools that have agreed to test and give feedback on TASS enhancements.
This is done using ‘Feature Flags,’ which allow us to toggle bits of code on or off as needed. This allows us to develop larger projects without impacting the ‘live’ TASS system and more easily test new features and enhancements with TASS schools.
The first steps of the changeover process began over a year ago, and to reach the finish line, much work was required from various TASS departments.
However, Brad shared that the biggest challenge of the project was ensuring that everyone was on the same page about what the change would involve and what the benefits would be. As a fundamental part of the business, changing the development cycle would impact all areas and require agreement from each business leader if the project were to go ahead.
As we’ve talked about before, identifying and addressing any concerns or questions is a crucial step in successful change management, and Brad’s experience was no exception.
He explained that showing people that their concerns are genuinely being considered and explaining how the positives would outweigh any issues was essential in driving that shift in mindset. This took a lot of discussions, diagrams, and research, but it was worth it in the end.
Once everyone was on board, the next challenge was getting everything ready for the new release cycle – which involved getting all development and testing to a ‘zero point’ so that the shift from 6 months to monthly releases could begin.
With everyone on board, some major changes had to happen outside of just the development teams.
Internal processes, especially around documentation and support, had to shift to align with the shorter timeframes of the new development cycle.
Under the 6-month waterfall cycle that was previously used, subject matter experts and the customer care team would workshop prior to each major release. This allowed them to get up to speed on all of the new features and changes, so that they are able to support customers post-general release.
With monthly releases, the customer care team has to be more in tune with features earlier in the process as they’re being developed, ensuring that they’re across every change in each monthly release and that support, customer communication, and documentation are ready in time for the shorter cycle.
Whether you’re changing a core process or introducing new software, Brad’s main piece of advice is to always do your research.
Many people can share a horror story of going through a change led by someone who wants to do something new but doesn’t understand how things are currently done or why. For changes to be well-received and actually stick, it’s important to be able to quantify what will improve or change, what worked or didn’t work with the existing process, and explain this to everyone involved.
“Make sure everyone can get a clear understanding of the changes, and you have the research to prove what kind of positives can happen. Even though it may be painful at the start, it’s worth the effort.”