In our last post we talked about communication and why we think it's important for our projects to be successful. But what are we really talking about?
At its core, a status update should be answering these 3 questions to be effective:
In most of our projects we do a relaxed version of scrum. That is, we try to keep bureaucracy to its bare minimum. But something that we must do are daily standups. Daily standups are usually a meeting, but there are some cases where the client prefers async communication, so daily standups become text updates. In any case, these 3 questions are a must-answer.
It's the most important question to answer, as it will shape what I'm doing today and if I have any blockers. The answer to this question is important because it will help tracking progress and re-calibrating expectations.
One should tell the rest of the team what task (or tasks) was working on and what is exactly its current status. Normally, one would tell the generalities of the task (I'm working on ticket #5, which is about X feature), and then telling the specifics (I'm looking at this model, working on this view, etc).
Being verbose will help the rest of the team to adjust their expectations on your work but also it will help one getting help from someone that knows how to solve a specific problem.
This question focus the near future, it's about micro-planning, about what you are going to work on the rest of your day (until the next daily meeting).
It's important to be precise and clear about the plan because it's useful for the product owner to adjust expectations, and it's also a good way to remind ourselves of what we were doing before the weekend and where we need to continue. If the next steps are not clear, then we have a problem we need to deal with as soon as possible.
It's the most important question to answer from the productivity and objectives perspective. If one is blocked by other people's work, or if there are any dependencies, or if there's missing (or unknown) information on a specific task, we should raise a concern and give visibility to the situation in order to prevent it from becoming a problem.
One should be clear on what is blocking or what is going to block in the near future in order to prevent such blockers before they become a problem.
Status updates are important to be transparent about the process, to adjust expectations, to detect and inform issues and organize the team. It's about tracking progress. It's not about control. It's about collaboration.
Frequent status updates are the best way to help the team (dev team + customer) to be successful.
The best status update is verbose, explicit. Detailed enough to give good information about our current situation but not extremely detailed to deviate from daily standups objectives. It also helps, being verbose and explicit by nature, to adjust expectations and detect issues. This will lead to organizing the team, sometimes, implicitly.