Making all good things new
5 comments | Posted: 24 January 07 in General, by Natalie Jost
There have been numerous projects that have come across my desk which I’ve had to decline for some reason. My top three reasons for turning down a project would be:
- Moral or ethical hindrances
- The job is simply more work than it’s worth and I can’t afford the time
- It becomes clear the prospective client is unclear about his own requirements and needs more time
Today I want to talk about the second most common reason because I think it is not only a common hurdle for most of you, but it’s the kind of hurdle we don’t talk about much. When I say a job is more work than it’s worth, I’m referring to taking over or modifying existing code. No one enjoys taking the reigns from or assisting on code work which another designer or developer has already put together. We all like things clean, clear, and in our own language. We also realize the need for compromise and learning to work within the boundaries set before us, so there are those times when we won’t have the luxury of refusing work on that basis, particularly when there’s a boss within firing range. But for those of you who do have that freedom, read on.
It’s easier in general to start from scratch
My husband is in construction and he built (or remodeled) the home we lived in when we were married. I remember a conversation we had when I moved in, in which I asked him why he had gutted the whole thing when he had a pretty decent house going in? He told me that though the structure and foundation of the home were good, the layout was all wrong and the house just needed to be rebuilt on the inside. It was a very small house, only about 800 square feet, so he didn’t have much to work with and trying to fit a bathroom in a house that wasn’t built with one originally would have been a nightmare if he hadn’t started from scratch. When I asked him if he’d have done things differently with our house, he said that yes, he would have actually torn the whole thing down to the foundation and started over.
He has repeatedly told me that houses are so much easier to build from the ground up, rather than trying to tear out and rebuild what someone else has done. I’ve found the same to be true of websites. Some websites are just better off being rebuilt from a blank file.
Parenting can be similar too, as in the case of adoption, because you are essentially adopting a website from a previous developer. When I was growing up I had a brother who had all kinds of behavioral problems and my mom had a tough time with it. Her trouble stemmed from his having been adopted at age four. There were four years of his life where some other person, group of people, or government system were caring for him (or not caring for him as it were). This left my parents with four years of damage to try to undo, which turned out to be mostly impossible. I’m the first to agree that adopting an infant (as with building a brand new site) is much easier than trying to make something beautiful out of someone else’s mistakes, and when there are years of mistakes, it may be cause to move on.
How to know when it’s time to rebuild
I was recently approached by a developer who wanted me to help in touching up his existing site. I get these calls a lot, and as much as I love a challenge, I can usually tell pretty quickly if this particular job is one I want to take on.
We’re all here because we have some appreciation for web standards, so this should be the most obvious point to look at. If at first glance under the “hood” (viewing the source), I find a site structure involving tables, it doesn’t look good. That’s not to say a site can’t use tables, because a lot of websites still do, and will for a long time, but it’s not a good starting place. With hand-coding, it’s a major hurdle to get over the weight of tables, inline styles and other poor markup. It’s like the house not build for a bathroom. It would take a lot of work to get that site really functioning at a comfortable level without wiping it all out and starting over.
A good website today, if it wants to attract any kind of regular and long-standing visitor base, is going to have to update its content somewhat regularly. This doesn’t necessarily mean a blogger’s pace of daily or weekly, but at the very least once a year is good. But as new content comes on the scene it can often appear out of place or out of sync with the existing make up of the site. New content on an old website is sort of like new wine in an old wineskin.
“no one puts new wine into old wineskins; or else the new wine will burst the wineskins and be spilled, and the wineskins will be ruined. But new wine must be put into new wineskins, and both are preserved. And no one, having drunk old wine, immediately desires new; for he says, ‘The old is better.’” Luke 5:37-39
You have to laugh to read that last bit when you recall the number of conversations about resistance to change and how some people seem to see anything new as “new for the sake of new”. In reality, it is new for the sake of preservation – preserving a company, a church, a reputation with an online community. New is sometimes a necessary thing when the old is holding progress down. When a wineskin is about to burst or a piece of fabric is torn from being badly patched, it may just be time for change.
How to break the news
A more practical and less philosophical way to look at it is to actually calculate how much time it would take to undo a bad site and then compare it to the cost of building a new one from scratch. Estimate the number of hours, multiply by your hourly rate and if you find that fixing the existing site would cost $4,000 but the cost of developing code for a new site only costs $1,000, you have some real numbers to talk about with your client. Tell them that realistically, it very well could cost four times as much to fix a problem than to just wipe the slate clean. Practical, provable advice: this is what clients and bosses love.
If money is no object and time is of the utmost importance, do the same exercise and demonstration with units of time instead of money. Explain and show the amount of time it would take to fix the problem and compare it to the time in building something new. Be honest and realistic, but be firm. You may find in your research that it really is not that much more work after all and that the problems are not quite as bad as you thought. This is still good. I’m talking to myself here too when I say stay focused on client’s best interests and you can’t lose, no matter what the verdict. If the site is dead weight, say so, but be ready to explain how and why and offer the solution. And, if money and time are both non-issues, take the job and run with it!
If you think about it, God faced this same thing with humanity some thousands of years ago. He noticed the world was sinful, dying, a mess. With a great flood He wiped the slate clean and started over with a new family who He hoped would carry on in goodness. But that family had its own imperfections and in time God had to make a decision again. Thankfully He had already promised not to bring a flood on the earth again, but in His own way, he started over. Even the second time He knew it was too costly to fix our mistakes for us. Instead, He created a new man, a perfect man in Jesus, who was to make up for our imperfections and be the example our lives should take.
“Therefore, if anyone is in Christ, he is a new creation; old things have passed away; behold, all things have become new.”
2 Corinthians 5:17
God knows more than anyone when it is time to rebuild and He uses the Holy Spirit to “wipe out” our imperfections and start anew in us. If the Lord can have such love for us, let us honor the work we do in the same way by lovingly making things new with the same care and consideration.
Discuss This Topic
Comments closed after 2 weeks.