Planning work is usually a very heated topic with no universally
correct answer. I’ll try to expand on the concept of
planning that I have been using for the last few months and why I think they
make planning for any engineering team much more manageable.
Why do we plan?
As an engineering team grows from 2-3 to 5, then ten slowly creeps into 50 engineers, keeping on top of planning ensures that the right work gets done at the right time. How one would plan for five versus how one does that for an organisation of 50 is wildly different given the sheer volume of initiatives, but we can use high-level concepts to guide planning for any team size.
In this short article, I will talk about three concepts that I think are key to ensuring the right work gets done and that we provide enough structure for our engineers to focus and get hard things done:
- Value Slicing
- Blocks: which represent six weeks increments
- Timings in the form of
Value Slicing represents the concept of taking a larger initiative, for
example, a feature which might take 18 weeks to launch and identifying the
slices of that feature which would deliver value. The focus of this first
concept is to ensure that we are constantly building the smallest increment possible
and getting that in front of our customers (be it internal or external) so
we can receive feedback and iterate.
By working on
Value Slices, we are protecting ourselves from scope creep.
Having well-defined slices is a sure way of delivering value more often than if
we let ourselves be driven by seeking the perfect or finished feature.
Blocks: 6-week increments
Pairing the idea of Value Slicing with the concept of a
block: a continuous
6-week period in which the team sets out to deliver several epics
(initiatives) where each epic represents a
Value Slice. During the six weeks,
the team might deliver multiple
Value Slices of a single feature - that’s
The epics committed as part of the block should be fully scoped out -
as much as possible. There will always be follow-up questions, but the goal
is to limit the unknowns. There is an exception here: we can have an
epic for scoping out a new feature: writing the design document,
and working with the Product team to plan the
The block aims to:
- Commit to goals that are achievable in 6 weeks
- Reduce the external distractions and blockers during those six weeks
- Allow engineers to have focused time.
Now, Next, Later
Everyone has gone through some pretty challenging quarterly planning, and even
more, people have gone through quarterly plans that change halfway through the
quarter. Most businesses are forcing quarterly planning but have values
Be agile etc. Those things almost always contradict each
other and end up with a lot of throw-away work.
The idea of the
Later is to reduce some of that planning
burden. Each of these will be represented by blocks (the 6-week increments):
so we will have a
Now block which spans six weeks, followed by the
block, followed by the
For the epics in the
Now block - the team has strong commitments to
complete them in the current 6-week block - those items represent the team’s
top priority. The items in the
Now block should be in a position where they
can be communicated to clients as features that are expected to launch. There
will always be incidents and unexpected side effects of the work - so we
need to ensure there is enough slack in the plan to allow for these. And if we
are done before the end of the block, we can start chipping away at items that
Next block represents work that is likely to be done in the following
block, but its priority might be shuffled around, and due to capacity, not all
of the items might make it into the new
Now block. The work in the
block can be in the process of being scoped out, but it should be ready to be
picked up (i.e., fully scoped out) by the start of the next
Now block. If
these features get communicated externally, keep in mind that there is no
Later block represents work that is on the team’s radar and has to
undergo further refinement - either from a technical or product PoV. This allows
the team to take on feature requests from clients, and keep a
work from which to pick tasks for the future
Reducing the amount of work that has to be planned from an entire quarter to just the next six weeks vastly reduces the overhead associated with planning. It allows for a high level of flexibility that most growing companies require. However, by still committing to deliverables every six weeks, there is clear visibility of what the team is achieving and providing backing for any Sales commitments that we might have.