1

Sometimes it happens that being a part of team, my manager won't understand why it cannot be the way something was example. I am working on a very very bad code clean up and making changes for a website to make it responsive, but the code is so badly done that when i do a semantic coding for standardizing as per html validator would pass. It breaks a lot of things.

I am unable to convey my message across as a team member would want to know what is wrong with code, and his reply is "it doesn't matter", where as being hired as a expert i know it does.

So all drill down to my manager asking why isn't it way it was e.g formatting, alignment, as he is committed to bank end. I want to know how can i convey my message across, without offending or making my manager think i am unable or running away and in future, code should be good for me to work on.

| improve this question | | | | |
  • 3
    Do you try to communicate with your boss in English? You did not tag this question but your other questions concerned the UK. I have problems understanding your question on a plain English level, maybe your boss has the same problem with the communication? As an example, your heading says "Scrum master" and there is no Scrum master in your question. – nvoigt Dec 7 '16 at 15:46
  • 2
    You mention in the title Scrum master, but no further mention, how is that relevant to the question? Everything else talks about manager and the two things aren't the same. – The Wandering Dev Manager Dec 7 '16 at 15:55
7

I think you need to consider whether you and your manager have the same expectations: the quality of the code, the lifecycle of the products, priorities, etc.

If a site is going to be abandoned or replaced in 6 months or a year, he may not care about HTML validation. The customer pays for "good enough", they don't necessarily pay for "perfect".

I am sympathetic to you wanting to replace spaghetti code with something that's structured, modular, self-documenting, etc. And in the long run, it will be cheaper to build and maintain that kind of code. But if there's not enough money for the short run, there won't be a long run.

You should present your boss with options

"I can spend 3 days to patch this now, but it'll just make the next fix more difficult. The customer is making 3 change requests every month - at this rate, by July of next year the entire site will be unmanageable and it will take 5-10 seconds to load each page. Or I can spend 2 weeks right now to modularize the major sections of the site, and then every change request in the future will only take 2 days, and load time will be less than 3 seconds."

By doing this you've translated your technical concerns into things that he cares about: money, time, and quality.

Then listen to what he says

"The contract is up in 5 months, and we won't renew it because the rates they want to pay are too low. So just do the quick and dirty fix so we can get rid of them."

or

"I expect we'll be slow in February. Can you patch until now, and then do the re-architecting then?"

or

"I hear what you're saying, but that's not our business model. We do quick and cheap, we don't do robust. I know the guy who wrote the code initially made a bunch of mistakes, but he was willing to work 60 hours a week at a low rate, and we only had 3 weeks to get the site up. You'll just have to live with it."

etc.

| improve this answer | | | | |
  • This is a solid answer. I learned this back in the old days when I was a young guy starting my career. I too wanted it to be perfect but boss sat me down and said "...we don't have the money for it...just get er done!". – JonH Dec 7 '16 at 17:33
2

Explain the consequences of bad code to them. What will happen if you'd just keep building with the old code? What things will or can happen in the future? E.g.:

If I'd keep working with this code, changing X in the future will cost 5 hours instead of the one hour it could be.

Or:

If we continue with this code, making function X would require to refactor the whole code and will cost a lot of time.

Or maybe even bigger consequences, such as security.

| improve this answer | | | | |