In-Depth

Profile: Building Quality Software Is No Accident

Catalyst Systems has created a business around automating software builds.

Tracy Ragan, cofounder and CEO of Catalyst Systems Corporation, developer of the Openmake build management solution, insists that the company was founded by accident. She said, "Steve Taylor and I were working as consultants for Discover Card. I worked in configuration management, and I had to keep going to Steve [Taylor] because there were components that weren't working properly when we built and deployed. We identified some problems with versioning of shared software components."

Discover Card wanted a single solution across all of its applications, so Ragan and Taylor agreed to come up with one. Within a matter of months, Discover Card applications were building consistently and with known and managed component dependencies. With this early code, the foundation to a future business had been laid.

Ragan and Taylor thought they reached the end of the project, and then a Discover Card partner company asked for a similar solution. They wrote the solution as a long Perl script and discovered that it was something that more enterprises were interested in purchasing.

When Catalyst Systems was formed in 1995, industry interest in build management solutions was low. Ragan notes that the company supported itself in the early days through consulting engagements. But, according to Ragan, building software is a hidden costs of software development to which enterprises rarely pay attention. When they began to pay attention a few years later, it was good news for Catalyst Systems.

Because both Ragan and Taylor are developers by nature, the company does the bulk of its business through original equipment manufacturer (OEM) deals. Openmake is resold by both Serena and CA, and is also a part of the MKS Integrity suite. Does the company also have a direct sales force? Ragan responded by laughing, "We have one very busy person. He manages the OEM business and also tries to sell direct."

Openmake and Automating Software Builds
Openmake is a unique build solutions because it does not manage build scripts. Instead, it does away with them altogether. Even though builds can be complex because they have many source modules and library dependencies, a limited number of methods used by compilers to turn source code into binaries remain. Openmake exploits its knowledge of limited build methods, using it to understand how builds occur so that it can automate them. This component of Openmake is called Openmake Knowledge Base, and it contains Build Types, Build Rules, and Command Scripts that can be reused by multiple applications.

In Openmake, you have a tool that eases the building process and makes the entire development process more productive. Ragan said, "Openmake is especially useful for larger teams. It seems that when a team is more than 10 developers, building software is too complex to do in an ad hoc way." In many cases, smaller teams have better communications, or building can be put into the hands of a single engineer. With larger teams and more complex projects, strategies that do not depend on a well-defined process will invariably fail.

Today, Openmake is a mature product that performs its job well. The focus of the company has been to make Openmake a more integral part of larger application life-cycle management (ALM) solutions. To meet this goal, Catalyst Systems is active in the Eclipse Foundation and part of the members group that is working on Eclipse's Application Lifecycle Framework (ALF) project. Openmake also integrates directly into the Eclipse IDE, enabling Eclipse developers to more easily engage in build activities.

ALF provides a Web services interface for tools in the application life cycle, allowing development teams to adopt Openmake and integrate it as a part of an Eclipse tool chain. Because Web services interfaces were used, you don't need to change the interface at any point in time, making it the preferred method of integration.

But Ragan said that ALF is perhaps three years away from having an impact in software development processes. As a result, Catalyst Systems is also building direct connections with popular ALM tools, such as source code control and requirements management products. Direct connections can be fragile as software is upgraded, so the company hopes to make these connections an integral part of their partners offerings. If its partners can be persuaded to maintain the integrity of the connections, then Catalyst Systems has a significant testing burden off its shoulders.

Branding Openmake
With a well-known brand name like Openmake, why was the company named Catalyst Systems? Ragan explained, "We also have a Web address for Catalyst Systems. It redirects to the Openmake site. It's a discussion we have been having for some time. We are concerned about tying the company name to just one product; what happens if we build another product?"

Because of the heavy use of resellers and OEMs, Ragan explained, many users identified with the Openmake product, but not the company itself. So Catalyst Systems focused on making the product brand recognizable and supporting the brand—but perhaps at the expense of the company's image.

As a result, one of Catalyst Systems' goals for the future is to increase its ability to execute direct sales. While the OEM partnerships have served the company well, integration with other application life-cycle tools might enable it to succeed on the strength of its value to the development process. Ultimately, Catalyst Systems might be able to leverage the strength of its product brand into a name for the company itself.


Catalyst Systems Corporation
213 W. Institute Place, #404
Chicago, IL 60610
http://www.openmake.com

About the Author

Peter Varhol is the executive editor, reviews of Redmond magazine and has more than 20 years of experience as a software developer, software product manager and technology writer. He has graduate degrees in computer science and mathematics, and has taught both subjects at the university level.

comments powered by Disqus

Featured

  • Full Stack Hands-On Development with .NET

    In the fast-paced realm of modern software development, proficiency across a full stack of technologies is not just beneficial, it's essential. Microsoft has an entire stack of open source development components in its .NET platform (formerly known as .NET Core) that can be used to build an end-to-end set of applications.

  • .NET-Centric Uno Platform Debuts 'Single Project' for 9 Targets

    "We've reduced the complexity of project files and eliminated the need for explicit NuGet package references, separate project libraries, or 'shared' projects."

  • Creating Reactive Applications in .NET

    In modern applications, data is being retrieved in asynchronous, real-time streams, as traditional pull requests where the clients asks for data from the server are becoming a thing of the past.

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

Subscribe on YouTube