Wisdom from Rod
I have a great relationship with Rod, my Boss. Today I asked “how do you not borrow problems from tomorrow (that is, design systems to function on future platforms like Yukon) while trying to prevent problems tomorrow?” We often have very divergent points of view on this issue. I'm generally on the side that says “take the time today to design systems that work today and tomorrow,” whereas he tends to be “take the time to design the system to work today.” My problem with that is it implies you'll be reworking the system to work again tomorrow too.
He's got three suggestions for me about coping with that problem:
- What's the probability if the problem you're worried will actually occur? If its low, you likely don't have to worry about it, so the extra work is wasted. If its high, its probably worth addressing. Anything else in the middle is a judgment call.
- How easy is to fix? Supposing the problem you're trying to design around does occur, if its impact is low and its fairly easy to fix, fixing it today problem isn't efficient in light of the next suggestion.
- How busy are we today? If you have the luxury of plenty of time to get a project done, then solving some problems in advance is probably not a problem. If you have the luxury of having more work than you can possibly do, you can't afford this expense.
Sobering, isn't it? More thinking about the economic implications of it here.