I recently prepared an experience report which included some graphs illustrating key points about the engagement’s progress and history. I’ve been asked about how to generate these kinds of graphs, so here are some pointers!
Tracker velocity chart
This kind of graph is easy to generate using Pivotal Tracker, by clicking the “Charts” option in the left hand side menu.
There is one trick, which is that by default, the chart will only show the past 12 weeks of history. If you want to show more than that, you have to open the “Done” tab. At the top, you will see a small message that reads “Displaying last X iterations. Display all.” If you click on that link, it will load your entire project history into the browser. Then when you go to the “Charts” tab, it should show you charts that include the whole project, not just the last few weeks.
Lines of code chart
To generate this, I used the Perl Count Lines Of Code tool. I used git to check out a snapshot of the code from each week of the engagement, and ran the CLOC tool for each week. I then imported the numbers I got into a google spreadsheet to make the chart.
One thing to watch out for: when running CLOC, make sure you tell it to exclude things like external libraries and build artifacts so that your numbers only reflect true lines of source code that the team wrote.
Jenkins test history
In Jenkins, you can view a chart of build times and status by clicking the “trend” link in the “Build History” box for a project.
This built-in chart is not very customizable, as far as I can tell. There are a number of other Jenkins plugins available for creating different kinds of charts and graphs, but I haven’t used them. If anybody has recommendations for a better graphing tool for Jenkins, I would love to hear about it!