Metrics, reports, KPIs, and the stuff developers must provide to executives

In September of 2007, I joined Headspring as the CTO.  Now I serve as President and Chief Operating Officer.  When I joined, there were 4 other employees including the original founder serving as CEO.  He founded the company in 2001.  It has always been professional services, but the strategy has changed a few times over the years.  I started my career as a developer in the mid nineties, and now I’m an executive with lots of great developers that I support.  Like most, our company runs on metrics.  As a manager, I understand their worth.  Earlier in my career, I had no idea.

Every day, I glance at our operational dashboard.  While I won’t share full screen-shots yet, I want to share some of the graphs I use every day to ensure the company is doing well.  Consider this graph.

Time allocation BI chart

 

“BD” stands for “big dial”.  We have 3 big dials we glance at every day.  If we don’t like what we see, we have some “smaller dials” we can look at.  We use the analogy of a plane cockpit. There are a few things pilots always glance at, and then there are smaller, more detailed ones that are consulted as the need arises.

This graph shows us our utilization breakdown in the categories that are relevant.  Here are the categories:

  • Personal Time: holidays, vacations, dentist appts, etc.
  • Assigned Time: Department meetings, 1×1’s, stand-up meetings, etc
  • Bench Time: Time without available project work (doesn’t show because it’s zero)
  • Other Time: Unplanned unproductive time, such as having a flat tire on the way to work
  • Sales Time: Mostly used by the sales department: work to acquire a client
  • Billed Time: self-explanatory
  • Unbilled Time: Working for a client, but not charging
  • CI Time: Continuous Improvement time:  We expect that our people are working to improve.
  • Client Time:  sum of billed and unbilled time.

You will notice the big dip during the week of 4/7.  We had our Q1 quarterly off-site during that week.  We spent 12% of that week to use as a fun off-site where the entire company toured Inner Space Cavern hundreds of feet under Georgetown.  It shows up on the dashboard because it affects the performance of the company.  As an executive team, we decided it was a good investment in the future productivity of our staff.

You might have also noticed that 4/7 was a Thursday in 2011.  How can it be the week of 4/7?  We use the concept of “moving weeks” instead of calendar weeks.  We used to use calendar weeks, but the last data point of the graph was always skewed because it didn’t represent a full data point until people logged their time for Friday.  By taking data from a moving week, when I look at the data on Thursday, it pulls data from the previous Thursday through this Wednesday (yesterday).  That way, every point on the graph represents exactly the same size of a data point.  We do the same for months, quarters and years.

There is a big problem with pull metrics by calendar month (for 2011):

  • January has 21 business days
  • February has 20 business days
  • March has 23 business days
  • April has 21 business days
  • May has 22 business days

You can see how using calendar months can wreak havoc on the comparability of month metrics.  We expect larger months to pose better numbers than the smaller months.  On the financial side, we have to accrue the payroll appropriately as well in order to keep net income from becoming skewed.

To deal with this, we use the concept of a moving month.  There are 13 moving months in a year.  Each moving month is a 28-day time period from yesterday to 28 days before yesterday.  In this way, every data point will be exactly the same size as the other.  There are also 4, 13-week moving quarters in a year.  The following graph is our 2nd big dial shown by moving month.

CropperCapture[28]

Before moving to moving months, the calendar month line was consistently misrepresented by the larger months.  Where the line moves, we need to know why.  We made the switch so that every curve of the line was meaningful.  We didn’t want our data communicating falsehoods or April-fools jokes.  You think I’m kidding, but April always looks bad coming straight out of March, which boasts 2 more full business days.  In professional services, a business day accounts for a significant amount of revenue.

Using Big Dial 1 and Big Dial 2, we can keep the ship on the right course.  As long as our staff is billing a consistently high percentage: we shoot for 78-79%, and our hourly margins are high enough to account for our unbillable staff (sales, marketing, corporate) and our fixed costs (facilities, supplies, etc.), our company will remain healthy.

These dials are tactical, not strategic.  The next dial is strategic.

CropperCapture[31]

This gives us a view into the structure of our company.  We have hired at least 7 new employees since November, 2011.  With that, it’s important to keep tabs on how we are changing the structure of our company.  When we hired Chris Missal for the operations department, we expanded billable staff.  When we hired Mary Chauvin for marketing, we increased non-billable staff.  Keeping the right balance is important.

You can see that our % of Operations staff to the rest has dipped a little bit over the last 7 months.  We have done that while growing, and we are re-leveling the organization now.  To level out the organization, we need to add about five more people to the Operations department.  This graph, while very high level, gives critical insight into how the other two graphs affect our income statement.

Using these three charts together, I have a very good sense of what I need to do to improve the financial performance of the company.  Right now:

  1. I need to hire 5 more great .Net developers
  2. I need to keep Client Time at the level of Operations % plus Contractor % (since both types bill)

I hope that this helps some developers understand how different types of reports can give answers and perspective to managers.  If a picture is worth a thousand words, shouldn’t more of our reports be pictures?

Comments

  1. Alper says:

    Hi Jeffrey,

    Thanks for sharing.

    I can’t see the week of 4/7 in the BD1 chart.

    Also, if “Other Time” is Unplanned unproductive time, why not call it “Unplanned unproductive time” ? :)

  2. “…developers that I support.” Well said, sir. “Anyone who wants to be first must be the very last, and the servant of all.”

  3. Madelin says:

    Jeffery-
    This is EXCELLENT! Thanks for sharing.

  4. pip010 says:

    Yap NO problem. I can do even fancier power-point. However, do you want me to focus on the code-base or on pretty pictures for executives?

    Ladies and Gents,
    fore-mention is one of the reasons why in house software development spits crap all over :(

Speak Your Mind

*