What is and why have a Release Calendar?
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.
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.
04 JANUARY, 2021 by Ukpai Ugochi Have you ever wondered what would happen if you mistakenly added bugs to your codes and shipped them to users? For instance, let's say an IT firm has its primary work tree on GitHub, and a team member pushes codes with bugs to the...
07 DECEMBER 2020 by Daniel de Oliveira In today’s application-based world, companies are releasing more applications than ever before. Software delivery life cycles are becoming more complicated. As a result, large companies require hundreds and even thousands of test...
19 NOVEMBER, 2020 by Michiel Mulders What Makes a Good Test Data Manager? Have you implemented test data management at your organization? It will surely benefit you if your organization processes critical or sensitive business data. The importance of test data is...
22 October, 2020 by Louay Hazami Data privacy is one of the most pressing issues in the new digital era. Data holds so much value for normal internet users and for all types of companies that are looking to capitalize on this new resource. To keep data anonymous and...
18 SEPTEMBER 2020 by Arnab Chowdhury Every aspect of our daily lives involves the usage of data. Be it our social media, banking account, or even while using an e-commerce site, we use data everywhere. This data may range from our names and contact information to our...
09 SEPTEMBER, 2020 by Michiel Mulders Do you want your company to scale efficiently? Look for an enterprise release manager (ERM). An ERM protects and manages the movements of releases in multiple environments. This includes build, test, and production environments....