Much has and will continue to be written about our modern software development, delivery, and deployment culture and approaches. Debates on the best tools, methods, techniques, and practices for a given context and application will continue, as it should, in the pursuit of increasing the effectiveness and efficiency in delivering quality software.
Behind any good software engineering methodology are great team members. In our world of rapid innovation, advancing technology, and expanding complexity, it is our human capital, intellect, skills, capabilities, teamwork, professional interests, and passions that transform ideas into useful functionality for our end-users.
In my experience, though, the importance of the human element in delivering great code is sometimes overlooked, as is the relationship between team health and team performance. Just like our own physical health checks, team checkups are important.
Many things can impact the health of individuals and teams:
One of the best ways to take the pulse of the health of a team is to have a regular cadence for evaluating the dimensions of health that the team, the business, and leadership feel are important. Engaging all the key stakeholders in the design of team health measures is an important first step. Start by polling representatives from these groups on what they believe is critical to the success of determining team health measures.
I recommend using a “goal, question, metric” approach in designing these measures. First ask what the goal is, then specify questions that we need to answer to determine if we’re meeting our goal, and lastly define the metrics that help us answer the questions we’ve defined.
Here are some common team health dimensions to consider:
Once the goals, questions, and metrics are defined and agreed upon, establish a regular cadence for collecting the information, and share it widely. Use a simple scale to begin with, such as thumbs up, neutral, or thumbs down, and then refine your approach over time.
Focus on trends, not absolutes, so that you can understand directionally how you are trending and can take corrective actions where appropriate.