AB Suite has been around under various names since the 1980s, explained its software architect Andrew Lee. The idea is that an application is modelled, and then AB Suite generates the corresponding code for ClearPath or Windows. "We try to be platform agnostic," he said, so generated applications should work the same regardless of where they are deployed.
Users are commonly found in the banking and insurance, transport, healthcare, and education sectors, and AB Suite is mostly used for transaction-processing style applications. "OLTP is one of our strengths," said Lee.
The overall AB Suite product team is geographically distributed, with architecture, design and product management (including Lee) in Australia, and development groups in China and India. "We follow a version [of scrum] that works for us," he said, with specific features allocated to teams in China or India.
Increased automation was seen as the answer – customers want to automate the entire software development lifecycle, Lee said.
So the AB Suite team looked for aspects of the product that users weren't able to automate for themselves, targeting them for automation via scripts, software agents and so on. It also sought to provide technical leadership regarding best practices for standardising the deployment pipeline.
In addition to streamlining processes and avoiding mistakes generally, there was a particular issue in that systems are being deployed on a larger scale than they were a decade ago, for example by using multiple instances to provide high availability. "Nowadays, you can't afford downtime of even a couple of hours," Lee observed.
Since AB Suite is used within Visual Studio, it isn't surprising that Unisys recommends the use of Team Foundation Server (TFS) and Team Foundation Build (TFBuild) for automated building and deployment, even across separate test, acceptance and production environments.
Other similar tools can be used, but most customers follow the company's advice. Some roll their own scripts and batch files — "it seems to work for some customers" — for greater flexibility or because they don't need the broad functionality provided by TFS. A considerable amount of effort went into making the new version of ABS work with a wider range of tools.
The process of modifying an existing AB Suite application goes something like this:
• Change model
• Check code into version control repository (TFS)
• Define build steps (TFBuild)
• Generate complete application
• Use agents to deploy to test environment, perform testing
• If it passes, deploy to acceptance or production environments (TFBuild)
In that last step, multiple files are generated for multiple instances, and TFBuild is used to control various interfaces to automatically and correctly configure each instance.
In developing release 6.1, the AB Suite team itself adopted DevOps practices. The development part of the product that works with Visual Studio had traditionally been developed separately from the runtime (effectively the operations environment). That changed for this release, and now both aspects are part of the process of a scrum team working on a feature.
"It's been a change of mindset for us," said Lee, even though the the AB Suite team had used the scrum methodology for previous versions of the software.
Having geographically dispersed teams made it harder, and it was especially important to ensure the processes remained focused on the user stories. That way, people spread across three countries were able to discuss the product and its features as well as they would in one place, "but it hasn't been easy".
It's important to develop every team's technical expertise, Lee said – it isn't appropriate to have a leader and followers, nor should one group be allowed to mandate activities.
The success of AB Suite — a core Unisys product — shows the advantage of having people spread around the world, said Lee.