David Heinemeier Hansson, a well-known software developer, claims that when faced with the trade off between “done right” and “done right now,” you should always choose to do it right. I find this interesting and actually disagree with his viewpoint.
Realize that “don’t have time right now” is a self-fulling prophesy. You will never have time right now if you don’t take it today. The business is not going to slow down to allow you to clean all these things up one wonderful day.
I admire that thinking and would love to be that committed to the “perfect” design. But in the real world, it doesn’t always work like that. There are a lot of places where the business will slow down and let you complete the unfinished work. Many companies’ business is seasonal and driven by external factors. An online retailer needs to be ready for a rush of Christmas customers, but can be confident that sales will let up a bit in January and February.
My current project is an online service that’s also very seasonal, used heavily in the summer. We had to rush to get a few things completed before we went live in May. Of course there was a trade-off between “done right” and “done right now.” But when we negotiated that trade-off, we made it clear that we couldn’t eliminate the work, we could just postpone it in order to launch on time. Now that things have slowed down, we’re taking the time to clean up some of the inelegant hacks we had initially made. Maybe I’m unusually lucky to have such enlightened customers, but for us, this has worked reasonably well.
I’m sure this won’t work well for everyone. If you’re a very small shop or an independent software vendor, I wouldn’t rely on this. But with the right negotiation and the right commitment level, this strategy can succeed.
0 comments ↓
There are no comments yet. Kick things off by filling out the form below.
Leave a Comment