Breaking down technical tasks with Atomic Planning

What is Atomic Planning?

  1. Better estimates — the mere process of atomic planning enables the engineers to align on the solution, evokes earlier discussions and gives the team a better understanding of the work they are estimating.
  2. Focussed iterations — splitting up the work allows multiple engineers to be focussed on the same feature at the same time. This reduces context switching and keeps team meetings focussed. Context switching can reduce productivity by up to 80% so it is crucial to try minimise this in your team’s work.
  3. Early value — delivering incremental improvements enables non-engineers to get a look and feel of the product. This opens up discussions and can address issues earlier on in the development cycle.
  4. Atomicity — Delivering smaller batches of work makes it easier to test and track changes in your code base, in other words, Atomic commits will help you git legit.

Atomic Planning Techniques

As engineers we are not taught project management skills and how to break down tasks. Luckily there are a range of techniques at our disposal for breaking down tasks in a manageable way.

  1. Split up the task into micro-behaviours

Communication

An important note is that atomic planning requires a high level of communication in your engineering team. You must identify what tasks are blockers and make someone accountable for delivering these early on in the feature implementation. Have an open conversation about what tickets each engineer is planning to work on and what a successful delivery will look like.

  • Which tasks can be worked on at the same time?
  • Who is available to pick up the first task?
  • If there are no tasks left: who needs help or what should we test?

Estimations

By nature, an atomic task is much easier for an engineer to understand what needs to be done and how long it will take. Whether you use estimates and story points to track your team’s velocity or not, they are a helpful tool in the process of Atomic Planning. They help achieve the following:

  1. Encourages technical discussions — Putting an estimate against a task will invoke discussions around differing engineer perspectives and uncover the true nature of the task
  2. Identify non-atomic items — If a team estimates a task to be large, it is usually an indicator that it is trying to achieve multiple outcomes. These non-atomic tasks will block your team and often contain unknowns that will lead an engineer down a rabbit hole. Break these down further.

But it is so much easier to submit multiple tasks in a single Pull Request….

A common argument I hear to Atomic Planning and Atomic Commits is that it is easier for an engineer to submit multiple tasks at the same time. The engineering ego usually comes into play and we underestimate how much work will actually be involved in performing the extra tasks.

Lack of Context

One of the real disadvantages of completing smaller tasks is that reviewing engineers do not get the whole picture. An engineer who is inspecting an atomic Pull Request will likely find incomplete features and strange behaviours. This can lead to assumptions and incorrect decisions.

Don’t get caught in the Planning Trap

It is important not to go crazy with your breakdowns. Studies have shown that it can take 15 minutes to enter the zone of Flow where you are most productive. When planning, do not break down every minute detail. It is healthy to enter a sprint with a bit of flexibility for the engineer to build on and adapt if needed.

Conclusion

As remote working increases it is important that we structure our work in a way that empowers engineers to focus and move at their own pace. Whether you are working on an isolated task or a feature with many engineers, Atomic Planning can provide you with a level of freedom to efficiently deliver an iteration with a high level of quality. Go forth and see how Atomic Planning can help your team.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Adam Hannigan

Adam Hannigan

Creator of Sunflower Land. Come help us build the future of Web3 gaming! https://github.com/sunflower-land/sunflower-land