Scope Creep Impossible Deadline and Contracts

I have a big dilemma. Let me first set the stage and then you can all give me an idea of what my best options are:

January: I get a prospect for a custom subscriber website with an ecommerce cart. I deliver a proposal and contract detailing a subscriber module with a sponsorship module for a specific business usergroup who can “sponsor” other members for a trial membership. The site also requires an affiliate program being available to the “sponsor” roles with the option of a “free discount coupon” for the sponsor/business usergroup to print out and hand to their clients. Client signs off on this contract with this specification for this specific business usergroup.

February: Client writes a “Business Model” for her business. I review it, note that the requirement for “Quickbooks integration” was not in scope for the website. A phone call has us discussing the “business usergroup” which now includes other business entities but no mention of any other changes.

I review PCI Compliance (now more of an expert than most people on the planet and led me to develop my blog site specifically on it) After this review, I realize the CMS ecommerce functionality will not help them, particularly after they refuse to use Paypal. I go out online and research up a new payment gateway company that will allow them hosted payments and scheduled payments w/ the ability to use tokenization to make additional charges & schedule subscriber payments. I explained to them that it took a long time to decypher the API for this company but I got it done.

I work my tail off, putting over 200 hours into the project. (I had told the client that I would split the cost of development and regain my costs via resell of the software). I end up being late but detailed everything that was done to create this new module to the CMS. Finally get the first beta up for testing 3 weeks later than the deadline in the contract. Fortunately the contract states “Customer acknowledges, however, that this delivery deadlines and other payment milestones listed int he Project Proposal, are estimates, and are not required delivery dates.” which I use when they continue emailing that they are not happy.

Client asks for a testing script on the software. I write a step by step process for testing the software. Client’s husband (a 30 year veteran of programming) goes through the testing over the course of a week. Client’s husband emails twice and has one phone discussion. Client’s husband admits that he does not know how the software is suppose to work. He discusses the website with client.

The first email is full of questions/ fixes and the second email details database changes in a rough ER diagram. They discuss that the affiliate program should have multiple levels for different types of affiliates. This is news to me. The contract and the “business model” which was not part of the signed contract say nothing about multiple levels. I give them a date to try to finalize stuff but life happens & I email them back and explain the problems & go through the 30 requested changes with what I had done (about 15 of them) and what was out of scope of the original signed contract.

During a couple conversations I mentioned that I had a few interested parties who wanted to use the software when it was done on their own sites. One was going to be a client but left because it wasn’t fast enough, another was another developer who was interested in a development license.

I have a phone conversation with the client and programmer husband this last Sunday. I begin by explaining what is out of scope, client begins arguing with me. Says that we discussed this and it was in scope of the project. Starts screaming at me that all I care about are the other potential clients and not about making the best possible site for her. Client walks away from the phone and I continue with her programmer husband. We go line by line over the changes requested. He requests a new deadline date. I say, ok, I’ll get you one tomorrow with a realistic deadline.

While sitting waiting for my child’s surgery to complete yesterday (Monday), I think about this application, the things that are requested. My stomach in knots over everything, I talk to a colleague who is a solution architect and worked on software for one of the big 5 banks in Canada. We go through my contract. He says the contract has been violated by them. The tiered affiliate program is out of scope and that the Arbitration agreement cannot be used because we are having a “conflict” rather than as the clause says arbitration over a “understanding of the agreement”. (After my discussion with him, I’ll be reworking my contract!)

I sit down after going through the 30 points with my friend, decide how long it will take, pad the time to cover any issues and send an email with a new timeline. Client emails back and I quote: “That is way too long. The deadline for content is this Friday, and for skinning the site Sunday. If you cannot meet this deadline, send my money back.”

I am trying my best to resolve this amicably. Right now, I’m attempting to at least get the fixes into the backend, I don’t know if I can accomplish the other requested changes.

Right now, I’m planning to try to get everything done by Friday to please this client. However, in the event that I do not, I’m wondering what my best options are? Enforce the contract and wait for the legal stuff to start, just refund the initial deposit (and this is something I now will forevermore call a “retainer” which is “nonreturnable” and worked against) and get a signed agreement on the refund that states client will never speak about me or my work.

What does everyone think?

I think you are wise to skip the word ‘deposit’ and start using ‘worked against’.

My first thoughts are

  1. What does the contract say about worked performed, the value of that work, and how it relates to payments? Are there milestones, etc? When, specifically, is the money due to you?

  2. What does the contract say about transfer of ownership? When does the client ‘own’ the code?

The reason I asked these things is because they are the foundation of a fair and reasonable outcome to the situation. It sounds to me like you’ve got a good handle on the requirements, and that those requirements are fairly clear to both parties. That’s a great start.

So, you can frame the situation like this, for starters:

"I know that you need to get your product completed, and I want to help you do that. But I hope it’s clear to both of us that the scope has expanded and that the deadline is no longer reasonable. Still, I want to get this product done for you so let’s try to find a way forward.

I cannot meet your deadline, regrettably, because of the increased scope. If you are serious about your previous statement, I am willing to send your money back less my material damages of $xxx. However, I want to remind you that in the event that I send the money back, I will have to retract your license to use the software entirely - that is a poor outcome for both of us and I hope you don’t want to go in that direction.

What I propose is that we come up with a new contract to amend to the old one, with a new set of requirements and milestones and take it from there. I will do whatever I can to help manage your budget and timeframe, but I simply can’t honor deadlines/budgets based on requirements that have expanded."

See what they say :slight_smile:

This is a ‘getting to yes’ situation. I’m not sure about your rights transfer or how, exactly, the contract works so this may not be a 100% fit, but in so many cases this boils down to the basic ‘let’s work it out or you will lose everything’ situation.

The license for the software is a license to use and alter it for their own use. They may also sell the license to any entity who might purchase their company. I still retain copyright and the right to make derivative works.

She insists that the project scope has not been expanded. In fact she was screaming at me on the phone on Sunday over that point.

Just curious, have you asked her why she feels the scope has not expanded?
Do you know how her husband thinks about this?

Man, reading your story made me feel kinda sad, hang in there, maybe you’ll laugh about it in a few years :slight_smile:

ScallioXTX

She says that we talked about it. We talked in general terms about the affiliate program. My contract actually names the exact business entity group. Out discussions only indicated to me that there would be other business entity groups who would actually be using the affiliate program.

Her husband is very calm about things. He doesn’t say yes or no regarding the whole scope creep. I have no idea what he says to her.

Based on her screaming commentary at me, she was most PO’d about the fact that I have other people interested in the application. She thinks I’m out hustling the software before it’s done. Quite frankly, I don’t have time to hustle sales of it. (As I mentioned, I retain ownership otherwise I would have charged a lot more for the software.)

So, per the contract when are you due payment and under what terms? Is there any language that describes what happens if you don’t deliver? Does your agreement detail when, exactly, you are granting this license and whether it’s based on their payment? Is there a termination clause?

Usually the contract will frame these kinds of issues and give you a starting point. The fact that the client is yelling at you on the phone is very telling - a client who is very savvy, good at executing projects, experienced, and a good business person will rarely yell at a vendor on the phone :slight_smile: This suggests that she’s being very emotional and may come around - hold your ground, be nice, and be strategic and you may be able to sway the situation to your favor.

There is a production schedule that was included in the project proposal. I didn’t meet the deadline because of the shift from using the ecommerce cart included in the CMS (this because of the PCI research and the use of a different payment gateway vendor). I pretty much “ate” the hours to create an entirely new ecommerce payment gateway module & product cart. Creating an entirely new cart was not part of the specs. The biggest part of the specs was the “subscriber” and “subscriber sponsorship” modules.

The missed deadline had me reminding the client of the contract clause that said:

“Customer acknowledges, however, that this delivery deadlines and other payment milestones listed int he Project Proposal, are estimates, and are not required delivery dates.”

She backed off when I presented that statement to her.

Now the scope creep coming after the software is nearly completed. And she’s asking me why I didn’t ask questions & why I designed it the way I did. I designed it to meet the requirements as in the signed contract.

It sounds to me like you need to more carefully consider what, exactly, the contract says about rights transfer and payment terms (because I’ve asked twice but it’s not clear), and then think about how you want to handle this.

You can always improve a nasty situation like this one. But, you need to understand your initial position, your starting point before you can negotiate. Otherwise you are just spinning your wheels. Once you have a clear idea of your legal and contractual standing, you can figure out how to get where you want to be.

Sorry Sagewing,
Payment terms were 50% upfront, 25% halfway through, and 25% upon completion.
I was going to demand payment for the 25% after the first upload & test but didn’t due to the lateness. Now, it may be ill-advised.

Rights transfer were very specific. I have granted them a license to use the software and alter it for their business. They do not own the software. Upload for their website & pointing of their current domain would be done at completion of the project.

Do you have a cancellation clause in the contract? Sounds like the client is trying to get out of the project without losing money, and is using “late” as an excuse to cancel and get a refund.

Still we are speaking in general terms - let’s try to focus in on the language.

You said “Payment terms were 50% upfront, 25% halfway through, and 25% upon completion.” I assume you got the 50%. But, did you get the ‘halfway’ through money? And does that mean halfway through the schedule or through the work?? Where do you think you are in the payment cycle? Do they owe you anything, do you owe them anything money-wise? I am speaking strictly per the contract.

You said that you granted them a license. Did you actually sign an agreement saying that you were granting it to them immediately, or was there some condition like ‘upon completion of the project’ or ‘upon payment’, etc.? In other words, do they own that license right now or is it still in play, per the contract?

donmarvin, unfortunately I don’t have a clear cancellation clause. I’ll be writing one now. In fact I’m going to go through the contract with a friend of mine who used to work for IBM & has worked on large scale software projects for large banks.

sorry Sagewing, I didn’t see your response earlier.

1/2 way wasn’t paid yet. I was going to ask for it after the first test upload but the negative response from her made me back up a bit.

License agreement transfer is on a completed application which it is not currently complete and contingent on payment in full.

The application took a lot longer hour wise than I had anticipated. I had to actually write them a new ecommerce module to plug into the CMS as the one inside the CMS was part of the core and if I altered the core payment gateway to include the payment gateway that would keep them PCI Compliant and allow them to not use Paypal. This took a long time to write and because I had to sidestep away from the core that I thought would work, I haven’t charged them for that work.

All in all, there is over 250 hours of work. I was fine with that and had told her originally that I was splitting the development cost so I could retain ownership and resell the application. One of her comments on Sunday was that I was spending too much time marketing the application instead of working on it for her. I told them I had one developer interested in it.

If I were to take material damages out of it, I wouldn’t know where to begin.

It sounds like you allowed the client to increase the scope without adjusting the cost/schedule accordingly. Then you allowed a payment milestone to pass without getting your payment. So, you need to accept the fact that you’ve sort of let the project run away from you.

Ultimately that means that ultimately you can’t expect the client to get on board until you are engaged and running the project, for real.

The one thing you have going for you is that you aren’t granting license until the project is done and you are paid. So, there’s your ‘win win’ - you both want to get to that point, and if you cancel now you both get nothing (depending on how you argue about the money).

At this point, you need to ENGAGE the client in a real, substantial way and pull the project together. A written agreement is good but it doesn’t mean much if you don’t enforce the terms. You need to sit down with the client, explain to them that the original client no longer applies as the work has changed. If they don’t ‘buy’ that, then show them the contract and it should be clear.

If they still don’t ‘buy’ that, then explain that the contract (which they signed, presumably) indicates that they won’t get their license and you won’t get your money. Explain that you will/will not be willing to refund their money, depending on whether you feel that you are owed that money (if they are breaching the contact, you may be able to keep some… this requires more understanding of the contract language).

But the bottom line is: unless you are willing to just keep going and doing as much work as THEY want you to until you get paid, then YOU have to start managing the project.

Well I know I take some blame. Being late to get the beta up for testing doesn’t help. But, I essentially had the application built per the specifications. It’s only after I had it up and was waiting for feedback & got the feedback from the programmer husband that the scope creep change happened.

I know some of it might be the fault of the programmer husband stepping in and telling her that it has to do specific things. However, it’s when I pointed out the problems and the contract that she came unglued. So I am trying to manage it. I am unfortunately probably stuck between a husband who is nice to me on the phone, but is telling her things that perhaps are not in my favor.

I’m working right now to just get it done & out the door by friday. This is 24/7 but I guess lesson learned is probably all I am going to take away from this project.

Sagewing

I think you said it best" "Ultimately that means that ultimately you can’t expect the client to get on board until you are engaged and running the project, for real. "

Because in a roundabout way, her programmer husband is probably over there telling her things about how it should run without looking at the contract. I’m just going to pull the contract out when I send over the last build and point out the facts. She may or may not get it. I don’t know.

So yes, I probably lost control of it after he stepped in to do the testing. Perhaps if I’d spoken to him on the phone initially, I would have understood how the application was suppose to work rather than what she expressed.