Hi Anantha, thanks for the great question.
Yes, in my almost 20 years of experience working for consulting companies I'm sad to say I've seen this scenario play many times. On one side you have the technical team trying to solve problems that they know will harm the project down the line and on the other side, you have the business looking at today's numbers and only caring about the immediate results.
As you can problably imagine, there is no easy way to solve this, it all depends on many factors:
- does this tech debt have a clear implication in the near future of your project? Can you prove that if you don't fix it now you'll run into a bigger problem in the future?
- Does your client have a basic (at least) technical background which you can leverage to explain the tech debt?
- can you quantify the amount of effort and time required to fix the tech debt?
If you can answer these questions, you might have a chance to get a green light on fixing the problem, but keep in mind that whatever your scenario might be, if you go to your business saying "there is tech debt and we need to fix it" you'll lose. You will have to be prepared to answer the following questions:
1. How long will it take you?
2. How many people will you need?
3. What impact will it have on the system? (will it run faster? will it scale easier? etc)
4. What's the proposed timeline.
That will let me weigh pros and const and decide, otherwise they'll keep moving forward.
Please let me know if this answered your question or of you still have more doubts ,don't hesitate to post them in this
thread!
Anantha Ramu wrote:Hello Fernando Doglio,
Have you come across a situation where there is a need to balance technical debt and doing what is necessary for the business. Business perspective can deviate from Developer perspective. Sometimes it is very difficult to get a buy-in for technical projects which may NOT be profitable to the business directly. What are your thoughts on that? How does software skills help here?