Commitment

What tactics do you use as a technical leader to gain insight into the health of your organization? Your technology?

I follow the commit history and see what code is being committed throughout the week. I am looking for a variety of things that demonstrate behavior I want to see in my team. In some cases there are red flags to watch out for in the commit history.

What do I love to see? 

Developers making frequent commits of small changes that demonstrate the evolution of a story or a feature. I love to see a developer commit almost every day as they do work and get to a stable point in their code. When I see infrequent commits and big changes in a single commit, I am concerned that much is being done before sharing with the team. Is the developer taking on too much in a single change?

Proportional numbers of commits spread across the team. When everyone on the team is contributing the code commits will reflect the distribution. When I see one developer making dramatically more commits across time it raises a question if everyone on the team has equal opportunity to contribute. Why do some developers contribute more especially to some parts of the code base?

Traceability between the commits and the stories being prioritized for the sprint. However the team is tracking the work to be done (JIRA, Rally, etc) it will translate into commits. When I see commits not related to stories it raises questions of what is prioritizing that work. Is the process is working as intended?

Committing unit tests along with features. I love to see a developer building and committing unit tests alongside the new code. Sometimes developers convince themselves they will come back later and write unit tests in a time crunch. Committing code without unit tests leads me to think the unit tests will not get prioritized and the results of running the test suite are less meaningful.

Collaboration on commits and merges. If the team is using a tool like Github that enables code reviews prior to merging branches, I like to see good questions and answers in the review. Developers can demonstrate that they are helping one another contribute the best possible code. I hate to see a rubber stamp or superficial comments.

How do you keep the pulse on the health of your team? What do you look for in your commit history?