Do you prefer to approach a new task with an ordained structure and deeply ingrained formalism, or do you instead have a burning need to get your hands dirty to feel out the raw nature of a unique challenge? Our proclivity towards one methodology or the other exposes much more than personal taste, it reveals the heart of our learning and decision making abilities1. Choosing the right design method means the difference between success and failure. There's no strict decision boundary on when it's in our best interest to embrace one philosophy over the other. We have only our instincts, knowledge and wisdom to guide us. This morning's post will cover experiential criteria which will reveal how best to tune one's approach to life's never ending supply of novel problems.
Problem Scale
The bigger a problem, the more structure that is required to yield significant motion in any particular direction. Consider the swarm, without a gravity and order to move as one super organism, it would quickly disperse. Without a force compelling it in any direction it wouldn't travel far2. Alternatively small problems that aren't well defined require unpredictable freedom and creativity to solve. While constraints can often drive new creative answers, the possibility of selecting the best framework for an anomalous problem is remote.
Optimizing Performance or Growth
A corollary to size is whether the task is primarily focused on optimization or growth. While it's possible and often necessary to court both of these in unison for an organization or driving vision, a single task tends to fall into one or the other category.
If the task is one of optimization a strict set of principles may be leveraged to extract as much performance as possible from limited resources. Examples of well developed tools for software optimization include profilers, debuggers, instrumentation, database optimization tools. Beyond large frameworks of tools there are simple principles, the fastest code is no code, or non blocking calls (reactor pattern3).
Optimizing growth rate and acceleration necessitates an abundance of resources while relaxing constraints on the direction of growth. If the goal of a task is increasing size, enforcing formalized strategies at the outset may prohibit the paths with the greatest yields. Growth tends to require more chaos than ceremony, certainly in the early phases. As an problem matures it becomes more amenable to well developed practices. Examples of formal growth include A/B testing, targeted marketing campaigns, and strategic partnerships.
Available Resources and Burn Rate
If the team which tackles a task is small and inexpensive to maintain, the timeline and total resource drain is limited. Low resource costs engender much greater freedom when confronting problems. The opposite is true for massive teams with exorbitant burn rates. Dedicated large teams require a certain level of formalism in order to be productive.
Consider a special forces team assigned to collect surveillance on a target of interest. The team is free to implement any strategy that best supports their mission success, over as long a timeline as they need. Compare the way that team functions to an army brigade or an aircraft carrier fleet. The costs and logistics required to activate high cost task forces prohibit them from implementing improvised missions or delaying action indefinitely.
Will a problem revolutionize an ordained structure
An intriguing aspect of problem solving is that it often changes the way we approach future problems. If a particular task can significantly impact an ordained system in a beneficial way, it becomes more attractive to go the path of ceremony.
Subtle Distinctions
The borders between ceremony and chaos are not as clear as we are inclined to believe. Even well developed and highly structured systems depend on elements of unpredictability. Massive corporations depend on bold individual decisions. Encryption and cryptography depend on unique signatures being unpredictable. Every computer in the world depends on atoms and electrons who's individual states are unknown yet are represented by well behaved distributions, and bulbs fluoresce in random but predictably ways4.
Related links: