My previous post regarding technology leads to some additional questions that deserve follow-up. If technology is not the ultimate cure for any (or all) problems then what might be?
The shortest answer I can give is a single word: Understanding.
In An Engineer’s Guide to Solving Problems there is a chapter dedicated to one form of understanding: “If I Could See It, I Could Fix It.” As discussed in this blog and in the book, this concept is not limited to literal sight with your eyeballs. You have to be able to envision (see) the complete system in your mind before you can propose possible solutions.
While technology can often solve one or two factors of a problem, only understanding all of the constraints of the problem will deliver an appropriate solution.
Problems are often complex. Problems in the real world involve many constraints (rules and requirements) that are not automatically obvious to a casual observer. So how do we get from first impression to full understanding?
Do the Homework: I did not like this answer when I was in school, but eventually it sank into my thick head that this really is the first step in solving real-world problems. You need that ingrained comprehension of the basics before you can compose a symphony of solution. No matter how well you handle advanced calculus, your solutions will be flawed if you are convinced that 2+2 = 5. It is okay if you don’t understand some things at the beginning of the process. But please keep digging until your list of Stuff You Don’t Know is empty by the end of the process.
Study How Others Have Tried to Solve the Same Problem: This involves a lot of reading. Not just words, but you must learn to read designs in all of their forms (including schematics, code, block diagrams, logic equations, and even Bills of Materials).
Build Checklists of the Problem Constraints: I don’t know any person who can keep 100% of the requirements for a complex system in their head. This is why we use tools like a checklist or a Requirements Matrix. When we reach a proposed solution, we have to go back through the requirements list and make sure that we haven’t missed something.
If you have been paying attention, you will realize that this checklist is not static and not limited to your initial set of customer requirements. You must add new constraints that are created by the particular solution you have proposed. One Electrical Engineering example of this might be applying a new circuit component that meets all of your other design requirements, but draws too much power from the system power supply. Or a perhaps you have chosen a component that costs too much money for the project budget. Or maybe you have chosen a component that won’t be ready in time to ship the project.
Find a Balance: More than anything, when you have achieved understanding you will find that your solutions obtain some balance. These solutions carefully manage all of the four primary constraints of People-Time-Money-Results and all of the technical specifics of your problem. Your solutions will also solve the new problems that the solution has created. Your solutions might move towards Elegance and Beauty. And that, my friend, can seem like magic.