Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

If you have fixed-price software projects a potential customer can choose a software development company by the price to get best value for money. The software development company with the lowest price wins the contract.

In agile software projects there are no fixed software-featuresets with fixed prices. Featuresets can change after every sprint.

So how can a customer choose which software development company is best for him? (in price, quality or something else)

[update]

Lowest price is just an example how a customer can choose a contractor.

Background: Last week I was at a seminar about agile development. We found out that new customers often want fixed price price projects because that makes it easy for them to compare possible contractors. Customer and Contractor need a certain level of trust to agree to do agile development. If Customer and potential Contractor do not know each other what can a customer do to choose a contractor?

share|improve this question

closed as too broad by GlenH7, jk., MichaelT, gnat, user16764 Nov 25 '13 at 17:11

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

1  
Past history? Client testimonies? –  MichaelT Nov 25 '13 at 15:26
    
lowest price != best value for money necessarily –  jk. Nov 25 '13 at 15:29
1  
I have voted to close your question as too broad. There are many problems with the basis of your question. First off, lowest price doesn't always win the contract. Second, the software development methodology can be and often is separated from the contract purchasing the software. Third, mirroring the flexibility from agile into a software contract is ... nonsensical. Finally, your core question of "how can a customer choose?" remains very broad. –  GlenH7 Nov 25 '13 at 15:29
1  
possible duplicate of How to sell Agile development to (waterfall) clients –  gnat Nov 25 '13 at 15:57

2 Answers 2

up vote 1 down vote accepted

Very seldom can you sell agile development to a customer. Perpetual costs and amorphous deadlines don't fit into anyone's budget. It's fortunate that you don't HAVE to sell Agile development.

When you're pitching a product to a customer, ask them what they want, and tell them how long it's going to take you to produce that thing, and how much it's going to cost. Keep in close contact with the customer, and show them the product after the sprints. If they choose to change direction, twiddle your quote and your deadline.

This is how every project works from their perspective. They will be completely comfortable with it, and yet you'll still be doing Agile development.

The number of people who try to "educate" consumers on their interior development practices never ceases to amaze me. The customer does not need to know. They need a budget item, and a deadline, and if they get that, they will be happy, and if you tell them they don't get that, they will probably go with someone else.

share|improve this answer
    
the normal reason you need to educate the customer is when you are not just delivering the product but they want you to first deliver requirements then design documentation etc. i.e. you need to make sure the deliverables don't preclude agile –  jk. Nov 25 '13 at 16:12
    
@jk How could they preclude Agile? Agile is not antithetical to planning, and design documents. Write up your milestones, use those as your sprint goals, and touch base with the customer after each one to see if things are progressing in the right direction. It's entirely possible that they won't want to change anything, and that's their privilege. –  Satanicpuppy Nov 25 '13 at 16:17
    
Use of Agile methods requires a commitment by the customer to participate consistently in the process in ways that waterfall et al do not require. If the customer is not on board, you cannot properly use Agile methods. –  Steven A. Lowe Nov 25 '13 at 20:05

Agile projects allow for management of scope with a fixed set of resources, a fixed time frame, and a guarantee of quality. Thus an agile project team can easily price how much they will cost over the course of six months, for instance, and they can promise that what they deliver will meet the customer's requirements within their scope. They cannot promise to deliver everything the customer wants within the time frame in question, but the can say that those things that are not delivered will be of lower priority than those that are delivered. This is a pretty good promise--the customer knows what their outlay is over a given amount of time, and that the deliverables will be of acceptable quality.

Non-agile fixed-price projects don't really allow for management of scope, resources, or time frame--the entire solution must be delivered in six months, for so much money. This means that quality is the only thing with room to give, or else you end up renegotiating scope at the last minute. So, in this case the customer knows what their outlay is over the given amount of time, but they will be unsure of the quality of the deliverables, and the project still might not include everything.

So, if it comes down to choosing, the customer can go on the team's rate over X time, along with their track record of delivering high quality stuff at a (hopefully) reasonable pace.

share|improve this answer
    
If customer is "dumb" enough to choose only based on price, then they will consider "not having everything done" as not enough to even consider giving you the contract. –  Euphoric Nov 25 '13 at 16:01

Not the answer you're looking for? Browse other questions tagged or ask your own question.