Developers at Portico Systems had a clear-cut goal: a push-button build solution.
Portico, the developer of a healthcare provider network management platform, was looking to improve its process with automation. The company was in a growth period and needed to get to market quickly. The engineering group comprises five developers onshore and four offshore, and they use an agile methodology they have adapted to fit their business needs. They had a manual build process that utilized Ant to script the build, but it had become a full-time job in terms of management and maintenance.
"It started as a small development script and grew to a Frankenstein monster," explained development manager Bill Gallagher.
"We were looking to come up with a more sophisticated way of doing the build process," explained Beth Kuzmak, vice president of engineering of Blue Bell, Pa.-based Portico Systems. "We had a manual build process that we created internally, but it was subject to errors and it took time out from building our product. We had the objective of coming up with one-button deployment, so we could deploy software internally with the push of one button."
Portico's platform is Java-based, and Kuzmak said they provide weekly builds to the quality assurance team, with a major release once a year and quarterly service pack releases to existing customers.
"The way our software is built, it's designed so customers can configure the software, so we deal a lot with meta data, which means added complexity in terms of the build," she explained.
Gallagher said they wanted to move to a "fairly automated build, but wanted something we could customize and change on the fly without much effort." He had some experience with Anthill, the open source build management product from Cleveland-based Urbancode Inc., so he took a look at the commercial version, AnthillPro, as well as a short list of other products.
Portico chose AnthillPro, which provides automated solutions in continuous integration, build and dependency management, deployment automation, test orchestration and release management.
"We liked the demo, and they felt like our kind of company; they were small and got where we were," Gallagher said. "They met all the criteria, and we liked that it was Java-based, which resonates with us."
Also, he said, Portico uses JIRA from Atlassian for bug and issue tracking, and AnthillPro integrated with that as well as with some other products the development team was using.
In addition, he said, "Reporting and auditing was a huge concern for us. We had Ant script that ran nightly, but we didn't have visibility until the next day. The fact that you can run reports [with AnthillPro] and see results right away was a big deal."
Easy for developers to use
Kuzmak and Gallagher also said AnthillPro fit well with their existing process, so developers did not have to change the way they work. In addition to JIRA, Portico developers also employ the IntelliJ IDE, CVS for version control, the Oracle database and JUnit for unit testing.
"The process we had was good, but it was not a good way to make the build happen," Kuzmak said. "AnthillPro allowed us to make the build happen in a better way. One reason we chose it was it wouldn't disrupt how we defined our process."
Gallagher added, "As long as the developers just keep checking code into CVS and making sure it works, the build is pretty invisible. At same time, [utilizing AnthillPro] gave us a lot more bandwidth and better quality."
It also provides a visibility that can be a double-edged sword, he acknowledged. "When someone breaks the code, everybody knows it," which, he said, is mostly a good thing, "though not all developers may see it that way."
Both Kuzmak and Gallagher said the learning curve was minimal, and were pleased with Urbancode's support. Gallagher said he's also been pleased with the progression of the product.
"One thing you don't always see when you evaluate a company is the history of the product and a sense of the release schedule," he said. "One thing we've been happy with is AnthillPro has a frequent update schedule. The latest version is already a lot nicer looking and with more functionality than the version we bought. They're constantly updating and improving it."
However, Gallagher said he would like to see the integration with JIRA improved, as well as support for some of the more complicated features of JIRA.
But since bringing in AnthillPro last spring, Kuzmak and Gallagher said they are already seeing a return on investment. Kuzmak said not having an expensive Java resource doing the maintenance and management of the build process saves money. "And from a quality perspective, we have consistent builds, and if there is an issue we have a much quicker turnaround for resolution time," she said.
Gallagher added that it used to sometimes take days and several people coordinating the effort to get a build into test. "We have saved Portico money for the simple reason we now have a have push-button build solution."