One of my most important mentors taught me this lesson and it applies wider than I think he thought.
In general the concept is in development you are either paying “cash” or “credit”. Paying in cash means that you are settling your debt today. Paying in credit meaning you are waiting until “tomorrow” to take care of something.
The lesson is that in an ideal world you aren’t in “debt” with what you’re working on. Debt can be a disease and especially in development it will dictate future decisions.
It is beautiful to have a product that is “debt free”. Your team is happy, stakeholders are happy, and you’re confident in your quality.
While the lesson is obvious or at least your decision should be. It can be a challenge to sell to myopic, “do or die” results driven stakeholders. It’s the “long play” and you have to be allowed to execute.
I have found myself using this paradigm in other areas today. In your customer relationships, are you building loyalty with cash (results) today? Are you putting off solving a process problem to “tomorrow” so you can deliver sooner?
Using credit to your advantage can be smart, worrying about “tomorrow”, “tomorrow” might put you and your product in bankruptcy.