What is and why have a Release Calendar?

13
JULY, 2020 by Eric Boersma
Every project manager in the world shares a similar stress. They’re working on something important, and a key stakeholder sticks their head around the corner. They ask a small, innocent question. “When are we going to release that feature?” It doesn’t seem like a big deal to the stakeholder. But to the project manager, that question is very complicated. Release dates are the result of juggling dozens of independent variables. What’s more, the stakeholder wants an update now. Perhaps the project manager can estimate, but they don’t want to give bad information. Maybe you’ve lived through this stress, or can relate to someone who has. If you have, you recognize the difficulty of communicating something complicated in a few short sentences. The information you need to convey doesn’t fit neatly into a paragraph, and you don’t want to mislead your stakeholder. However, you also recognize that they’re asking you for a reason. They need to know, so that they can make plans based on that information. It’s important that you provide information that’s both accurate and concise. In this post, we’ll talk about a tool that enables you to do just that for your stakeholders: a release calendar.  

What Is a Release Calendar?

A release calendar is a core part of the software release management pipeline. The release calendar is a tool which provides at-a-glance insight into when the team plans to release software changes. That “at-a-glance” part is very important. The goal of a release calendar is to help answer that stressful question from above. A stakeholder doesn’t need to ask the project manager when a feature will be done. They can glance at the release calendar, and know very quickly when to expect that new bit of work. Then, that stakeholder can plan their team’s work around that information. But the release calendar isn’t only valuable for the surface-level information it exposes. As we noted before, many features are complicated combinations of other, previous work. A well-organized release calendar catalogs and displays the requirements that go into a new feature. They make it easy for stakeholders to also tell what work needs to be finished before that new feature can ship. If the path leading up to the completion of that new feature is faltering or delicate, that’s also information which is quickly and easily shared. Finally, release calendars can be a useful tool for communication with customers. For example, The Events Calendar, a plugin for WordPress, uses a customer-facing release calendar to outline work that they’ve shipped. Their page is a useful tool for people who use that plugin to keep up to date on the work they’ve done. It also helps to explain things like how to read the patch notes they release. Their release calendar looks a little different from one that might be internal to an organization. But it still serves those same purposes: to display helpful information about release timing at a glance for people who need it.

Why Have a Release Calendar?

Release calendars come in a variety of shapes and sizes. They’re targeted to different audiences, but they can all provide similar benefits. In my software career, I’ve seen any number of organizations start using a release calendar. They have great intentions. Their plan is to keep that calendar up to date and keep people looking at it regularly. Things go well for a few weeks, then discipline starts to slip. Entropy takes over, and the release calendar falls to neglect. Eventually, it’s an artifact of a time when the organization was more optimistic. In my experience, these failures share a common cause: the organization didn’t understand the benefits the release calendar provided. If you’re thinking about adopting a release calendar, you should know the benefits it’ll bring. That way, when the going starts to get tough, you’ll retain motivation to stick with it. Eventually, the work of maintaining the release calendar becomes a habit. The benefits are ingrained into your organization.

Sharing Release Dates

This is the most obvious benefit of a release calendar, but it’s still a big one. We touched on it extensively above. An effective release calendar clearly outlines when software did ship, and when new software will ship. By doing the work to maintain the release calendar, it simplifies communication and planning processes.

Improving the Software Development Life Cycle

Once we move past the surface, I think we start to dive into the real value that a release calendar provides. Teams build release calendars on guesses, hopes and assumptions. It’s impossible to predict the future. Time proves those guesses, hopes, and assumptions wrong. And while it’s impossible to ever be perfect when we try to plan a project, we can learn from our own mistakes. Effectively estimating how long it will take to complete required work is a skill, and it can be developed. This is a place where release calendars are particularly potent. When we build a release calendar, we are codifying our assumptions about how work will proceed. We know that some of those assumptions will be wrong, but by stating them outright we make it easy to measure our accuracy. Then, once the project ships, we’re able to look back at those initial assumptions. We’ll find that redesigning the product home page wasn’t something we could do in four days. When that work instead takes two weeks, we’ll know that the shipping date is going to slip, too. However, we’ll have a very clear reason why that work wasn’t completed on time. Next time, when we need to do similar work, we’ll have that knowledge and will provide better estimates. Even in organizations which practice Scrum principles, release calendars provide terrific insight into the software development process. No matter how you organize your projects, release calendars provide valuable feedback that improves how you ship software.

Removing Organizational Impediments

Another common cause of releases missing their launch dates is organization inefficiency. If your team needs to run some language past the legal team, that’s something you can plan for and outline on the release calendar. When it takes three weeks instead of the four hours you’d budgeted for, that issue is clear to everyone who wants to know why the project launched late. The goal here isn’t to place blame, but instead to recognize where the project is going awry. By making visible where work is getting stuck in a log jam, the organization can easily divert resources to assist critical projects. The effects of these log jams are clearly visible to anyone who looks. Then, when work is done to improve those bottle necks, the results are also clear for everyone to see.

Don’t Let Your Release Calendar Become Outdated

The unspoken caveat to all these benefits is that release calendar upkeep is time-consuming. It requires that the organization works toward transparency and effective communication throughout the company. That’s challenging work. Even the best organizations struggle from time to time. And when releases slip, people will question the value of a release calendar. They’ll say that because it wasn’t accurate, it failed to live up to the promised benefits. When this happens, project managers need to effectively communicate the other benefits that release calendars provide. This post lays out some of those benefits, and it’s likely that there are other benefits specific to your organization. When you use an effective release calendar tool and you can communicate the value it brings you, those concerns are easily addressed.  Release calendars are about more than just showing when you’ll ship a feature. Helping your organization understand that is the key to building better projects and shipping them on time.
Eric Boersma This post was written by Eric Boersma. Eric is a software developer and development manager who’s done everything from IT security in pharmaceuticals to writing intelligence software for the US government to building international development teams for non-profits. He loves to talk about the things he’s learned along the way, and he enjoys listening to and learning from others as well.

Relevant Articles

Sand Castles and DevOps at Scale

03JUNE, 2022 by Niall Crawford & Carlos "Kami" Maldonado. Modified by Eric Goebelbecker.DevOps at scale is what we call the process of implementing DevOps culture at big, structured companies. Although the DevOps term was back in 2009, most organizations still...

Test Environment Management Explained

Test Environment Management Explained3JUNE, 2022 by Erik Dietrich, Ukpai Ugochi, and Jane Temov. Modified by Eric GoebelbeckerMost companies spend between 45%-55% of their IT budget on non-production activities like  Training, Development & Testing and lose 20-40%...

Serverless Computing for Dummies

3JUNE, 2022 by Eric GoebelbeckerWhat Is Serverless Computing? Serverless computing is a cloud architecture where you don’t have to worry about buying, building, provisioning, or maintaining servers. In return for structuring your code around their APIs, your cloud...

Test Environments – The Tracks for Agile Release Trains

25MAY, 2022 by Niall Crawford & Justin Reynolds. Modified by Eric Goebelbecker.So, you’ve decided to implement a Scaled Agile Framework (SAFe) and promote a continuous delivery pipeline by implementing “Agile Release Trains” (ART)*.  Definition: An Agile Release...

What Is Data Masking and How Do We Do It?

24MAY, 2022 by Michiel Mulders. Modified by Eric Goebelbecker.With the cost of data breaches increasing every year, there’s a need for higher security standards. According to IBM’s 2021 security report, the average total cost of a data breach has risen to $4.24...

Test Environments: Why You Need One and How to Set It Up

24MAY, 2022 by Keshav MalikWith the rise of agile development methodologies, the need to quickly test new features is more critical than ever. This is especially true for websites and applications that rely on real-time data and interaction. The only way to ensure...