i actually do this kind of thing regularly: consulting big, mighty companies with huge websites (huge from a technical, content and traffic point of view) that are having a hard time or are falling behind.
and yes, it's awesome.
but god damn, it's hard - and at first very unthankful - work.
why? things are the way they are because they got the way they are.
i.e.: you wan't to do something something very sane, let's say you want that a link from the startpage links directly to another page instead of getting dragged over 16 (a real world example) redirects. oh yeah, and you have the full support by the CEO to do whatever is necessary.
now there are two possible scenarios:
a) the person / team who is responsible for the mess is still with the company. he/she will justify - with good, valid arguments - that each of these 16 redirects is necessary. this person has spent 10+ years to work with the company and was doing the best work he/she was able - under the circumstances (which were never easy) - to do. the reasoning of this person is flawless. he/she - the person which "owns" this technical part - will refuse to do it. threatens to leave the company if you do it - oh - and the CEO says that this person is "indispensable".
b) the person / team who was responsible for the mess is no longer with the company. nobody has a clue, nobody knows why it's in there and nobody knows what will happen. if you do it anyway a huge shitstorm will start where everybody is complaining about the "incompetent" consultant.
the easiest option is always not to do anything (also called "lets do something else"), but well - that's the losers way.
so what to do
I) always start with hard cold data (i.e.: perf stats, specs of how many redirect the different browsers follow, ..), because this is the best way to ->
II) get rid of personalities - technical owners are great during product development, are liability and burden during maintenance and restructuring.
III) make sure that everybody understands that things will get worse before they get better
IV) focus on execution (a.k.a. do it anway, no matter what)
V) be aware that - newly introduced - bugs that do not kill the company will not get fixed right away
VI) be aware that there will be major criticism - and a lot of pressure on the CEO
and well, this is only the process for the absolutely sane changes you want to introduce. lets imagine the process for stuff where there would be an actual need for discussion.
and yes, it's awesome. but god damn, it's hard - and at first very unthankful - work.
why? things are the way they are because they got the way they are.
i.e.: you wan't to do something something very sane, let's say you want that a link from the startpage links directly to another page instead of getting dragged over 16 (a real world example) redirects. oh yeah, and you have the full support by the CEO to do whatever is necessary.
now there are two possible scenarios:
a) the person / team who is responsible for the mess is still with the company. he/she will justify - with good, valid arguments - that each of these 16 redirects is necessary. this person has spent 10+ years to work with the company and was doing the best work he/she was able - under the circumstances (which were never easy) - to do. the reasoning of this person is flawless. he/she - the person which "owns" this technical part - will refuse to do it. threatens to leave the company if you do it - oh - and the CEO says that this person is "indispensable".
b) the person / team who was responsible for the mess is no longer with the company. nobody has a clue, nobody knows why it's in there and nobody knows what will happen. if you do it anyway a huge shitstorm will start where everybody is complaining about the "incompetent" consultant.
the easiest option is always not to do anything (also called "lets do something else"), but well - that's the losers way.
so what to do
I) always start with hard cold data (i.e.: perf stats, specs of how many redirect the different browsers follow, ..), because this is the best way to ->
II) get rid of personalities - technical owners are great during product development, are liability and burden during maintenance and restructuring.
III) make sure that everybody understands that things will get worse before they get better
IV) focus on execution (a.k.a. do it anway, no matter what)
V) be aware that - newly introduced - bugs that do not kill the company will not get fixed right away
VI) be aware that there will be major criticism - and a lot of pressure on the CEO
and well, this is only the process for the absolutely sane changes you want to introduce. lets imagine the process for stuff where there would be an actual need for discussion.
it's an awesome job, it's a horrible job, it called consulting https://www.youtube.com/watch?v=TBJMq-isHU4#t=23
update: step LXVIII) take the blame, all of it, but never the praise