Fact-based project tracking

Written By:
Published:
Content Copyright © 2013 Bloor. All Rights Reserved.
Also posted on: The Norfolk Punt

Perforce always sold a product that did just one thing – configuration management – but did it very well. However, that’s a wide scope – almost everything needs configuration management, documents, artifacts in games, hardware designs and so on. As Perforce says, “versioning everywhere”.

Which means that the configuration management repository holds a lot of information that can be exploited for the management of process – and, in particular, the software development process. Perforce has now announced “Perforce Insights” which provides metrics well beyond those from the usual project management tools: file changes, top contributors, cross-project statistics and deep-dive statistics. According to Perforce, “Insights gathers previously unavailable metrics and presents them in ways that are meaningful to developers, team leads, QA and release managers”. Marketing director Mark Warren says: “we worked side by side with our customers to design a tool that reveals the data they need to truly understand their development processes and release cycles”. This is particularly useful for organisations adopting Continuous Delivery or DevOps, of course.

Most interesting to me is the the Perforce Stability Index, which documents the fact-based evolution of a project from start to finish. It analyses the Raise and Fix rates for bugs, the amount of code that is changing in a project, and the amount of code that changes repeatedly. This (I think) gives teams a real handle on the quality of code and should help teams predict release times and required support levels – although that may involve some cultural change in less mature companies, where the estimated delivery time is whatever the boss wants, and any delivery problems are addressed by the sacrifice of testing!

As resources become constrained, there’s a premium on good management of limited resources and fact-based estimation and project tracking becomes essential. Perforce Insights is part of the solution and is accessible to management via a stand-alone server dashboard, which provides performance metrics for the Perforce versioning service overall. You could imagine managers using project profiles (with the usual caveats around misuse and gaming of metrics) as an predictor of success – “if our last project worked and looked like this at this stage, then the current project has a good chance of succeeding too…”.

Insights is being presented as an SCM (Software Configuration Management) tool; but I’d have thought it could be useful, perhaps with a bit of work on the terminology, for managing any configuration management process.

Insights is free for all Perforce users, including those on the complimentary 20-user/20-workspace program, Perforce 20/20.

Insights is just one of a whole range of Perforce innovations – I was interested to hear from Mark Warren that its repositories are becoming seen as a governance or archive resource – Perforce repositories have been used in legal cases resolving possible IP rights infringements. This, of course also raises privacy implications – and not just that your archives may contain information that you no longer need to keep (in which case it is a bit of a hostage to fortune). Germany, in particular, is big on ‘inference from metadata’ as a privacy issue and Perforce has provisions for hiding reports that maight enable this.

There is a general principle in records management that records should be kept securely, but only for as long as you are legally obliged to (or you have a specific use for them); otherwise you risk lawyers looking through them, at lawyers’ day rates, if you are ever involved in a dispute, which will be expensive even if you have nothing to hide. Perforce has (after much soul-searching) provided an “Obliterate” command for some years, added at customer request. I think this is a necessity (just think of the possibility of something like a “right to be forgotten” in data privacy law, if you apply configuration management to content, although the EU court has recently vetoed this at Google’s behest, in its case at least) but it should be used with great caution. Powerful tools always need to be in the hands of mature organisations, of course.