Engineering design is something I don’t write about nearly enough. Today, I’m going to buck the trend and cover something I feel is really important: designing with the outside world in mind. In engineering, it’s a common problem to design a sub-system, plop it down into the bigger whole system, just to find it doesn’t play nicely with others. Bad times. My goal today is to convince you, dear reader, of how big a problem this is and how to avoid making engineering design integration mistakes in your designs.
Epic Engineering Design Integration Fail
Let me set the scene for you: imagine your boss comes to you and says “Hey, junior engineer! Design me a widget that does these 15 amazing things.” Now, besides the fact that it’s odd that your boss calls you “junior engineer” (your boss really should know your name by now, I would think), this is a totally normal thing to have happen. That’s what engineers do – they design stuff.
So, you run off to your tiny little part of the engineering cubicle farm, and you start plugging away. Life is good. You’re in the zone. You’re deriving equations using Laplace transforms by hand just because you’re awesome. You forget to stop to eat lunch. Simply put, you’re crushing it. Everything you do is pure gold, and you know it.
Finally, you complete your design. You take it to your boss, proud because you’ve delivered each of the 15 features that were asked for. You expect nothing short of an instant promotion and a company car and casual dress code for the rest of your life.
But alas, your boss is not pleased. Not at all.
“This’ll never work!” she says, “How will this fit into the 4 cubic centimetre space we have allocated? Do it again.”
Brutal. Your design does everything it needs to do functionally, but doesn’t meet the constraints imposed on it by the real world and the other systems it needs to interact with. Unfortunately, that means your design is exactly useless.
How to Make Sure Your Design Will Integrate
Here are some ideas to help guide your design efforts and to make sure that your awesome designs will actually work in the context of the “bigger picture”.
- Decide what the “Bigger Picture” is – Unless you fully understand where your system will be implemented and with what other systems it must interact, you’re pooched. Your system, like any other, must take information/ material/ energy in, and spit information/ material/ energy out. You need to know what format your input will take, and what format your output must be.
- Electrical interfaces – are there power or communications interfaces with other gear? What kinds of connectors might you need? What voltage/ current/ power considerations should you be making?
- Mechanical interfaces – is your system driving or being driven by another system? Have you chosen the appropriate hardware to mate to this other equipment? Have you considered how your system will mount to whatever it’s being mounted on?
- Space envelope– Is there physical room for your system to be placed where it needs to go? If your system isn’t stationary with respect to where it’s mounted (i.e. it “swings”), will there be any fouling up against other stuff in the vicinity? Are your cables and hoses long enough to accommodate this?
- Environmental Interfaces – Will your system get hot as it operates? How will that affect the other systems nearby? What about noise and vibration? Will that throw anything else off-kilter? Are there any emissions or waste products that might gunk up nearby systems?
- Get Buy-in – You need to work in collaboration with the other people on the greater design team – especially on the interface. Once you and the other relevant designers have come together to decide how your systems will integrate together, you must abide by the 1st commandment of engineering integration: Thou shalt no make changes to the way you interface with other subsystems. Why? Because that’ll screw up the other people’s systems, which is timely, expensive, and grounds for evil glares.
Now that I’ve shared this with you, I challenge you to dig deep in your next design project and think hard about how you can design your system to play well with others.
If you have other tips, like what you read, or hate what you read and really want to tell me, please do! Just use the comments section below. I promise to respond to every comment.