I was in an interesting round-table discussion with managers of different disciplines: accounting, marketing, etc. The topic was micro-managment — centered around a hypothetical CEO who was copy-editing his top marketing director’s work before it was completed. There’s lesson behind the story; was he micro-managing? If so, how? Was it appropriate? What would you do? Is it appropriate for marketing or accounting?
A CEO who micro-manages a marketing flyer gets exactly what he or she wants. It’s not productive nor a display of trust, but it “gets the job done” in the short-term.
A manager, at any level, can never successfully micro-manage software development. I’m not diminishing the value of marketing, accounting or any other difficult objectives or skilled people. Those who don’t have a software development background often do not understand, don’t want to understand or have misconceptions about software development.
I’ve seen a lot of business statistic graphs over the years and many of them are useless for communicating trends. Key Performance Indicators (KPIs) should be ubiquitous and understandable to everyone in a business.
Rules to follow
- Absolute numbers (e.g. page views per day, widgets sold per day) tell us how a business is doing.
- Ratios of X/unit tell us how systems are doing.
- Ratios of Units/Profit tell us how much they cost and bridge the gap between Biz metrics and Tech metrics.
- Simple KPIs with concrete units are easy understand. KPIs without well-understood units require too much explanation.
- KPI plots must have the actual units specified in the legends.
- KPI plots with the same numerator should be in the same graphic.
- Plot Y axies should be appropriately scaled and must have a 0-origin.
- The collection of the KPI data does not need to be exact, it must only be agreed upon.
- KPIs must be versioned; if a KPI collection method is changed, the KPI must have a new version.
The KPIs below are relatively easy to compute and simple enough for anyone to craft given access to basic operational data.
Assume we are selling Widgets, for each Application and collectively for all Applications, sampled for each day:
- W = number of new widgets sold
- P = total money in-flow – out-flow (gross profit)
- WP = projected new widgets gross profit (estimated)
Applications (internal and externally facing)
- P = page views
- PE = page errors
- PEP = PE / P = errors / pages
- PT = total page time
- PTP = PT / P = page time / pages
- PW = P / W = pages / new widget sold
- PTW = PT / W = page time / new widgets sold
- PTWP = PT / WP = page time / new widgets sold gross profit
Offline Processing – Batches
- B = batch items
- BE = batch item errors
- BEB = BE / B = errors / items
- BT = total batch item time
- BTB = BT / B = item time / item
- BTP = BT / P = item time / gross profit