Parallel vs. Serial
Today at lunch, a founder complained about how long problems in her care operations take to solve. We went through the steps of the solutions, and it was clear that the current solutions involved sequential logic and serial steps. Sometimes, the path to greater efficiency is figuring out ways to complete tasks in parallel rather than serial.
Any computer scientist will tell you that serial processing is better for tasks that must be completed in a specific order, best performed by the CPU, and parallel processing is better for tasks that can be divided into many parts and done simultaneously, best performed by a GPU. Many problems benefit from the fusion of both approaches, where we break the main problem into many smaller independent problems solved in parallel, and later, the solutions of the smaller problems are integrated serially to create the complete solution. Many software modules are developed parallelly and integrated serially to create the complete package.
The primary deciding factor is how you break down the problem, whether math, science, software, hardware, or business. If the problem is broken down into several dependent tasks, we will process them serially. If the problem can be broken down into several independent tasks, we can process them in parallel.
Even if the problem can be divided into independent tasks, individual contributors will default to breaking down problems into dependent tasks. Without others to distribute independent tasks, individual contributors must complete each task themselves. Managers will likely default to their individual contributor ways early in their tenure, which is still best for small-scale problems with limited resources. As they understand the efficiencies of parallel processing for larger-scale problems with more team members, managers will start thinking of ways to divide their problems into independent tasks.
Similarly, serial processing dominates in a company’s early days. As the company grows, we should check our defaults for serial processing. With slightly more team members, is it more efficient to break down our problems into more independent tasks and complete more in parallel?
The next time we face a large-scale complex problem, we should be wary of defaulting to serial processing. Depending on how we break down the problem, the most efficient solution will likely combine parallel and serial processing. Be flexible in using all the tools available to us.