Peter Bascom, senior vice president of engineering of the OEM division of Merge Healthcare, describes his organization's development style as "a very stringent process overlayed on agile." Striking a balance between stringency and agility is necessary in a highly regulated industry such as healthcare, which puts extra demands on software quality and application lifecycle management.
The Toronto-based company is a business-to-business (B2B) provider of advanced imaging and connectivity software for healthcare. Its solutions integrate imaging data and content into medical devices, surgical navigation and planning systems, software platforms, imaging systems and electronic health records.
"Fundamentally, everyone wants to produce bug-free software, but our industry is more heavily regulated," Bascom said. "The requirements we have to do more carefully. We have to show traceability; we have to have documentation, etc. In the end it's all about being able to produce quality software that does what the customer requires."
For Merge, he said, "The goal is to show the right images delivered to the point of care, so [providers] can get to the data as quickly as possible."
Merge OEM develops primarily for the Windows platform, with some tools running cross-platform, Bascom said. They are a .NET shop working in C++ and some Java. "Being an OEM, we have to switch between OSes and environments fairly easily," he said.
To help with the demands of developing in a regulated industry, Merge OEM is utilizing IBM Rational Change and IBM Rational Synergy (formerly Telelogic products) for change and configuration management. Merge manages its code and build process with the Rational tools. Merge started with the Synergy tool in late 2000, Bascom said, replacing the open source version control system CVS.
"We do a lot of custom scripts, so it was taking a lot of time to support the [CVS] tool internally," Bascom said. "One of the things we liked about Synergy was it is a task-based tool, so you can easily include/exclude tasks when you're doing builds. We look for tools that make our job easier, to remove some of the manual things we had to do in the past."
Bascom also said it was important his organization that Synergy has a centralized server and can support distributed development.
To get started, Merge tapped Telelogic to train some of its internal staff designated as experts, then those experts trained the developers and build administrators. The organization rolled the tool out in stages by picking key projects to work on. When the team got comfortable, he said, they moved on to other projects. "Imagine switching version control systems—you can't do that overnight," he said.
As an agile shop, Merge does do continuous integration, depending on the product, Bascom said. "For the toolkit level, everything is done automatically, even tests. As soon as someone checks in a task to Synergy it automatically kicks off a build. If there's an issue, an email is sent to the appropriate person. In the past we'd do builds in the evening, and if there were issues we'd address them in the morning."
According to Bascom, this was not very efficient, particularly with the organization's move to agile. Now, he said, "as soon as someone makes a change to the code it gets checked in and kicks a build off. The worse thing is to have the build broken and it affects whole team."
Bascom said most of the organization uses the Change product for tracking issues and other related data. The Synergy product is used primarily by engineering—the developers, testers and build managers.
In the regulated industry Merge is in, traceability is key, Bascom said, and the tight integration between Change and Synergy is something they like. "You can go from change requirements to code, and the other way around. If you make a change to the code and introduced a regression, it's very easy for us to back that change out. With the change product, our whole process flow has gotten built into tool, so we have the tool match how we do our business. With the FDA, for instance, you need to ensure that you always know what defects are associated with what code, and we can easily map between."
The ability to modify the workflow to fit their processes has helped with efficiency, said Antonia Wells, president of the merge OEM division. As an engineering and B2B company, "we're developing for all the big names in the medical sector. We have a particular challenge because we customize solutions, we build solutions from scratch, so we had to be very creative and provide a workflow that's repeatable."
According to Bascom, IBM Rational's change and configuration management tools are part of the quality control at Merge, but he is quick to point at that quality "is more than a tool. We have a whole process around quality, right from beginning through shipping and after. The tool makes it easier for us to do certain things. We have a very well-defined process that is nicely support by the tool."