Coding Horror: Version 1 Sucks, But Ship It Anyway

What’s important isn’t so much the initial state of the software — in fact, some say if you aren’t embarrassed by v1.0 you didn’t release it early enough — but what you do after releasing the software.

Couldn’t agree more with this, and lately on some projects I’ve had to remind myself of this mantra on a daily basis. This is right in line with the “worse is better” principle ( http://en.wikipedia.org/wiki/Worse_is_better ), and since by nature software developers tend to be perfectionists, it’s often difficult to let go, realize it will never be done, and focus on the bare minimum to get the application out the door.

A commenter on this post does have a good point, namely that you shouldn’t ship it so early that your customers lose faith. So focus on the bare minimum of features that make the application usable, make sure that small set of features is rock solid, and launch the damn thing! After launch you’ll impress your users with all the cool features you add one by one, not to mention in the meantime you’re getting real feedback from real users, and before you know it you have an amazing application on your hands.

The Truth About IT Consultants | I, Cringely

1) “This can only be accomplished through a large custom development project.”

2) “Of course your data is safe.”

3) “We’ll need a day or two for optimization and debugging.”

4) “Yes, we’ve done this before. There are several companies using this product (or technology). They really like it.”

5) “Server consolidation and virtualization will save you money.”

6) “Storage consolidation and virtualization will save you money.”

7) “The upgrade (or change) will be seamless and will not affect production.”

8) “The upgrade (or change) will be transparent to users.”

9) “Yes, we tested this thoroughly before installing it.”

10) “If you install Tivoli it will solve all your support problems.”

An oldie but a goodie. A friend of mine is about to go down this road to hell on a project (and I’m not so sure this road is even paved with good intentions …), and it’s amazing to me that the same mistakes are made over and over and over again.

Get someone to listen to you and come up with an appropriate solution FOR YOU. Most IT consultants are salesmen. They work for a company, not for you, and their #1 goal is to get you to buy their wares, regardless of whether or not they’re appropriate for your project.

Don’t let a salesman run the show. Talk to your internal IT staff first and see what THEY think you need. Then let them actually use their expertise in choosing or building the right solution. The second you start getting RFPs from big consulting shops, if you’re not careful just expect to get completely screwed.