For a while now, I’ve tracked my time-to-first-commit on each new client project. i.e. how long is the time gap between starting on the project, and making my first meaningful commit to the code base?

Over the years, this number has varied from a few hours to several weeks. And with almost 100% correlation, the shorter that time gap, the happier I’ve been over the long term as a developer on that project.

As a heuristic, it’s an indicator for several things:

  • How well-organized is the code base?
  • How bureaucratic is the organization?
  • How supportive is your team?
  • How much confidence do we have in our test suite?
  • How mature is the CI process?
  • How is the developer environment?
  • etc. etc.

I’m still trying to figure out if this is an actionable and valuable metric. Would pursuing a set of actions to reduce that number result in a better project outcome?

What do you think?

Further reading: