“Our project has been 90% complete for a year now…”

“Our project has been 90% complete for a year now…”

We have a running joke in my office about people/project who are “90% complete”.  I can’t tell you how many times we’ve talked to a client who says “Yeah, I hired this guy like a year ago.  He said it would take 4 months to make my web app, but here we are still not 100%.  We’re like 90% done, we just need that little push to get us to 100%”.  We take a quick look at their application (say e-commerce) and find out you can’t manage products, check out a cart, sign up for a user account.  Very far from 90% indeed.

Or clients with a WordPress theme jam packed with Lorem Ipsum, and stock photos.  Not to mention on their live URL, causing SEO issues.

90%?  Suurrrreeee…

What people don’t realize is that software is never 100%.  You’ll never make it to 100%.  No software that I know of was released at version 1 and has never changed.  It’s constantly being updated.  Tweaked, fixed, broken, you name it.  What owners of websites/web applications need to realize is that your project is an ongoing deal that will need constant attention, updates, etc.  Things change.  Business relationships, sources of data, needs of the business.  As business changes, so will your site/application.

I used to think I could sell someone a site/application, shake hands at the end of the project and we both walk away happy.  After 10+ years of development I’ve learned a few things.  One of those things is that you become personally invested in a project for the life of the project.   I have some software applications 3-5+ years old, still chugging along.  Written with horribly designed, non object-orientated code, but running.

I now know every website/web application I touch has the potential to stick with me for years.  The client could potentially use it for years.  It makes you think twice when you write code.  You want the system to make sense to the “next guy”.  Sometimes that “next guy” is future you.  I’m sure future programmer me, would fire current me because I’ll learn more, change my ways, adapt to ever changing technologies.

I also learned that there is no 100%.  You can be stable for some time, days, weeks, months, years, but there will be some need for attention in the future.  We know consider all of our projects 90% complete, and we plan to work perceptually on it.  Knowing that nothing can ever be 100% done in web.