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.
31MARCH, 2021 by Ukpai UgochiSo, As the leader of a DevOps or agile team at a rising software company, how do you ensure that users' sensitive information is properly secured? Users are on the internet on a daily basis for communication, business, and so on. While...
24MARCH, 2021 by Taurai MutimutemaKnowledge is more important than ever in businesses of all types. Each time an engineer makes a decision, the quality of outcomes (always) hangs on how current and thorough the data that brought about their knowledge is. This...
15MARCH, 2021 by Carlos SchultsIn today’s post, we’ll answer what looks like a simple question: what is data fabrication in TDM? That’s such an unimposing question, but it contains a lot for us to unpack. What is TDM to begin with? Isn’t data fabrication a bad thing?...
19 FFEBRUARY, 2021 by Carlos Schults "You can't improve what you don't measure." I'm sure you're familiar with at least some variation of this phrase. The saying, often attributed to Peter Drucker, speaks to the importance of metrics as fundamental tools to enrich and...
08 FEBRUARY, 2021 by Zulaikha Greer Data is the word of the 21st century. The demand for data analysis skills has skyrocketed in the past decade. There exists an abundance of data, mostly unstructured, paired with a lack of skilled professionals and effective tools to...
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...