In-Depth
Enerjy Promotes Change in Software Development
To create quality code, development teams must continually collect and analyze data on their processes for writing and building applications.
by Peter Varhol
Change has characterized Enerjy Software and its business over the past several years. I met with Nigel Cheshire, CEO and founder of Enerjy, after he criticized an article of mine that appeared on FTPOnline, a sister site of Enterprise Systems. Cheshire misunderstood the point of my article, and referenced an article he wrote—"Change Is Good!"—that described, in some sense, the history and goals of the software development tools industry in which Enerjy competes.
Enerjy is a division of Teamstudio and based in Beverly, Massachusetts. Teamstudio, also founded by Cheshire, has helped development organizations improve their code quality and increase software integrity since 1996. Enerjy was originally started to take a leadership role in building developer-oriented quality tools for Java, a platform that Cheshire believed had significant potential for growth among the TeamStudio customer base. Today, TeamStudio focuses on quality solutions for both Java and Lotus Notes development, as well as bringing management visibility to the software development process.
Prior to founding Teamstudio, Cheshire was cofounder and principal of Ives & Company, a leading CRM solutions consultancy. Before Ives, he led a software engineering group within the R&D division of Data General Corp. and held development positions at several U.S. and European enterprises.
He pointed out that his work on minicomputers gave him an appreciation for code quality as the industry moved toward PCs. "If we had a bug in minicomputer software, it was a big deal," he said. "With PC software, customers were willing to accept buggy software for a lower price. But even low-priced software doesn't have to be buggy. For example, most open source software is of very high quality."
A Focus on Improving Code Quality
Based on the principle that inexpensive software can be reliable, Enerjy started in the developer tools business by producing performance, code coverage, and static source code analysis tools for Java. The company name, with the "j" replacing the "g" in the word "energy," signified its Java business focus. While a good business model, such as Enerjy's, might have made money from individual developer tools for a number of years, changes in frameworks and virtual machines have made these tools easy to produce and distribute. Companies and open source teams often provide them for free.
Today, Enerjy uses its Java developer tools as the basis for a more wide-ranging product, Enerjy CQ2. CQ2 includes software and services for installation in most Java development environments, as well as other platforms. Data is collected from existing build systems in software development organizations, and CQ2 captures key performance indicators (KPIs) using a version control system, static code analysis, unit testing, and code coverage analysis. CQ2 also takes data from other tools and analyze it, a function that sets it apart from its competitors. Additionally, this offering sets and triggers watermarks if a process or a specific metric exceeds a defined threshold.
"Parts of the legacy business, such as the profiler, became commoditized," explained Cheshire. "We now focus on the aggregation and analysis of data, with the ability to import and work with data from a variety of sources." He said that there is still value in developer tools, particular in static source code analysis and code coverage, “but automation is the focus of most development teams today." Being able to seamlessly integrate quality measures and data collection into existing processes is the primary way of achieving highly reliable applications.
A Cross-Platform Future
Despite its focus on Java, Enerjy is now growing beyond this specific platform to embrace a platform-neutral development environment. According to Cheshire, Enerjy's latest large partnership was with a hospital that was building almost entirely .NET applications. He said, "Other than our legacy Java tools, there is nothing about CQ2 that is platform-specific. We can work with any developer tool that can export its data into a commonly used format." Platform neutrality is an important consideration, since many enterprises use multiple platforms and often have development teams working with code in different languages.
Both Cheshire and his company have strong opinions on the use of metrics in measuring and controlling the development process. In describing the concept of descriptive metrics, Cheshire noted that the process of collecting and analyzing data is important, but it's still not clear what the outputs should be. Trying to apply manufacturing-style metrics to the software development process won't work. They are two different processes, and should be treated as such, he said. But Cheshire was quick to add this doesn't mean development teams shouldn't strive to apply some metrics and work hard to define these metrics and learn how to manage them. If you start measuring different characteristics of a software development process, then over time you will discover which metrics are most important.
Despite our introduction it became clear after our interview that Cheshire and I had similar views on the future of the software tools industry. The industry needs to measure and monitor the development process through the use of data and metrics. Given the costs of software development projects and their generally dismal record of success, smart enterprises track progress through data collection and analysis.
I believe this type of benchmarking is stressful to developers, who are likely to shun difficult coding challenges or adapt their work style to maximize data value rather than productivity. However, enterprise benchmarking is inevitable, and even desirable, and developers have to learn to come to grips with it.
Cheshire is more positive about outlook of developers and the role of data analysis and management through better visibility. "It's a crusade," he said. "More people are talking about software quality than ever. When we visit a customer, we find the person, usually a development manager, feels the most pain from having to meet demanding business schedules with high quality software. That person acts as our advocate in pushing for better ways to evaluate data and help make management more informed," Cheshire concluded.
With the need for reliability in applications growing amongst enterprises, Enerjy’s need to crusade for data collection and analysis to improve quality might not be necessary for very much longer.
Enerjy Software
900 Cummings Center, Suite 326T
Beverly, MA 01915
- - -
Peter Varhol is executive editor, reviews, for Redmond magazine.