Action is the great thing that escapes most people!

StopDoingNothing!

December 10th, 2007 at 8:10 am

5 ways to screw up a (web) project

I’ve been in business for myself ~10 years so I consider myself pretty wise when it comes to running my business and keeping people happy. We’ve experienced steady growth, have good commercial and government contracts in motion, and our customers are very pleased with the work that we produce.

But I learned a hard lesson recently. I dove into a project and forgot some of the basics. And I got just what I deserved - an unhappy customer. There are few things in the world that get me more upset or depressed than a displeased customer. Whether it is our fault, their fault, or nobody’s fault in particular. It just makes me sick.

So as a public reminder to you, me and anybody that lives and dies by customer satisfaction and referrals let’s get back to the basics of what it generally takes to keep people happy on both sides of the engagement.

1. We plan our work. We work our plan - what the heck does that mean?

We layout the work that needs to be done, when it will be done, and what the end objective is. And then we stick to it. If it needs to be changed I need to clearly explain to you what you are asking for . And you need to understand the impact of the change. Mr Client - don’t trip me in the middle of running around the bases and expect me to make it to home plate when I said I was. Understand that every little change you request affects something else.

2. An unplanned event on your part does not mean an emergency on my part.

Unbeknownst to me my client had an internal deadline. I thought we had plenty of time to code, test, QA, validate results - you know all of the normal stuff you do on a project. Then I get a call on a Monday morning “I just cut us over to the new site. We can fix things on the live site as we need to”. Are you kidding me? I am sure now you want my time. But it just so happens that when you called over and committed me (in your mind) to supporting your live site I was onsite with another client where I planned to be doing work I had already planned for the day. Please don’t expect and demand a kneejerk reaction to something you did not warn me about earlier. You are not my only client. I am trying to keep other people just as happy as I keep you.

3. We are not magicians.

Application development is not rocket science. After doing it for this many years I can do alot of it on spare brain cells. But it is also not duck soup. We cannot do the impossible, so please don’t demand the impossible. Especially when I have told you up front that the possible is impossible. When I say it cannot be done or it will take a lot more time - trust me ; I usually know what I am talking about. That is why you are paying me. If you knew how to do my job you would not need me. Take my advice. You are paying me good money for it.

4. You have to test EVERYTHING we do. Even after we test it.

You and I are in a client-contractor relationship. What this means is that you are paying me for a certain expected result. If we have both communicated properly then I have a pretty good idea of what you want. But it is not up to me to determine what you want and when it is done. That can only be done by you. It is your project. So when we say something is complete and it needs to be tested. IT NEEDS TO BE TESTED. There are a myriad of ways we can miscommunicate and I can misunderstand what you want . When I think about somebody testing my results I always think of the phrase “I know that you believe you understand what you think I said, but I’m not sure you realize that what you heard is not what I meant”

5. Do not use anything that we produce until you AND I have agreed it is ready.

I know this sounds contrary to #4, but to me it is definitely different. Just because you do your part and test my work please check with me before assuming that it is ready to go live. There are a myriad of reasons for doing this. We programmers have a lot thinks going on behind the scenes. Maybe you are using test data and we need to load live data before you go live. Maybe we put some testing hooks in our code. Maybe we don’t think our own work is done. It really does not matter. Communicate with me when you want to use what I produce.

There you have it. Learn from my mistakes. I sure hope I have.

 

RSS feed for comments on this post | TrackBack URI