Achieve High Efficiency by Understanding Breadth-First and Depth-First Execution

Anton Begehr
4 min readMar 28, 2020

--

I’m working day-in and day-out, but don’t seem to reach the goals that I aim for in the time I planned. My lack of progress and learning depresses me. My motivation decreases.

To achieve more, you tried implementing todo lists, proper time scheduling, a calendar, maybe you even went all the way and structured your goals in OKRs. (OKRs are a great tool: https://medium.com/okrs).

All of these mechanisms helped, by providing frameworks to work in, but you feel there is still room upward. With great goal structuring and task tracking tools and techniques in place, efficient execution is the key to achieving the goals set before.

Breadth-first Execution vs Depth-first Execution

To best reach my goals, should I go deep into a task, applying depth-first execution (DFE), or execute a task with shallow penetration, applying breadth-first execution (BFE)?

Both techniques for execution have their advantages and are valid for executing different tasks. The possibility for competitive advantage comes from knowing when to choose BFE and when to go for DFE.

The concepts of BFE vs DFE are derived from the computer science algorithms for searching nodes in a tree data structure: breadth-first search (BFS) and depth-first search (DFS). Check out the following image:

https://www.freelancinggig.com/blog/2019/02/06/what-is-the-difference-between-bfs-and-dfs-algorithms/

Let’s say you have one overarching goal (we’ll call this goal 0), then goal 0 is made up of multiple subgoals, goals 1 and 2. Goals 1 and 2, in turn, are made up of sub-subgoals or tasks and we can divide even further. This can be considered a tree of goals or tasks.

The visualization of BFS vs DFS above shows the different approaches of both algorithms: BFS visits all child nodes before going deeper and DFS goes as deep as possible before going wide.

Both breadth-first execution and depth-first execution have their own advantages and should be applied in different situations.

When to choose DFE?

BLUF: Choose DFE when you do not know the value of different sub-tasks.

Depth-first execution is the go-to execution strategy for when you have either a very clean cut task with predefined limits or in the exact opposite case when you’re exploring new ideas and possibilities.

The task would need to be limited to tight constraints to keep yourself from drifting off into deeper and deeper side-branches of the tree of subtasks. Examples of such a limited task are math problems for schoolchildren, mathematical calculations to be done uni-dimensionally, or setting up an excel spreadsheet that calculates spending and earnings.

Another type of task, where DFE is applicable, would be exploratory tasks, where the goal is to explore a new concept, framework, tool or new domain. It is beneficial to give yourself time to check out the edges, nudges, and crannies in a limited timeframe using depth-first exploration. One example of such an exploration task is trying out a new programming technique for the first time.

All of the examples portrayed above, where DFE is applicable, have one thing in common: they’re limited along the time or task dimension. Limiting tasks will allow DFE and keep you from going too deep and losing the aim of your target.

When to choose BFE?

BLUF: Choose BFE when you do know the value of different nodes.

Breadth-first execution is applied best for when tasks are neither completely exploratory nor completely set in stone. BFE takes into consideration, the reality of life, especially for knowledge workers, where the written word cannot grasp the whole entirety of a task, but results are expected at a hard deadline.

The issue that faces many knowledge workers, including myself, is getting lost in the depth of a task, investing a lot of time in minor parts of the task, allocating too little time for the main goal, and ultimately not or just barely reaching deadlines with pieces of the puzzle missing and the full picture is incomplete. This is where breadth-first execution comes to the rescue.

Breadth-first execution emplores you to focus on completing a task in its most minimalistic manifestation first, before diving in any deeper. You should go for the most minimum viable product (MVP) or solution, which fulfills the goals defined in the task. Only once the task criteria’s minimum is fulfilled, go back to improve.

Recap

Breadth-first and depth-first execution both have their advantages and disadvantages. On a case by case basis, you will need to decide at which tradeoff factor to utilize DFE and BFE.

DFE: While depth-first execution allows you to explore all nooks and crannies of a task, it can blind you from maintaining an overview and achieving a measurable result in the end.

BFE: While breadth-first execution allows you to achieve goals in time, it can hide potentially important substructures from you, which can be of great additional value.

It will not be possible to apply either DFE or BFE exclusively on any of your tasks, not even exclusively on one subtask. You will need to make tradeoffs between the two execution types and find yourself executing somewhere between both extremes to achieve the highest level of efficiency in your work.

Watch out for more practical techniques in my next article to be released next weekend: “Divide Your Day into 1 Hour Sessions and Achieve More”

Thanks for Reading 👏

Follow me on Medium and IG: https://www.instagram.com/antonbegehr/

Stay tuned for more articles and leave a high-five ✋

Best, Anton

--

--