🐈
» Forums » Clients » Dealing with fixed price contracts and iterat...
Page options
25ffbc86
Community Member

Dealing with fixed price contracts and iterations

We are working with a few freelancers at the same time, and as usual to avoid bloating costs, we work fixed price. Our mileage greatly varies with the expectation for what is included in milestone costs:

 

For artists, it seems they are used to iterating and making small changes until the product is fixed, and that has been accounted in the milestone cost. Maybe we hit some really reasonable freelancers with whom we are very happy, but I doubt it.

 

For software development, however, it is a constant tug of war of adding on more and more costs for bug fixes and small iterations. This has been the case with virtually all the software devs we've worked with so far - regardless of region of residence or price point.

 

This is a question for both clients and freelancers - how do you handle these situations in which either a freelancer mistake (the bugs) have to be fixed for the milestone to be met, or the client submits iterations and small changes? Is there an expectation to behave one way or another, given that we are talking about fixed price contracts.

9 REPLIES 9
aitringo
Community Member

Hi Kurbat,

 

I think the best solution for you would be to create an hourly contract after the Final delivery of the project. All modifications that you came with must be paid in a hourly basis (you can ask your freelancer how many hour to get this modification, then you'll pay just what you agreed about.) If the first delivery contain a bug or mitake, I think this should be done freely, becouse it's already included in the first fixed price.

Good luck !

g_vasilevski
Retired Team Member
Retired Team Member

Hi Kubrat,

 

I can recommend to list all of your details on your job post and negotiate them with the potential freelancer you will hire.
Also I would suggest to check our guide on Fixed-Price Contracts- How it works and Best Practices

~ Goran
Upwork

I see it pretty black and white in almost all cases:

 

  • fixing something that should not have happened in the first place (actual mistakes made by the freelancer) - Included in milestone price
  • ANY changes, additions etc the client comes up with because they suddenly thought of a cool new feature or because they have additional requests, or changed their mind, or something does not work because of something the freelancer has no control over and can't have forseen - new milestone and additional cost.

Obviously there are some grey areas and overlap, and a good client and a good freelancer will work together in such a way that neither feels taken advantage of.

 

 


@Petra R wrote:

 

Obviously there are some grey areas and overlap, and a good client and a good freelancer will work together in such a way that neither feels taken advantage of.

  


Exactly. I would only add that in software development the grey area is generally far larger than in most other areas. Hence the OP's difference in experience between that area and others.

richard_wein
Community Member


@kubrat D wrote:

We are working with a few freelancers at the same time, and as usual to avoid bloating costs, we work fixed price. Our mileage greatly varies with the expectation for what is included in milestone costs:

 

For artists, it seems they are used to iterating and making small changes until the product is fixed, and that has been accounted in the milestone cost. Maybe we hit some really reasonable freelancers with whom we are very happy, but I doubt it.

 

For software development, however, it is a constant tug of war of adding on more and more costs for bug fixes and small iterations. This has been the case with virtually all the software devs we've worked with so far - regardless of region of residence or price point.

 

This is a question for both clients and freelancers - how do you handle these situations in which either a freelancer mistake (the bugs) have to be fixed for the milestone to be met, or the client submits iterations and small changes? Is there an expectation to behave one way or another, given that we are talking about fixed price contracts.


Hi Kubrat. There's no easy solution, because it's so difficult to estimate how much work is going to be involved in a software project. And, if freelancers are competing on price, they are very likely to estimate too low.

 

You've chosen fixed price contracts because that reduces your costs, and perhaps by quite a lot, since you describe the alternative as "bloated" prices. Perhaps the "bloated" price is actually the right price for the job!

 

There's (almost) no such thing as bug-free software. I can understand why a bug seems to you like a "mistake" by the freelancer. But to some extent bugs are to be expected. Almost all significant software projects need "maintenance", which includes bug fixes. The problem is judging where to draw the line between development and maintenance. It's a very fuzzy boundary. Similarly, it's generally not possible to define your requirements with 100% accuracy, so it's reasonable to expect a degree of flexibility to adjust the requirements as the job proceeds. But how much? Again, there's no clear line. And the tighter the budget, the more resistance there will be to changes.

 

Sorry I don't have an answer for you.


@Richard W wrote:

@kubrat D wrote:

 

You've chosen fixed price contracts because that reduces your costs, and perhaps by quite a lot, since you describe the alternative as "bloated" prices. Perhaps the "bloated" price is actually the right price for the job!

 

There's (almost) no such thing as bug-free software. I can understand why a bug seems to you like a "mistake" by the freelancer. But to some extent bugs are to be expected. Almost all significant software projects need "maintenance", which includes bug fixes.


 First thing first.  Where is Petra's cartoon on three bugs?

 

yes in a way that is true.  But you can also minimize it by extensive testing.  Use the model most big software companies use.  Hire two people, one to develop and other to do the testing.

 

There is no free lunch.  If quality is important to you, invest.

Petra's comments are as true for writers, artists, etc. as they are for programmers.  This is why all jobs should have a detailed contract over and above U's generic one for EXACTLY what is needed and what is covered by the agreed to fee.

resultsassoc
Community Member

I pay people for all sorts of things. Most of my jobs are through another board.

 

When posting a job for software (or something quite similar, requiring application of programming skills) I hire fixed price with a functional specification. If the result does not function to specification, I've paid for the draft deliverable, and ask that the software be fixed before releasing final payment. If a bug does not affect function, or results in a cosmetic defect seen only by me, I usually release final payment.. If I asked for the wrong thing, I pay to fix that. I have my website developer on retainer to maintain two websites. She's paid whether she works that month or not. I'm paying for peace of mind.

 

I've paid developers a retainer for monthly maintenance and upgrades, such as when my clients ask for a new function, or one becomes available in the base platform. But, the fixed price covers software that works.

 

Most of my job posts pay people for thinking. My default editor gets paid per milestone, first draft and final edit. My default cover designer is so good I pay her the whole thing as soon as she accepts, and pay any image license fees as a bonus whose net accounts for platform fees.

Bill:

 

Your suggestion about hiring them on a retainer is excellent.  I often wonder why buyers believe that freelancers on Upwork are not humans?  They are vending machines and when you plop coins they must deliver the right can of soda.

 

In coding world if the stuff you need is complex has many arms a freelancer may not be able to deliver a perfect shrink wrap software (I just spent weeks doing my taxes on TurboTax and every time I fire that thing it needs to update).

 

Latest Articles
Learning Paths