Software Engineering

Duration Mismatch In Code

Yes, this is an article about software engineering. No, I am not talking about the Silicon Valley Bank failure… Or am I? Duration mismatch is the difference in time to maturity between a company’s assets and liabilities. (Also note the adjacent concepts of duration risk and duration gap if you’re the sort who wants to dig deeper.) We already use the financial analogy of tech debt in software. It seems only reasonable we might want…

Continue reading

Software Engineering

Constraints Are Your Job

Ever feel like everything you are trying to do would be so much easier if it weren’t for all the constraints? Ever think maybe that’s a good thing? I didn’t think so. We tend to think of constraints as the problem. And let’s face it, there is a level of constraint that basically translates into “game over”. But under normal circumstances managing constraints is not getting in the way of doing your job, it is…

Continue reading

Software Engineering

The Other Code Smell – Rot

Code Rot conjures up images from sci-fi more than something to be seriously concerned about. Rot or decay implies a loss of integrity, a loss of capability or suitability for the intended purpose, succumbing to pathogens, all accompanied by a bad smell. Since all these things can be observed in software systems, if somewhat metaphorically, rot would seem to be an apt description. Software rot is driven by the changes we make (internal factors) and…

Continue reading