client problems - misaligned expectations & not following SDLC protocols
im having some serious problems with a client on a project - i could use some advice please
<hr/>

**the short version**  

 - i have been working with this client
   now for almost 6 months without any
   problems (a classified website
   project in the range of 500 hours)  
   
 - over the last few days things have
   drastically deteriorated to the point
   where ive had to place the project
   on-hold whilst i work-out what to do
   (this has pissed the client off even
   more)
   
 - to be simplistic, the root cause of
  the issue is this: the client doesnt
  read the specs i make for him, i code
  the feature, he than wants to change
  things, i tell him its not to the agreed spec and that that change will have to be postponed and possibly charged for, he gets upset and rants saying 'hes paid for the
  feature' and im not keeping to the agreement (<- misalignment of expectations)

 - i think the root cause of the root cause is my clients failure to take my SDLC protocols seriously. i have a bug tracking system in place which he practically refuses to use (he still emails me bugs), he doesnt seem to care to much for the protocols i use for dealing with scope creep and change control

 - the whole situation came to a head recently where he 'cracked it' (an aussie term for being fed-up). the more terms like 'postponed for post-launch implementation', 'costed feature addition', and 'not to agreed spec' i kept using, the worse it got

 - finally, he began to bully me - basically insisting i shut-up and do the work im being paid for. i wrote a long-winded email explaining how wrong he was on all these different points, and explaining what all the SDLC protocols do to protect the success of the project. than i deleted that email and wrote a new one

 - in the new email, i suggested as a solution i write up a list of grievances we both had. we than review the list and compromise on different points: he gets some things he wants, i get some things i want. sometimes youve got to give ground to get ground

 - his response to this suggestion was flat-out refusal, and a restatement that i should just get on with the work ive been paid to do 

so there you have the very subjective short version. if you have the time and inclination, the long version may be a little less bias as it has the email communiques between me and my client

<hr/>

**the long version (with background)**

the long version works by me showing you the email communiques which lead to the situation coming to a head. so here it is, judge for yourself

*where the trouble started...*
<hr/>
**1.**
client asked me why something was missing from a feature i just uploaded, my response was to show him what was in the spec:
![alt text][1]
![alt text][2]
it basically said the item he was looking for was never going to be included
<hr/>
**2.** *[clients response...]*

Memo Louis,

We are following your own title fields and keeping a consistent layout. Why the big fuss about not adding "Part". It simply replaces "model" and is consistent with your current title fields.
<hr/>
**3.** *[my response...]*

hi [client],

the 'part' field appeared to me as a redundancy / mistake. i requested clarification but never received any in a timely manner (about 2 weeks ago)

the specification for this feature also indicated it wasnt going to be included:
![alt text][3]

**RE:** "Why the big fuss about not adding "Part" "

it may not appear so, but it would actually be a lot of work for me to now add a 'Part' field

it could take me up to 15-20 minutes to properly explain why its such a big undertaking to do this, but i would prefer to use that time instead to work on completing your v1.1 features

as a simplistic explanation - it connects to the change in paradigm from a 'generic classified ad' model to a 'specific attributes for specific categories' model

basically, i am saying it is a big fuss, but i understand that it doesnt look that way - after all, it is just one ity-bitty field :)

if you require a fuller explanation, please let me know and i will commit the time needed to write that out

also, if you recall when we first started on the project, i said that with the effort/time required for features, you would likely not know off the top of your head. you may think something is really complex, but in reality its quite simple, you might think something is easy - but it could actually be a massive trauma to code (which is the case here with the 'Part' field). if you also recalled, i said the best course of action is to just ask, and i would let you know on a case-by-case basis
<hr/>

**4.** *[email from me to client...]*

hi [client],

the online catalogue page is now up live (see my email from a few days ago for information on how it works)

note: the window of opportunity for input/revisions on what data the catalogue stores has now closed (as i have put the code up live now)

**RE:** the UI/layout of the online catalogue page
you may still do visual/ui tweaks to the page at the moment (this window for input/revisions will close in a couple of days time)
<hr/>

**5.** *[email from client to me...]* *(note: i had put up the feature & asked the client to review it, never heard back from them for a few days)*

Memo Louis,

Here you go again. CLOSED without a word of input from the customer. I don't think so.
I will reply tomorrow regarding the content and functionality we require from this feature.

<hr/>
**5.** *[from me to client...]*

hi [client]:

**RE:**
![alt text][4]

from my understanding, you are saying that the mini-sale yard control would change itself based on the fact someone was viewing for parts & accessories <- is that correct?

this change is outside the scope of the v1.1 mini-spec and therefore will need to wait 'til post launch for costing/implementation

<hr/>
**6.** *[email from client to me...]*

Memo Louis,

Following your v1.1 mini-spec and all your time paid in full for the work selected.
We need to make the situation clear. There will be no further items held for post-launch.
Do not expect us to pay for any further items other than those we have agreed upon.
You have undertaken to complete the Parts and accessories feature as follows.
Obviously, as part of this process the "mini search" will be effected, and will require "adaption to make sense".
<hr/>

**7.** *[email from me to client...]*

hi [client],

**RE:** "There will be no further items held for post-launch. Do not expect us to pay for any further items other than those we have agreed upon."

a few points to consider:

1) the specification for the 'parts & accessories' feature was as follows:
![alt text][5]
(i.e. [what] "...we have agreed upon.")

2) you have received the 'parts & accessories' feature *free of charge* (you have paid $0 for it). ive spent two days coding that feature as a gesture of good will

i would request that you please consider these two facts carefully and sincerely
<hr/>
**8.** *[email from client to me...]*

Memo Louis,

I don't see how you are giving us anything for free.

From your original fee proposal you have deleted more than 30 hours of included features. Your title "shelved features".

Further you have charged us twice by adding back into the site, at an addition cost, some of those "shelved features" features. See v1.1 mini-spec.

Did include in your original fee proposal a change request budget but then charge without discussion items included in v1.1 mini-spec.

Included a further Features test plan for a regression test, a fee of 10 hours that would not have been required if the "shelved features" were not left out of the agreed fee proposal.

I have made every attempt to satisfy your your uneven business sense by offering you everything your heart desired, in the v1.1 mini-spec, to be left once again with your attitude of "its too hard, lets leave it for post launch".

I am no longer accepting anything less than what we have contracted you to do. That is clearly defined in v1.1 mini-spec, and you are paid in advance for delivering those items as an acceptable function.
<hr/>
*a few notes about the above email...*

1. i had to cull features from the original spec because it didnt fit into the budget. i explained this to the client at the start of the project (he wanted more features than he had budget hours to do them all)

2. nothing has been charged for twice, i didnt charge the client for culled features. im charging him to now do those culled features

3. the draft version of the project schedule included a change request budget of 10 hours, but i had to remove that to meet the budget (the client may not have been aware of this to be fair to them)

4. what the client refers to as my attitude of 'too hard/leave it for post-launch', i called a change request protocol and a method for keeping scope creep under control

<hr/>
**9.** *[email from me to client...]*

hi [client],

**RE:** *"...all your grievances..."*

i had originally written out a long email response; it was fantastic, it had all these great points of how 'you were wrong' and 'i was right', you would of loved it (and by 'loved it', i mean it would of just infuriated you more)

so, i decided to deleted it start over, for two reasons:

1) a long email is being disrespectful of your time (youre a busy businessman with things to do)

2) whos wrong or right gets us no closer to fixing the problems we are experiencing

what i propose is this...
i prepare a bullet point list of your grievances and my grievances (yes, im unhappy too about how things are going - and it has little to do with money)

i submit this list to you for you to add to as necessary

we then both take a good hard look at this list, and we decide which areas we are willing to give ground on

as an example, the list may look something like this:

* "louis, you keep taking away features you said you would do"
* [your grievance 2]
* [your grievance 3]
* [your grievance ...]
* "[client], i feel you dont properly read the specs i prepare for you..."
* [my grievance 2]
* [my grievance 3]
* [my grievance ...]

if you are willing to give this a try, let me know

will it work? who knows. but if it doesnt, we can always go back to arguing some more :)

obviously, this will only work if you are willing to give it a genuine try, and you can accept that you may have to 'give some ground to get some ground'

what do you think?
<hr/>
**10.** *[email from client to me ...]*

Memo Louis,

Instead of wasting your time listing grievances, I would prefer you complete the items in v1.1 mini-spec, to a satisfactory conclusion.

We almost had the website ready for launch until you brought the v1.1 mini-spec into the frame.

Obviously I expected you could complete the v1.1 mini-spec in a two-week time frame as you indicated and give the site a more profession presentation.

Most of the problems have been caused by you not following our instructions, but deciding to do what you feel like at the time. And then arguing with us how the missing information is not necessary. For instance "Parts and Accessories". Why on earth would you leave
out the parts heading, when it ties-in with the fields you have already developed. It replaces "model" and is just as important in the context of information that appears in the "Details" panel.

We are at a stage where the the v1.1 mini-spec needs to be completed without further time wasting and the site is complete (subject to all features working). We are on standby at this end to do just that.

Let me know when you are back, working on the site and we will process and complete each v1.1 mini-spec, item by item, until the job is complete.

<hr/>

**11.** *[last email from me to client...]*

hi [client],

based on this reply, and your demonstrated unwillingness to compromise/give any ground on issues at hand, i have decided to place your project on-hold for the moment

i will be considering further options on how to over-come our challenges over the next few days

i will contact you by monday 17/may to discuss any new options i have come up with, and if i believe it is appropriate to restart work on your project at that point or not

<hr/>

told you it was long... what do you think?


  [1]: https://mail.google.com/mail/?ui=2&ik=ab2750d2ad&view=att&th=1287c994972c3a26&attid=0.2&disp=emb&realattid=ii_1287c9872eb6c63f&zw
  [2]: https://mail.google.com/mail/?ui=2&ik=ab2750d2ad&view=att&th=1287c994972c3a26&attid=0.1&disp=emb&realattid=ii_1287c98d02b6298f&zw
  [3]: https://mail.google.com/mail/?ui=2&ik=ab2750d2ad&view=att&th=1288aea0a3cf27cc&attid=0.1&disp=emb&realattid=ii_1288ae2610940ec1&zw
  [4]: https://mail.google.com/mail/?ui=2&ik=ab2750d2ad&view=att&th=1287bcdbaafedd0d&attid=0.1&disp=emb&realattid=ii_1287bcb2cc09c12b&zw
  [5]: https://mail.google.com/mail/?ui=2&ik=ab2750d2ad&view=att&th=1288aa78e6f0a104&attid=0.1&disp=emb&realattid=ii_1288aa35b775044a&zw
client problems - misaligned expectations & not following SDLC protocols
===

im having some serious problems with a client on a project - i could use some advice please
<hr/>

**the short version**  

 - i have been working with this client
   now for almost 6 months without any
   problems (a classified website
   project in the range of 500 hours)  
   
 - over the last few days things have
   drastically deteriorated to the point
   where ive had to place the project
   on-hold whilst i work-out what to do
   (this has pissed the client off even
   more)
   
 - to be simplistic, the root cause of
  the issue is this: the client doesnt
  read the specs i make for him, i code
  the feature, he than wants to change
  things, i tell him its not to the agreed spec and that that change will have to be postponed and possibly charged for, he gets upset and rants saying 'hes paid for the
  feature' and im not keeping to the agreement (<- misalignment of expectations)

 - i think the root cause of the root cause is my clients failure to take my SDLC protocols seriously. i have a bug tracking system in place which he practically refuses to use (he still emails me bugs), he doesnt seem to care to much for the protocols i use for dealing with scope creep and change control

 - the whole situation came to a head recently where he 'cracked it' (an aussie term for being fed-up). the more terms like 'postponed for post-launch implementation', 'costed feature addition', and 'not to agreed spec' i kept using, the worse it got

 - finally, he began to bully me - basically insisting i shut-up and do the work im being paid for. i wrote a long-winded email explaining how wrong he was on all these different points, and explaining what all the SDLC protocols do to protect the success of the project. than i deleted that email and wrote a new one

 - in the new email, i suggested as a solution i write up a list of grievances we both had. we than review the list and compromise on different points: he gets some things he wants, i get some things i want. sometimes youve got to give ground to get ground

 - his response to this suggestion was flat-out refusal, and a restatement that i should just get on with the work ive been paid to do 

so there you have the very subjective short version. if you have the time and inclination, the long version may be a little less bias as it has the email communiques between me and my client

<hr/>

**the long version (with background)**

the long version works by me showing you the email communiques which lead to the situation coming to a head. so here it is, judge for yourself

*where the trouble started...*
<hr/>
**1.**
client asked me why something was missing from a feature i just uploaded, my response was to show him what was in the spec:
![alt text][1]
![alt text][2]
it basically said the item he was looking for was never going to be included
<hr/>
**2.** *[clients response...]*

Memo Louis,

We are following your own title fields and keeping a consistent layout. Why the big fuss about not adding "Part". It simply replaces "model" and is consistent with your current title fields.
<hr/>
**3.** *[my response...]*

hi [client],

the 'part' field appeared to me as a redundancy / mistake. i requested clarification but never received any in a timely manner (about 2 weeks ago)

the specification for this feature also indicated it wasnt going to be included:
![alt text][3]

**RE:** "Why the big fuss about not adding "Part" "

it may not appear so, but it would actually be a lot of work for me to now add a 'Part' field

it could take me up to 15-20 minutes to properly explain why its such a big undertaking to do this, but i would prefer to use that time instead to work on completing your v1.1 features

as a simplistic explanation - it connects to the change in paradigm from a 'generic classified ad' model to a 'specific attributes for specific categories' model

basically, i am saying it is a big fuss, but i understand that it doesnt look that way - after all, it is just one ity-bitty field :)

if you require a fuller explanation, please let me know and i will commit the time needed to write that out

also, if you recall when we first started on the project, i said that with the effort/time required for features, you would likely not know off the top of your head. you may think something is really complex, but in reality its quite simple, you might think something is easy - but it could actually be a massive trauma to code (which is the case here with the 'Part' field). if you also recalled, i said the best course of action is to just ask, and i would let you know on a case-by-case basis
<hr/>

**4.** *[email from me to client...]*

hi [client],

the online catalogue page is now up live (see my email from a few days ago for information on how it works)

note: the window of opportunity for input/revisions on what data the catalogue stores has now closed (as i have put the code up live now)

**RE:** the UI/layout of the online catalogue page
you may still do visual/ui tweaks to the page at the moment (this window for input/revisions will close in a couple of days time)
<hr/>

**5.** *[email from client to me...]* *(note: i had put up the feature & asked the client to review it, never heard back from them for a few days)*

Memo Louis,

Here you go again. CLOSED without a word of input from the customer. I don't think so.
I will reply tomorrow regarding the content and functionality we require from this feature.

<hr/>
**5.** *[from me to client...]*

hi [client]:

**RE:**
![alt text][4]

from my understanding, you are saying that the mini-sale yard control would change itself based on the fact someone was viewing for parts & accessories <- is that correct?

this change is outside the scope of the v1.1 mini-spec and therefore will need to wait 'til post launch for costing/implementation

<hr/>
**6.** *[email from client to me...]*

Memo Louis,

Following your v1.1 mini-spec and all your time paid in full for the work selected.
We need to make the situation clear. There will be no further items held for post-launch.
Do not expect us to pay for any further items other than those we have agreed upon.
You have undertaken to complete the Parts and accessories feature as follows.
Obviously, as part of this process the "mini search" will be effected, and will require "adaption to make sense".
<hr/>

**7.** *[email from me to client...]*

hi [client],

**RE:** "There will be no further items held for post-launch. Do not expect us to pay for any further items other than those we have agreed upon."

a few points to consider:

1) the specification for the 'parts & accessories' feature was as follows:
![alt text][5]
(i.e. [what] "...we have agreed upon.")

2) you have received the 'parts & accessories' feature *free of charge* (you have paid $0 for it). ive spent two days coding that feature as a gesture of good will

i would request that you please consider these two facts carefully and sincerely
<hr/>
**8.** *[email from client to me...]*

Memo Louis,

I don't see how you are giving us anything for free.

From your original fee proposal you have deleted more than 30 hours of included features. Your title "shelved features".

Further you have charged us twice by adding back into the site, at an addition cost, some of those "shelved features" features. See v1.1 mini-spec.

Did include in your original fee proposal a change request budget but then charge without discussion items included in v1.1 mini-spec.

Included a further Features test plan for a regression test, a fee of 10 hours that would not have been required if the "shelved features" were not left out of the agreed fee proposal.

I have made every attempt to satisfy your your uneven business sense by offering you everything your heart desired, in the v1.1 mini-spec, to be left once again with your attitude of "its too hard, lets leave it for post launch".

I am no longer accepting anything less than what we have contracted you to do. That is clearly defined in v1.1 mini-spec, and you are paid in advance for delivering those items as an acceptable function.
<hr/>
*a few notes about the above email...*

1. i had to cull features from the original spec because it didnt fit into the budget. i explained this to the client at the start of the project (he wanted more features than he had budget hours to do them all)

2. nothing has been charged for twice, i didnt charge the client for culled features. im charging him to now do those culled features

3. the draft version of the project schedule included a change request budget of 10 hours, but i had to remove that to meet the budget (the client may not have been aware of this to be fair to them)

4. what the client refers to as my attitude of 'too hard/leave it for post-launch', i called a change request protocol and a method for keeping scope creep under control

<hr/>
**9.** *[email from me to client...]*

hi [client],

**RE:** *"...all your grievances..."*

i had originally written out a long email response; it was fantastic, it had all these great points of how 'you were wrong' and 'i was right', you would of loved it (and by 'loved it', i mean it would of just infuriated you more)

so, i decided to deleted it start over, for two reasons:

1) a long email is being disrespectful of your time (youre a busy businessman with things to do)

2) whos wrong or right gets us no closer to fixing the problems we are experiencing

what i propose is this...
i prepare a bullet point list of your grievances and my grievances (yes, im unhappy too about how things are going - and it has little to do with money)

i submit this list to you for you to add to as necessary

we then both take a good hard look at this list, and we decide which areas we are willing to give ground on

as an example, the list may look something like this:

* "louis, you keep taking away features you said you would do"
* [your grievance 2]
* [your grievance 3]
* [your grievance ...]
* "[client], i feel you dont properly read the specs i prepare for you..."
* [my grievance 2]
* [my grievance 3]
* [my grievance ...]

if you are willing to give this a try, let me know

will it work? who knows. but if it doesnt, we can always go back to arguing some more :)

obviously, this will only work if you are willing to give it a genuine try, and you can accept that you may have to 'give some ground to get some ground'

what do you think?
<hr/>
**10.** *[email from client to me ...]*

Memo Louis,

Instead of wasting your time listing grievances, I would prefer you complete the items in v1.1 mini-spec, to a satisfactory conclusion.

We almost had the website ready for launch until you brought the v1.1 mini-spec into the frame.

Obviously I expected you could complete the v1.1 mini-spec in a two-week time frame as you indicated and give the site a more profession presentation.

Most of the problems have been caused by you not following our instructions, but deciding to do what you feel like at the time. And then arguing with us how the missing information is not necessary. For instance "Parts and Accessories". Why on earth would you leave
out the parts heading, when it ties-in with the fields you have already developed. It replaces "model" and is just as important in the context of information that appears in the "Details" panel.

We are at a stage where the the v1.1 mini-spec needs to be completed without further time wasting and the site is complete (subject to all features working). We are on standby at this end to do just that.

Let me know when you are back, working on the site and we will process and complete each v1.1 mini-spec, item by item, until the job is complete.

<hr/>

**11.** *[last email from me to client...]*

hi [client],

based on this reply, and your demonstrated unwillingness to compromise/give any ground on issues at hand, i have decided to place your project on-hold for the moment

i will be considering further options on how to over-come our challenges over the next few days

i will contact you by monday 17/may to discuss any new options i have come up with, and if i believe it is appropriate to restart work on your project at that point or not

<hr/>

told you it was long... what do you think?


  [1]: https://mail.google.com/mail/?ui=2&ik=ab2750d2ad&view=att&th=1287c994972c3a26&attid=0.2&disp=emb&realattid=ii_1287c9872eb6c63f&zw
  [2]: https://mail.google.com/mail/?ui=2&ik=ab2750d2ad&view=att&th=1287c994972c3a26&attid=0.1&disp=emb&realattid=ii_1287c98d02b6298f&zw
  [3]: https://mail.google.com/mail/?ui=2&ik=ab2750d2ad&view=att&th=1288aea0a3cf27cc&attid=0.1&disp=emb&realattid=ii_1288ae2610940ec1&zw
  [4]: https://mail.google.com/mail/?ui=2&ik=ab2750d2ad&view=att&th=1287bcdbaafedd0d&attid=0.1&disp=emb&realattid=ii_1287bcb2cc09c12b&zw
  [5]: https://mail.google.com/mail/?ui=2&ik=ab2750d2ad&view=att&th=1288aa78e6f0a104&attid=0.1&disp=emb&realattid=ii_1288aa35b775044a&zw