With all the attention paid to the various ways of managing software development, one would think a product that quantifies
and displays the progress of projects, teams, and individual developers would be a common tool.

Enerjy CQ2 v.1.1
Enerjy Software, enerjy.com
|
Very Good 8.0 |
 |
| criteria |
score |
weight |
| Ease-of-use |
9 |
30% |
 |
| Features |
8 |
30% |
 |
| Integration |
7 |
20% |
 |
| Performance |
7 |
10% |
 |
| Value |
8 |
10% |
 |
|
 |
Cost: Starts at $30,000 for 10 developers
Platforms: Java running on Windows, Linux, Solaris (SPARC)
Bottom Line: Enerjy CQ2 creates a management dashboard for software-development projects. It abstracts data on productivity and code quality
from a site’s SCM utilities and from other development tools. The dashboard is easy to navigate and supports deep drill down,
but the product favors Java projects and could face scalability issues on large teams.
|
 |
About our Reviews and Scoring Methodology
|
|
|
|
Alas, this is not so. Until the release of Enerjy CQ2 earlier this year, no commercial package filled this role, although
point products in suites from Microsoft and Rational are edging into this area. So it was with great interest that I loaded
up Enerjy CQ2 for a review.
The product hooks into a site’s development infrastructure to derive metrics about project status and developer progress.
It then presents everything in an elegant, dashboard-style interface. I was impressed with the clever nature of this solution
— especially the clarity of the display and the ability to drill down fairly deeply. Nonetheless, Enerjy CQ2 v.1.1 had a few
rough edges resulting, I believe, from its comparative newness.
CQ2 monitors the contents of a site’s SCM (source-code management) systems, code coverage tools, and Enerjy’s own defect checker
to assemble an extensive database that reflects the exact status of a project over time. The easy-to-navigate dashboard allows
managers and project leaders to see the status of a given project, as well as the level of developer participation.
Enerjy CQ2 tracks developer changes to a code base via the site’s existing SCM package. It currently works with CVS, Subversion,
Perforce, and Accurev. It also hooks into defect-checking tools from Checkstyle and PMD and coverage tools from Clover and
Cobertura, and Enerjy is rapidly building connectors to other packages.
In the dashboard, you aggregate developers into teams and consolidate teams into projects. A manager can then compare the
productivity of a developer against others on the team or compare teams with one another.
Thanks to Enerjy’s history as a Java QA tools vendor, if your code base is written in Java, CQ2’s own code verifier will run
on the code. The verifier ships with 244 built-in rules that check problematic syntax and verify that code conforms to site
requirements for style, documentation, and the like. Sites can easily add their own rules or change the severity rating of
violations.
As Java code is checked in to the SCM, this verifier runs automatically and updates its database with defect counts for the
new code, as well as any modifications. (The supported defect checkers and coverage tools are all Java-oriented.) CQ2 ties
the defects to specific users to measure the quantity and quality of a developer’s work.
Although some developers will justifiably question whether counting lines of code is an effective measure of productivity,
few will argue that counting defects is a reasonable proxy for code quality. Using these key performance indicators, CQ2 tracks
how consistently developers check in clean code, how quickly they attend to defects, and how their defect rates compare with
those of their peers. On this point, CQ2 offers a ratio of defects per thousands of lines of code, aka KLOC, which enables
a consistent comparative basis.
CQ2 generates its ROI from two delivered benefits: tracking the forward progress of a project and ascertaining developer contribution
and quality. Given the expense of programmers today and the drag poor ones create on a team’s progress, Enerjy CQ2 can pay
for itself quickly with this diagnostic.
Drilling down to an individual developer’s numbers is as easy as clicking on the corresponding color-coded graph line. Should
you want to, you can keep going all the way down to a specific defect and even to the exact line in the code, where Enerjy
CQ2 displays the defect and the diagnostic message. This feature is particularly valuable for examining defects that are graded
severe.
The main displays use color-coded line graphs for each team of developers. But because developers often have similar statistics,
such as code coverage, it can be difficult to pick out a single record from the dashboard’s tight cluster of lines. This is
especially troublesome at sites with more than eight or nine developers on a team.
A second limitation is that developers can only be placed into one group — say, the UI team or the database team. If you want
to compare senior developers against one another or as a group vs. junior developers, you’re out of luck.
My final concern involves the database that holds the displayed data. CQ2 currently employs an embedded database, Apache Derby,
which is the right design. However, even small code bases generate substantial amounts of data, and it’s clear that large
projects would tax Derby excessively if many developers were checking in code. CQ2 does not currently ship with support for
external enterprise DBMS, although such a feature is in the works.
Enerjy CQ2 fills such an obvious need and is so simple to use, you’ll wonder how managers tracked progress and assessed productivity
before it came along. My few gripes — all relating to scalability — do not materialize until teams with more than a dozen
or so developers are involved. I expect greater scalability will appear in future releases, as will support for a greater
variety of tools to plug in to.
The heavy orientation toward Java might limit the product’s appeal. But if your site relies on Java and has small developer
teams, and you need better oversight of projects and developers, Enerjy CQ2 is a must-have.