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,314 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,314 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
Jun 19, 2013 at 9:52 PM
Working With Inherited Collections In AngularJS
I recognize the applicability of your solution, and how easy it makes to share data across multiple views or even "submodules" of rather simple application. But it seems to me that it creat ... read »
Jun 19, 2013 at 9:38 PM
Directive Link, $observe, And $watch Functions Execute Inside An AngularJS Context
@Alesei, Glad you like it. Even after working with AngularJS for months, I still get a bunch of unexpected, "$digest is already in progress". So hard to debug sometimes! ... read »
Jun 19, 2013 at 9:36 PM
Working With Inherited Collections In AngularJS
@Mike, The relationship of $scope values is definitely an interesting thing! But it's not simple - it really forces you to understand prototypal inheritance, which is not at all a simple topic! Gla ... read »
Jun 19, 2013 at 9:35 PM
Experimenting With The Amazon Simple Storage Service (S3) API Using ColdFusion
@Joe, Oh, super interesting! I had only thought to url-encode the signature; but I think that's because the S3 docs actually have a special NOTE telling you to do so. It would have never occurred t ... read »
Jun 19, 2013 at 9:32 PM
Experimenting With The Amazon Simple Storage Service (S3) API Using ColdFusion
@Richard, Glad you like! Hopefully I'll have some more interesting stuff coming. This morning, I blogged a bit more about generating the pre-signed, query string authenticated URLs; but, then deeme ... read »
Jun 19, 2013 at 9:31 PM
Filter vs. ngHide With ngRepeat In AngularJS
@Mike, Honestly, in the majority of cases, I would say there isn't going to be a difference. Both approaches have trade-offs. If you use the filter, then you have fewer DOM elements and fewer $scop ... read »
Jun 19, 2013 at 2:01 PM
Experimenting With The Amazon Simple Storage Service (S3) API Using ColdFusion
I have coincidentally been beating my head against the S3 API for the last week or so. One big "gotcha" I had to work around was file names and paths containing spaces. Remember to URL Enco ... read »
Jun 19, 2013 at 1:27 PM
Using Slice(), Substring(), And Substr() In Javascript
very good article. By the way IE supports negative values in substr or slice in verson 10. ... read »
InVision App - Prototyping Made Beautiful With Prototyping Tools