How do you justify “opportunities” or find opportunities that outweigh cons?

Posted by QuitTypical3210@reddit | ExperiencedDevs | View on Reddit | 6 comments

I can see areas of improvement for the product I work on. But I don’t know how to justify that improving it outweighs the cost.

For example, a product has no dependency management. I can revise the whole application to have centralized dependencies so it’s simplified in the repository and dependencies can be updated easier, with clearer ways to check what dependencies are used.

But then I think, this would take forever. I have to change things that have been in place for years. I have to teach everyone how to use the new way. Am I just trading one nightmare for another? Dependencies aren’t updated at all anyways, so why put in effort on something never or rarely done? And does it really make it “easier” in the end? Or now I’m having to deal with centralized dependency package problems rather than how it’s now?

Or in the case of automation. I spend 20 hours + extra maintenance time to automate something that took 5 minutes. Then I teach everyone how to use it. Benefits are removing potential user error, reduce documented steps and speed up the task. But I just spent all this time automating it. Unless that automation runs 240+ times, did I really provide any value?

It’s like this for all the opportunities I find. Unless some standard was defined at the inception of the project or some high priority vulnerability / feature that cannot be done unless some opportunity becomes required, it always seems like it’s better to do nothing.