Engineering Analysis, a Holistic Systems Approach
I have always held a large amount of disdain for the verbose engineering analysis methodology they teach us and force us to employ through writing 20-35 page (minimum) reports in engineering school.Ā
I have come to realize however - as I was about to use said methodology to write a satirically over-analyzed blog postĀ
writing a satirically over-analyzed blog post about a small project I completed - that while the format is terrible, the underlying concepts and methodology of thinking have their merits. Particularly that not all of the concepts are immediately obvious and are thus worth spending time learning.Ā
Below, I summarize the key points of consideration in a generalized, holistic engineering approach to problem solving:
Step 1) Define the problem:
If you already have an idea of what problem you would like to solve,
Condense the problem at hand such that it can be described in one sentence. Write it out for clarity.Ā
Else, if you are looking for a problem to solve, or would like to think about a more specific problem to solve:
Brainstorm a bunch (~10) opportunities, condense them such that they can be accurately described in one sentence.
To decide which is a better opportunity to tackle, for each, consider who the āstakeholdersā (ex. customers, manufacturers, distributors, etc...the exact list will depend on the kind of problem) are, what the cutting edge solution/product/methodology is within the realm/space of each opportunity.
Select one opportunity/problem, explicitly write down a specific justification for choosing it.Ā
Define roles of all involved team members.
Step 2) Analyze the needs of the client / end user, and come up with product requirements.
By interviewing relevant stakeholders, intuition or research, come up with a list of needs and organize them in a hierarchyĀ
Come up with specific product requirements, organize them in a hierarchy (2-3 levels) relative to their importance to the end user.
Define what success looks like: what specific benchmarks must the solution meet in order for it to be a good solution? Look to the product requirements for inspiration when coming up with benchmarks.
Step 3) Come up with solution concepts to address the needs from step 2.
Consider the problem as process in which the average user will happen upon the problem.Ā
Decompose this process into its component steps and write it out as a step-by-step process, the more detailed the better. This will help you gain a very thorough understanding of the problem and how users experience it.Ā
Then, consider how currently existing solutions / products are addressing each step of the problem-process.Ā
Use this revised version of the problem-process to identify problem areas currently being neglected, or where your solution could address a given problem area better.Ā
With these in mind, brainstorm concepts (~5-10) for products / solutions that could address these.
Step 4) Choose the best concept(s).
Select the top 3 concepts based on how well they align with the problem-process decomposition and the benchmarks established in Step 2.Ā
For each of the top concepts, come up with a user story that describes how the solution / product would be used by the user in the step-by-step problem process described in step 3.Ā
Draw rough sketches for each concept to visualize them and begin considering what their component parts hypothetically would be, what material would be used, how they might be assembled.
Determine key performance metrics based off the success benchmarks defined in Step 2 that can be used to assess the performance of each concept.
Discuss each concept and get user feedback from users about which concept would suit their needs better. The key here is to get feedback to verify your understanding of the problem, the effectiveness of the solution and to recognize any implicit assumptions you may have made, all before investing time and energy into building a prototype. One useful way to do this is using the Wizard of Oz technique.
Step 5) Prototype and Test the chosen concept(s)
Based off your feedback, determine which concept is the best fit for the problem and create a prototype plan for how you will create it. You generally want to take the lowest-cost or -overhead approach you can. Assuming that creating, manufacturing or machining a fully functional prototype will require a lot of time, effort or resources, typically this involves modelling the prototype mathematically or with a simulator and testing it with experimental values to optimize its performance.
Step 6) Analyze the results relative to the needs, and decide on the best solution.
Use your benchmarks and feedback to determine which solution is the best and proceed either with further prototype testing, or continue on to beta testing or maybe even production- your call!