Team Health Dashboard

In Project Management, Software Development, Software Engineering by Prabhu Missier

Over the years I’ve come up with innovations which have changed the way my team and I have worked and have had a positive impact on the larger organization. In the lines to follow I give an overview of one such innovation which I invented to manage and improve the health of my team which in turn improved their effectiveness and efficiency as a team – the Team Health Dashboard

The concept of team health
Having managed different types of teams working across various domains in organizations large and small has given me a unique perspective about the common factor which has the greatest influence on the success or failure of a project: the health of a team.
Taking the analogy of the human body, if all the organs in a body are healthy then the body is healthy. In a similar fashion if the constituents of a team – the team members – are healthy then we have a healthy team. Team Health takes into consideration not just the physical and mental wellbeing of a team member but also the effectiveness, impact, competency and efficiency of every individual team member. There can be no doubt that a team scoring high on team health is going to be a high performing team making significant contributions to the organization.

What ails teams?
Most employees are highly motivated on their first day at the organization and over a period of time, their motivation levels could fluctuate and if not managed properly could result in low performance or in the worst case voluntary departure or termination from the organization. Disengagement, disillusionment and demotivation could be due to various reasons some of them being a lack of awareness about one’s objectives or the team’s objectives or the organization’s strategic goals, a lack of awareness about one’s impact in the organization or impact on the customer, working in silos, lack of team bonding, lack of technical knowhow, lack of the right tools to do the job and several more.
These problems could affect one team member and slowly spread across the team and if left unchecked could develop into an insidious problem which affects the whole organization. In other words an unhealthy team member could lead to an unhealthy team and eventually make the entire organization unhealthy.

The team health dashboard
An approach to this problem has to include a way to closely collect and monitor the team health against certain metrics, provide reports on every metric, provide an overall report and also provide an easily digestible indicator of the overall team health.
The Team Health Dashboard is a tool which I invented to do all of the above. Each team member in the team is asked to provide fine grained information against each metric which is then collated for the entire team to provide an overall view of a team’s health.
I projected the overall results of this dashboard on a highly visible screen to all my team members using a traffic light indicator where GREEN meant the team was healthy, AMBER meant there were areas for improvement and RED meant the team was unhealthy.
I have used the team health dashboard idea in large organizations like IBM as well as startups and have got positive reviews about its effectiveness from my team, bosses and colleagues.

Metrics collected
The metrics collected differ depending on the role played by an employee in the organization as well as the prevailing situation in the team. Metrics collected would have to be revisited regularly and updated or added to in order to remain relevant. 
For example the following metrics could be monitored for a “Developer” in the team. This is a snapshot and not an exhaustive list.  Both quantifiable and qualitative metrics should be collected.

TEAM LEVEL OBJECTIVES
–    How many team objectives do you feel you have a direct impact on?
–    How many customer issues did you fix this sprint?

ORG OBJECTIVES
–    How many organization objectives are you aware of?
–    How many of the aforementioned objectives do you have a direct impact on?

TEAM COMMUNICATION
–    Do you know what your team members are working on?
–    How many team members did you help this sprint?
–    How many team members approached you this sprint?

TECHNICAL KNOWLEDGE
–    Do you have the required skills to perform your job for this sprint?
–    List the skills needed to perform your job for this sprint?
–    Have you developed any new skills doing your job this sprint?
–    List the new skills you have developed this sprint?

EFFICIENCY
–    How many bugs did you have before your code went into production this sprint
–    How many minutes did you spend writing test cases this sprint?
–    How many builds did you break this sprint?
–    How many hours did you work this sprint on customer related work?
–    How many story points did you complete this sprint?

Interpreting Metrics
To give an example of how I interpreted these metrics I could take the metric from the previous paragraph where a developer is asked to report:
–    How many bugs did you have before your code went into production this sprint
This metric indicates that the developer and QA tester are not collaborating on writing test cases and are probably working in silos which I corrected.
Metrics collected have to be viewed in the right context and this makes it imperative that only individuals having a clear picture of the inner workings, structure and role of a team be given access to these metrics.
For e.g. A developer who works part-time for 30 hours a week and being loaded only at 80% capacity might report 24 hours while a full time developer working 40 hours with the same loading might report 32 hours. If not viewed with contextual information these metrics could give the wrong picture.

Weighting metrics and calculating team health
Every metric is given a certain weight and every metric group also carries a certain weight.
Not all metrics can be given the same weightage and depending on the context of each team they could weigh metrics differently. The scale used could also be different for each team. The key thing to remember is that a team should use the same scale uniformly if it wants to compare its health over a period of time.

Using a combination of weights and metrics I arrived at an aggregate score which reflects the team health. 

So for e.g.

Team Health = (0.04(MetricGroup1) – 0.2(MetricGroup2)))*(0.5 * Metric30)/(0.75 * MetricGroup8)

A score of  
        0.1 to 0.5 – RED
       0.6 to 0.85 – YELLOW
       0.85 to 1   – GREEN

Remember that the formula for team health should be customized for your team.

Automating collection and digital displays
I initially started with collecting these metrics from each team member using spreadsheets and then upgraded it by writing a simple tool with a web front end which my team could access from a browser and use to make entries against each of the metrics.
Metrics had to be populated manually and over time some metrics like bug counts were pulled automatically from the CI/CD pipeline.
I initially started by presenting the dashboard during my weekly team meetings and then progressed to projecting the traffic light dashboard with some useful metrics highlighted on a large screen digital display which was visible to all my team members. 

Outcomes
The Team Health dashboard has got positive reviews from team members, other managers and bosses and has been adopted across organizations where I’ve worked.
It helped the teams I managed do a rigorous self- examination periodically, take corrective action and escalate issues before they became problems.
For me as a manager the Team Health Dashboard served as an automatic monitoring and early warning system which saved 50% of my time which would have been spent on meetings. It also helped me take strategic and tactical decisions with regards to my team and project. The overall efficiency and effectiveness of my team improved over time by 75% and I also noticed a 90% drop in employee turnover once the Team Health Dashboard was in place.

Conclusion
The Team Health Dashboard is a great tool applicable to most teams and can be effective in team management. It should be used wisely and should be used to complement traditional project and people management methods.