Asked • 05/05/19

How do you stop interim solutions from lasting forever?

Say there are two possible solutions to a problem: the first is quick but hacky; the second is preferable but would take longer to implement. You need to solve the problem fast, so you decide to get the hack in place as quickly as you can, planning to start work on the better solution afterwards. The trouble is, as soon as the problem is alleviated, it plummets down the to-do list. You're still planning to put in the better solution at some point, but it's hard to justify implementing it right now. Suddenly you find you've spent five years using the less-than-perfect solution, cursing it the while. Does this sound familiar? I know it's happened more than once where I work. One colleague describes deliberately making a bad GUI so that it wouldn't be accidentally adopted long-term. Do you have a better strategy?

Louis I.

tutor
Unfortunately, this is more common than we all like to think ....and broad buy-in into "discipline" that simply does not except this, is the only solution. This is more of a Project Management issue, isn't it? How to deal with "technical debt" ongoing. Sounds like you've described this phenomenon as being tied to a GUI feature, but of course, that's not necessarily the case. The more general problem is, how do we manage "software entropy". The "Pragmatic Programmer" books encourage us to never live with "disorder" - whether it comes from a planned short-term compromise for expediency's sake, or otherwise.. I've been on projects that have forced the issue of a regular "refactor/fix" User Story (or project task if we weren't using an Agile approach) stated from the goal perspective of the development team - for example. "The app development stakeholders will have a more maintainable system, and be able to more effectively respond to change requests". But again, it needs to be part of the team culture, where we basically say, "Yes, we're pragmatic. We know that from time to time, there will be compelling reasons to violate one of our best practices, and we all accept that. But we will never live with long term technical debt (or less-than-perfect solution, as the question describes) that impedes our SDLC".
Report

05/21/19

1 Expert Answer

By:

Still looking for help? Get the right answer, fast.

Ask a question for free

Get a free answer to a quick problem.
Most questions answered within 4 hours.

OR

Find an Online Tutor Now

Choose an expert and meet online. No packages or subscriptions, pay only for the time you need.