Dealing with Time and Technical Debt
An information system is like a living organism: it always moves and changes. Yet, most of them are designed “one shot,” without thinking of its adequation to the business in time, but only of its capacity to handle the business needs at the moment it is designed. Lots of IT problems can be related to time.
In the previous chapter, we talked about business alignment and the importance of basing the structure on business concerns. This must also be applied to taking time as a parameter of the equation for a good information system: if the business feature is a one-shot/disposable one, its technical implementation will be no more complex than a prototype, quickly coded and soon discarded after use. On the other hand, for a feature that will be used for decades in production, you must carefully hone the design and polish the implementation, with as few moving parts as possible, since a good architect knows that maintaining such a module...