Engineering is an art form. We like to imagine that engineers plan everything out and know exactly what will happen.
But this is not reality. With limited information and limited time, designers have to make choices that effectively balance cost, effort, and risk. In any project, you can only minimize two of those three factors. Hence, the “art” of an engineer lies in their intuition - to make design choices they believe are optimal, while mitigating the difficulties of the real-world. And the best engineers know where to make tradeoffs in their work.
It’s hard (if not impossible) to “train” your intuition to be better, other than by learning more about your field. But, you can change your workflows to be more efficient. The Algorithm, as it is dubbed, is a 5-step procedure that engineers should follow to ensure effort is not wasted.
The Algorithm
- Question and Understand the Requirements
- Delete Unnecessary Parts
- Simplify
- Accelerate
- Automate
If you complete your project in that exact order, you will have an efficient workflow. Let me explain each step:
Question the Requirements
Any great project is initially just a design on paper. But before any design is started, the engineer must know what they are designing.
That’s a pretty obvious statement, yet too many engineers jump into projects before they fully understand what they want their final project to be. You need hard numbers, facts, and measureable objectives to achieve. You should be asking:
- What is my budget/available resources?
- How long do I have?
- What is the available space for my product?
- How long does my product need to last for?
And, most importantly, you absolutely must know: What is the goal of this project? You need to go to superiors and co-workers to answer these questions. Talk to people. If a requirement is unclear, discuss it thoroughly.
And then, finally, you can begin to question the requirements. Now you need to turn around and ask:
- Am I really constrained to only these resources?
- Is this really the longest time window I realistically have?
- Does the project actually have to be in an area this small?
- Does the project really need to last this long?
If the answers to these questions are yes, then you have gained a deeper understanding of the project’s critical aspects. These are points that you will later need to justify to your peers during delivery.
If any of your answers are no, then good job! You just made your work easier and saved effort. Remember, the ultimate goal of the algorithm is to save effort. Requirements cost effort because they are something you have to design around. So every requirement you can either purge or lessen the burden of immediately is time and money saved in the long-run.
Do not hesitate to pressure your peers on requirements they impose on you. Make sure they can justify to you that their requirement is suitable. Every single project requirement and constraint must have a good reason for existing, and it is your job to make sure of it.
Delete the Part
Every part is a liability - something that will break in 5 years and something that needs to be repaired. Therefore, remove as many parts as you can in the design phase. Otherwise you are adding unnecessary effort for people later down the line.
As you make your design, look carefully at every component you add - make sure its existence is fully justified. If you’re unsure whether it’s necessary, it’s better to delete it now and add it later than to add it now and cause a burden.
Of course, this is where you must begin to consider effort, cost, and risk. Which parts can I get away with removing? Is the risk I remove from adding this part worth the cost and effort I gain? Too many engineers will always take the path with the lowest risk, since safety is so heavily ingrained at work and failure is often shunned. Safety and success are good things to have, but you shouldn’t burden high cost and effort for minimal safety or success gains. Again, the art of a good engineer lies in making these tradeoffs effectively.
Oh, and make sure to ask yourself this question, if you haven’t already: Is this project necessary? If you can delete your entire project, you save the maximal amount of effort. It won’t feel like it at all - you will look back and see the time you spent requirement hunting and designing, and see all of it going to waste. But determining that a part or project doesn’t have to exist at all is the greatest victory you can achieve: the same or similar functionality, for no further cost and effort. Whenever you delete something you don’t need, rejoice.
Simplify
Notice that simplify is step 3 and not step 1? There’s a good reason for that: Don’t simplify things that don’t need to exist in the first place. First remove everything that is unnecessary. Then, you can begin the process of tweaking, making improvements, simplifications, and all that jazz.
But once it becomes time to simplify, do not skimp. Every simplification will make the product easier to maintain and more efficient. It will be far more expensive to make changes later on, so you should make them while you still can.
Accelerate
Once your part/project is working and fully-proven, you need to find ways to lower the cost to produce, test, and distribute it.
Start looking for ways to make your procedures faster. Is your part waiting idle on the production line for several hours at a time? This is no good! It means your production line is inefficient. Find a way to reshuffle your factory floor and make sure the part barely has a moment to breathe.
Your product should go from raw material to fully-functional extremely rapidly. We already saved costs in the design of our product, and now we are saving costs in manufacturing. And we do that by speeding up the manufacturing process.
Again, notice that acceleration is step 4. Don’t start accelerating your production line, and then make a part simplifcation/change, and have to redo step 4. Order is key!
Automate
Once your production line is perfected, and your product is perfected, it is time to automate. Take your carefully-crafted procedures and designs, and find ways to remove people (who are error-prone and expensive) and replace with machinery wherever possible and economical.
Once again, order is key! Don’t automate something that shouldn’t exist in the first place.
Applying the Algorithm
Every engineering project should use the algorithm - even if you’re not manufacturing on a large scale, you should still be implementing steps 1-3. It will help you catch mistakes and ensure that effort is not wasted.
This algorithm will, by no means, make you a perfect engineer. But it will definitely make you a more efficient one.
Therefore, memorize it. Know it by heart. Keep it at the front of your mind throughout the course of your project.