Secret of good engineering: constraint, not more time, or resource
Last updated
Was this helpful?
Last updated
Was this helpful?
"Hi Tommy, you look stressed. How is your project X going?" I asked.
"Not so well. I asked my management for more engineers to work on the project or to delay the launch date, but I got neither. Instead, my manager pushed for an earlier internal beta launch," Tommy sighed. "Why can't we have enough time and resources, so we can do it properly? We are always in a rush..."
"I hear you. If we sacrifice long-term value for short-term gain, the tech debts will come back and bite us. We pay it now or we pay it later, usually with interest. The debt won't go away by itself," I said, thinking for a bit. "But being short on time and resources is not necessarily a bad thing. Have I told you the story about how people grow grapes to make wine?"
"No, you haven't," Tommy said, "What about the grapes?"
"I visited a Napa Valley vineyard years ago, and the owner told me about the secret of growing grapes to make good wine. Should we give as much water to the vines as they want? What's your guess?" I asked.
"Sure, why not. Having enough water can't be a bad thing for the grapes, I suppose," Tommy said.
"Actually, it's the other way around. Overwatering can cause the roots to become waterlogged, leading to root rot and other diseases. To grow good grapes, they have to control the water supply so that the nutrients go to the grapes, instead of the leaves. The owner showed me how they dripped just enough water to the root of the vine to conserve water," I said.
"That's interesting," Tommy said, a little lost. "How is this story related to Project X?"
"Because if we have unlimited time or resources in Project X, we will never complete it. Look at the companies that have unlimited budgets and no deadlines. What do they do? They spend all their money and time on hiring people they don't need, then fighting for positions with bigger titles. Good engineering, just like good grapes, needs constraint. So your manager may be doing you a favor by not giving you more time or resources, but asking for earlier delivery. Do you know why the ARM processor, the CPU that powers the smartphone you are using, became so successful?" I asked.
"Why?" Tommy was intrigued.
"Because as Wilson, the creator of ARM said: 'Hermann Hauser (their manager) gave us the things Intel could never give us: no resources, no time, and no money.' The ARM processor was low complexity because it had to be easy to design with limited resources, and that made it low power. Its small size made it well-suited to the system-chip revolution of the 1990s, and it was no accident that it found early success in mobile phones.
Constraint is the secret of good engineering!" I said.