Git Analytics tools, such as Waydev and Code Climate, provide reports that enable engineering leaders to measure the velocity and work dynamics of their engineering teams.
Daily Update reports
At a high level, the Daily Update report provides a view across what happened in the code base the previous day. It is most commonly used in daily standups and can quickly help your team surface discussion around blockers in the code they are working in. The daily update report includes a breakdown of commit activity across our four work types: New Work, Legacy Refactoring, Help Others, and Churn.
This breakdown helps engineer’s surface more specific discussion around the work they achieved yesterday. If an individual realized that they had to do more replatforming than expected to deliver a new feature, this is a great natural way to communicate this to the team as a source of transparency and also to prompt the manager or scrum master to realign expectations with key stakeholders if a timeline feels like it needs to be pushed out an iteration or two.
Another dynamic that you can visualize in the Daily Update are potential blockers in the code. This is an incredibly fast way to showcase the changes themselves so they can quickly pull the team and identify the individual that has the bandwidth and domain knowledge to get them unblocked at 9:30 AM rather than spending all day trying to figure it out and burning almost a whole day of time that could have been allocated elsewhere.
This report allows you to streamline that process and provide your team with an effective medium to speak towards more granular blockers or curiosities in the code base that they would like to get their team’s input on. The actual format of this discussion can vary, but one of the most common formats has the Daily Update open throughout your standup and to follow the standard ‘Go around the circle’ structure, where each person in the room voices any blockers.
Now you can communicate to your team that they have another source of information at their fingertips to describe blockers in the code base solutions they are creating. Ideally, this report is used proactively by developers to bring up discussions and work with their peers to discuss ideas or collaborate on solutions to pressing problems with easy access to all the codebase work that happened yesterday in an easily digestible format and they should feel welcomed past more granular feedback from their peers.
For example, let’s say that an engineer (let’s call him Donald) was running into a blocker in the code. He might say to the group: ‘Here’s a solution. This might get us across the line, but we might have to revisit this just like a month later. I don’t feel super comfortable with it.’ Donald can actually click onto that commit that will redirect him over to the git host. Donald can point at the changes themselves and say: ‘Hey team, here’s the work. Here are the areas that I’m unsure of the best path forward. Has anyone worked in this area of code before? Does anyone have any domain knowledge here? I’d love to take a brief moment with you after this daily standup to get unblocked, rather than me chugging away at this for the next six hours until I figure it out.’
Drive productive discussions
This allows engineers to unblock themselves and feel comfortable in their solution in the morning right after the standup rather than trying to power through to finally find a solution by the end of the workday or later. For that developer, this can be a small commanding win when it occurs multiple times throughout a year. It’s a meaningful bonus to a team’s collaboration ability to ship even better solutions.
For example, if your team shows an uptick in Help Others that coincides with some new members joining the team, it can be helpful to know that they are spending more time on helping the new hires ramp up, and you’d likely see that taper off over time. If you see an uptick in Churn in the back half of a sprint, you might open that up for discussion, but the team. Did something change? Were the specs unclear? Visibility into these dynamics can help spark productive conversations, facilitating knowledge transfer, and knowing where you can best support the team.
Benefits of Daily Update reports
The goal with the daily update report is not for a manager to try and diagnose blockers on a daily basis as this is often too granular feedback from the manager. For most teams, this report is designed to provide your team with a quick, concise platform to communicate blockers at the code level that can easily be referenced and displayed so the team can support one another with solutions. Because few people feel comfortable enough to admit when they’re stuck, especially when they’re not quite sure if they’re actually stuck yet. The data and the daily update report can help create a positive cultural shift towards transparency. Meanwhile, it can also help you get a feel for how the team works and be able to identify when something’s off earlier before a team member gets stuck in a rut or before release is delayed.
Knowing how to incorporate these reports into your standups can help take the burden off your team to give you status updates consistently. It will help you identify where you can help earlier or know when there are broader systemic issues at hand. It’ll help you identify opportunities for coaching, cross-training, and praise, so you can consistently grow a healthy and high performing engineering team. It can also help you schedule a block of time on your calendar before each standup, so you can get in the habit of reviewing these reports before the meeting and having them open on your device and ready for discussion.