When refactoring a System or system, there is a lot of finger pointing. This is not to say there is a lot of blame, but there is a lot of “oh no, they really did *that*?” and things of that nature. It is quite the perfect place to be in if you have received the contract and are on a time and materials basis.
Fact: I have seen a company spend more than 2 million refactoring what could have been replicated and improved by an installation of WordPress and a slick PHP developer for under 75k.
Fact: I have seen bills from vendors where one developer will bill for 10 hours and when pressed, it turns out that 2 of those hours were actually hours where they were billing for development and for being on a conference call. That same call (the one time I was able to see this proof without looking hard) had 7 vendor team members on the call. 3 spoke.
Fact: I have seen a “botique NYC” firm do Discovery by asking “so, what do you like about your site? what do you do? what would you like your site to do? Okay, thanks for your time!” *smile, wink, handshake* if it is a guy and *smile, shake hands* if it is a woman they are interviewing. The most this interviewer offered? “Let me get back to you on that.” Of course, they did not. They billed an hour explaining the issue to a developer who billed an hour thinking about it and discussing with the Client Manager who billed an hour relaying that we can use RSS feeds to populate a space on the home page. Sure we can. It will be Out of Scope, but we can do it.
Refactoring is like exploring a cave by yourself; it is like a giant fish tale. Even if you did catch Moby Dick, unless you flung him onshore, who would believe you? Should they believe you? What if you were asking $150/hr to tell you the story about catching a fish they were not able to show you?
Weigh the costs of starting over versus refactoring and give the Open Source community and Agile community a chance. I will bet you that 9 times out of 10 a “real” Agile team using Open Source software will come in at less than half of the cost with better quality in a new System than a big 10 company will deliver in a refactoring effort.
LOTS more to say on this. Enough for a book
Thanks,
J

