Heartland Payroll Systems, an internationally recognized brand in payroll processing, had begun to hit the limits of their on-prem systems.


With the help of a team that included Drew Long and Marc Schadee* (both now transformation specialists at AeonTek), they were able to lift-and-shift their organization into the cloud.

*Note: While these two individual are founders of AeonTek, AeonTek as an entity was not involved in Heartland's transformation effort.

Challenges

Legacy Code

Much of the code had been in production for many years and worked well within the on-prem structure, but wouldn't translate well to a cloud infrastructure.

Security

Applications in a cloud infrastructure face security concerns that Heartland's software was not adapted for.

TRAINING

Many of Heartland's employees lacked hands-on experience with cloud technologies, and had little or no skill with the proposed systems.

The Strategy

"Right from the outset, we knew the strategy had to be holistic. The infrastructure needed the code, but we couldn't write the code without understanding the infrastructure. It all had to grow together. And the team had to grow with it."

Managing the team

The plan was always to evolve the team. This involved understanding how the team worked, as well as how the team worked together. The change leadership team determined that the best way to do this was to integrate with the existing dev team. Once they had become a single team, the group planned to train and coach the whole team in agile scrum processes and ways of working. The goal was to increase team productivity so as to reduce unnecessary delays in the transformation effort.

Once the team was integrated, the change leaders would use carefully managed constructive conflict to ensure that results were consistently high quality. The change leaders also intended to increase the team size over time to ensure that proper talent was engaged in key areas.

Managing the work

Following the initial discovery, the team concluded that a hybrid transformation approach was the best option. In other words, the team would be performing a "lift and shift" of the current system, while also rewriting key components of the code base. This method required significant communication time, which necessitated structured communication. For this reason, the team chose to use Scrum for their workflow management.

Implementing Scrum would require additional training and required a scaling approach for handling communications across multiple sub-teams. For this, the team opted for a variation of Scrum@Scale.

Aside from training, the implementation of these methodologies would require a work management tool that supported the team's way of working and the work itself. The team opted for Azure DevOps, and selected Azure for their cloud provider.

Complications and Conflict

Before implementation started, and for some time after, non-constructive conflict occurred with two causes - ideological differences and psychological safety concerns. The first was largely resolved by removing the loudest antagonists, which only increased the second. Over time, psychological safety was restored through dedicated teambuilding and effective communication.

Implementation

Azure DevOps

The team stood up an Azure DevOps instance, and made good use of the Kanban charts, Sprint planning tools, and release pipelines.

Azure Cloud

The team hired an experienced Cloud Engineer and a seasoned AppSec Engineer to oversee the move to the cloud.

Testing

The existing QA team was integrated into the dev team, and empowered to redefine their testing practices.

Automation

The team hired resources specializing in automation, who helped the team automate testing, deployments, and status reporting.

Scrum

The team assigned Business Analysts to a Product Owner role and senior developers as Scrum Masters. Teams were encouraged to self-manage and self-organize.

Scrum@Scale

Business Analysts and Senior Devs (acting as POs and SMs) met regularly to ensure consistent communication and coordination between teams.

The evolution and benefits

The overall transformation process took roughly 18 months from planning to the first complete cloud deployment.  During that time, the release cadence went from once every six weeks to multiple times per day. Services were delivered faster and with consistently higher quality than before. Customer satisfaction improved, and sales increased. The transformation was largely considered a success, and the company continues to innovate to this day.