CTO Fraction

A group of people gathered in a conference room for software development status updates.

Ditch the Software Status Updates, Let the Work Speak for Itself

Software development status updates are commonly adopted in software companies. While this can happen in various forms, at its core, it involves one or more people informing others about what has been accomplished and what is still pending on a particular software project. However, I would argue that there are better ways for everyone to keep up with engineering progress, and this article aims to explain them.

Status Updates Can Be Wasteful

Software development status updates are usually needed because of one or a combination of reasons. Sometimes, the work itself is invisible, and no one outside the team understands the progress. Other times, the work is visible but poorly organized, making it challenging to comprehend. In some cases, stakeholders don’t want or have time to use the available tools that provide status updates.

Whatever the reason, there are ways to automate the status update process, reducing the need for manual and time-consuming updates. Instead of holding regular status meetings, time and effort can be saved by making the work visible with appropriate dashboards, which communicate status.

Status update meetings can be like asking someone to pop the hood and manually check the engine oil level, instead of looking at the Oil Pressure Warning Light on the dashboard.
A dashboard of a car with low oil pressure, indicating an analogy for getting software development status updates.

Software Development Status Updates Can Be Subjective

When someone provides a status update, whether their own or the team’s, subjectivity is inevitable. Most people are familiar with the “telephone game” that demonstrates how easily information can become distorted through indirect communication. Often, the final version of the message is amusingly different from the original, illustrating how small inaccuracies in communication can lead to a significantly altered understanding as the message is relayed from person to person. This effect can to a degree impact status updates as well.communication. Similar distortions can occur with status updates.

Additionally, a status update is typically an abstraction of the truth. Because it’s not a direct look at the truth itself, it’s someone else’s representation of it. Take this example: if I ask a software engineer to tell me how far along they are on building a particular UI screen, I’ll get an understanding, but it will be an abstraction of the real thing, as represented by the words of the engineer. On the other hand, if I ask that person to run the app and navigate to that exact same screen, I’ll see for myself what has been built and what’s still missing. There will be no abstraction between me and the truth.

Software Development Status Updates Take Time

A status update is usually prepared by one or more people. Many times, the person giving the status isn’t the one doing the work. In those cases, they have to first spend time with the people doing the work and get an understanding from them. The second step is to take what they heard and translate it into a digestible format – email, slide deck, document, etc. Often, there’s a third step, to schedule and hold a meeting where the information is presented to one or more stakeholders.

All of these steps take time to prepare and then deliver the information. Additionally, it takes time from all the attendees, who usually don’t need yet another meeting in their schedule.

Status Updates Can Be Static & Outdated Soon After

Whenever a person is giving a status update of software engineering work, it is usually a snapshot of the status at a particular time. Soon after the update is over it becomes outdated and a new one needs to be prepared in the near future. Therefore, not only time was spent gathering,preparing, and delivering the update, but its life span is short, making the effort a small return on investment.

Need a Fractional CTO to help?

Software development and project management can be overwhelming, especially without the right leadership and tools. As a Fractional CTO, I specialize in streamlining engineering processes and enhancing productivity for tech startups and small software companies. I help firms like yours transform their approach, making project statuses clear and actionable without the constant need for updates.

Ready to optimize your Engineering operations? Let’s discuss how I can support your goals.

A Better Approach to Software Development Status Updates: Let the Work Speak for Itself

Instead of the traditional method of requesting and receiving software development updates, it is far more efficient to let the work speak for itself. Here are some practical ways to achieve this.

In software development, unlike visible physical construction, work often remains unseen, making visibility critical for effective project management and oversight. Making engineering work visible, therefore, is essential, offering improved alignment, transparency, focus on priorities, oversight, and reduced need for constant status updates. Using a project management tool, which reflects (in near real time) everything that the engineering team is working on will drastically reduce the need for status updates. The idea here is that anyone should be able to get on-demand status updates in a self-serving fashion. Sure, questions will arise but that is what the next section is dedicated to.

Conducting real demos is another effective method for stakeholders to gauge the status of a software project. However, it’s important to note that not all tasks are equally demonstrable. For instance, if an engineer has devoted time to developing a deployment pipeline or configuring a test environment, it might be difficult to present this in a demo effectively. Despite these challenges, demonstrating progress through UI functionality is straightforward and serves as an excellent way to showcase project status.

Replace Status Update Meetings With Problem-Solving Sessions

Weekly status meetings are a common fixture in software companies. Typically, these meetings feature some sort of visual aid—be it a slide deck, diagram, or chart—to communicate project status. However, creating these visuals requires both time and effort, and additional time is consumed during the meeting to review them. Usually, these presentations are followed by a Q&A session and the identification of issues that need resolution.

I recommend establishing mechanisms that enable anyone to access self-service status updates as needed, allowing meetings to be dedicated to problem-solving. This approach allows each participant to review the project status independently prior to the meeting. Consequently, they arrive prepared to engage in clarifying questions and collaborate on solving problems with their colleagues.

Adopting this method will allocate more time to resolving issues and advancing the project, enhancing productivity and focus during meetings.

Conclusion

In conclusion, software development status updates can be wasteful, subjective, and time-consuming. Instead of relying on manual updates, it’s more productive to let the work speak for itself. By using project management tools and real demos, stakeholders can get on-demand status updates in a self-serving fashion. By replacing status update meetings with problem-solving ones, teams can focus on resolving issues and moving the project forward. By adopting this approach, teams can reduce the need for constant status updates and increase their overall productivity.