Enerjy CQ2 quantifies development project progress
CQ2 tracks development team trouble spots, productivity via metrics analysis
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.
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.