Import Lesson: Always Codify Change Requests From Clients

Posted December 12, 2006 at 1:49 PM by Ben Nadel

Tags: Work

I have recently learned a very important lesson. Always codify the changes that clients have requested. If a client requests something over the phone (or even over an email), always, always, always send them an email saying something to the effect of:

"As per our conversation, these are the changes that I will be making..."

And then LIST THEM OUT. This way, 3 months down the road, when a client complains that something wasn't done, you can simply point out that you did exactly what you said you were gonna do AND you did exactly what they SIGNED OFF on. And, you have the paper trail to back it up.

I guess the real lesson here is to always have a paper trail. Always have accountability explicitly defined on something that can be printed out and passed around.

Now, this might sound like this is just for covering your butt in business. Yes, that is a big part of it. But there is more to it. By forcing yourself to get in the habit of reiterating the client's needs back to the client, it forces you to think it out (thereby gaining a better understanding of the work to be done) and it gives the client another chance to say "No, actually you didn't understand... this is what I want."

It's really a win-win situation. Learn from me. Don't get in trouble.



Reader Comments

Dec 12, 2006 at 2:14 PM // reply »
1 Comments

Spot on, and as you say, the practice is valuable way beyond CYA. It clarifies the transaction, serves almost as an are_you-sure? step, and provides an audit trail for whatever purpose you might ever need it, technical or otherwise. Plus, it adds a level of professionalism to the contact stream with the client.

As it happens there have been a few times when tracking down the confirmation email in my archive has given me some needed info that might or might not be related to the edits in question!


Dec 12, 2006 at 2:38 PM // reply »
36 Comments

I would also add that the email should CC or go directly to the person authorized to make change requests. Not the assistant, sister, co-worker, etc.. AND CC the person paying the bill (often different people).

More than once I have seen change requests OK'd by someone who thought they were important only to find out the big boss doesn't care, didn't approve it and will not pay. Or worse yet the accounts payable people get involved and say 'we don't care it isn't on the PO'. If the change request involves hours and money having that clear in the email or signed fax, etc. is very important.


Dec 12, 2006 at 3:32 PM // reply »
11,238 Comments

Josh,

It's funny you mention that because this lesson that I learned was pretty much along those lines. The person who made the change request for an application was not even the person that uses the application. Once the changes were rolled out, the main guy called me up and was curious as to why the system had been changed. :)

Now we have to roll back changes to the code and the DB (on a remote server) all the while being careful to not corrupt data that has been put into the new DB structures. Sweeet.


Dec 12, 2006 at 3:39 PM // reply »
36 Comments

If anything like a current client of ours they will ask you about 3 weeks later to reinstate all of your changes you just reverted. And be angry you are charging them again.


Dec 12, 2006 at 3:42 PM // reply »
11,238 Comments

Ha ha, quite true. I think we've all had clients like that.


Dec 12, 2006 at 11:21 PM // reply »
50 Comments

Ben,

Good advise. In my experience most programming problems come from misunderstanding the requirements.

Detailing your understanding is a good way to help make sure your understanding is correct.


Dec 14, 2006 at 12:43 PM // reply »
6 Comments

That is good advice. I don't send an email to the client, but I do keep a version log of all the changes I make.


Post A Comment

Comment Etiquette: Please do not post spam. Please keep the comments on-topic. Please do not post unrelated questions or large chunks of code. And, above all, please be nice to each other - we're trying to have a good conversation here.

Please review the following issues:

Author Name:


Author Email:

Author Website:

Comment:

Supported HTML tags for formatting: <strong>bold</strong>   <em>italic</em>   <code>code</code>







  • Help Wanted - Find Your Next ColdFusion Job
Ben Nadel's Company - Epicenter Consulting Recent Blog Comments
May 21, 2013 at 7:46 PM
Using Plupload For Drag & Drop File Uploads In ColdFusion
No luck. At least I have uncovered the cause, URLScan 3.1. Here is what I see in the IIS log when a file is over 30mb. 2013-05-21 23:29:05 10.105.45.128 GET /plupload/assets/jquery/jquery-1.8. ... read »
May 21, 2013 at 6:12 PM
Using Plupload For Drag & Drop File Uploads In ColdFusion
Ben, I did not see you after Pete Freitag's Lockdown session at cfObjective but he said that IIS sets file size limits at 30MB by default which just happened to be the threshold for file size when ... read »
May 21, 2013 at 11:51 AM
Ask Ben: Parsing Very Large XML Documents In ColdFusion
Looking at my first ever XML document that I have to parse and put into MS SQL 2000 with CF8. I get it to list the desired Field name, many times over, and have a long list of this field name displa ... read »
May 21, 2013 at 9:25 AM
Turning Off and On Identity Column in SQL Server
you are awesome..i am lucky to get this blog between such a garbage one....Thanks, Prashant ... read »
May 20, 2013 at 4:38 PM
Using A Dynamic Column Name With ValueList() In ColdFusion
@Dana, Your confusion is well founded, since this is a very confusing features. In fact, it ONLY works if you use array notation. Meaning, that this: arrayToList( query[ "columnName" ] ) ... read »
May 20, 2013 at 4:34 PM
Using A Dynamic Column Name With ValueList() In ColdFusion
I was thinking chicken and the egg, I wouldn't have expected it to work in the valuelist going in I guess. Maybe I just need a beer, long day :) ... read »
May 20, 2013 at 4:29 PM
Using A Dynamic Column Name With ValueList() In ColdFusion
@Dana, That's if you're trying to reference a specific row. In this case, we're trying to reference the entire query column as one cohesive value. So, you are correct that if you wanted to output a ... read »
May 20, 2013 at 4:24 PM
Using A Dynamic Column Name With ValueList() In ColdFusion
I thought when you used array notation to reference queries you always had to have the row or it would throw a similar error as well? ... read »
InVision App - Prototyping Made Beautiful With Prototyping Tools