Happy new year! Welcome 2021 and time for some reflection on 2020.
One of my conclusions is that December became a very stressful month. Like last year and the year before and the year before that. Why does it seem like every December is a hectic period of wrapping up critical deliveries?
Yearly business plans, budgets and personal development plans, naturally forces critical delivery dates. Deliveries needed to accomplish a certain goal. And given the yearly planning, 31st of December or 1st of January become popular delivery dates for new initiatives. But I also think that the annual calendar is a strong basic artefact for us, something tangible to organise work around.
Personally, I like to divide the year into the spring and autumn semester, like schools. It’s a reasonable planning horizon, not too long, not too short (or “lagom” as we say in Swedish), and usually followed by a holiday. And take the New Year Resolution: we can start new, good habits at any time really, but the new year marks a new chance or opportunity in an appetising way. It’s the closure of a chapter, starting of a new.
Often a date is simply picked to align with an overall plan or goal. It can be a best guess, a qualified forecast or maybe just wishful thinking.
Additionally, many large enterprises still have some kind of “freeze period”, up to a month when applications and infrastructure are not allowed to be touched, in order to keep a stable state during holidays.
All fixed dates aren’t necessarily a problem. However, they often are and especially when multiple fixed dates pile up in the same period. Also, once a date has been strongly communicated it becomes an anchor.
– Why are you late?
– We’re not late, the date was never agreed. It was just wishful thinking.
And here we have a potential conflict coming up, a conflict that can often be proactively avoided. So, how to deal with dates in the agile world? Here are some tactics to try, different approaches to pick from or combine, given the context.
Challenge the Date
Always start by investigating whether the given date is actually fixed. If so, what does it mean, is it really a “deadline”? Often the date is only someone’s wish. Sometimes dates come from a personal development plan or a business plan and haven’t been discussed or agreed on at all.
True fixed dates can, for instance, be compliance with new regulations, like GDPR (data protection) or 3DS (payment security). The large Christmas campaign probably also has a true fixed date. There can also be dependencies to third party products being unsupported or decommissioned. Nevertheless, always start here.
Also, clarify what the risks are of not meeting the date. Cost of delay can be a good technique to use. Maybe the impact of being late is acceptable? Ask!
Align priorities and focus
Having concluded that there is a fixed date to adhere to, there needs to be a clear priority and focus. This is not only for the development teams involved, but for everyone who must contribute to get the job done.
For large enterprises, going through a crisis can be a good thing in this aspect: a crisis makes everyone come together and focus on what really matters. This I have also observed before.
Define the MVP
With the delivery date fixed, the scope needs to be somewhat negotiable. This is a situation when working out the minimum viable product becomes applicable. Define what features are really needed for the first release, for the fixed date. Everything else can wait.
This is an excellent approach when trying out new ideas, products or features when we need early customer feedback. The date marks a start for customer collaboration rather than a specific set of deliveries.
Introduce good technical debt
In his technical debt quadrant, Martin Fowler defines a state where you prudently and deliberately introduce a technical debt because “We must ship now and deal with consequences”. This could be a good tactic to manage a fixed date, that is, taking a deliberate but never sloppy shortcut.
Don’t forget to plan for the effort needed for necessary improvements!
Make a smart release plan
Another way to meet a challenging date is to find a smart release plan that mitigates risk. Your options here depends of the nature of your product of course, these are examples from my domain:
- Start with a small market
- Start with a small percentage of customers
- Start with a less used scenario
The story then becomes “yes, we are live, just not completely” 🙂
Sense of urgency
Finally, used with care, dates can also be a good thing. Agreeing on an ambitious yet realistic date can create a positive sense of urgency. It’s a balancing act.
We are working on removing our freeze period. Maybe next December we won’t have it and pressure will be lower. Happy new year!