5

Here's the thing. In agile client has very important role to fulfill - if they aren't involved agile loses much of its value.

How do you convince clients to change the way they run projects? I'm curious how it looks like especially with big companies and at least medium-sized projects.

I guess they don't just believe salesperson saying "that's better." And if they don't have much experience working agile way clients are likely to be reluctant. So how you make them to change their minds?

flag

10 Answers

4

I'm just starting to read Capers Jones' book on Software Engineering Best Practices and there's no real evidence one way or the other that any methodology really works...so instead of proving agile is better, you need to show that what is being done now (whatever the methodology or complete lack of one) is cost prohibitive to continue with and start to introduce quick win changes. A complete make over will probably fail (any major change has issues) and convince them otherwise...small/quick-win changes is the way to go and once they see you/your-group as effective then you pull them into it.

link|flag
4

First, the difficult answer: you do not have the power to intentionally change your client's behavior. The sooner you accept that, the better. Now for some more immediate, useful answers. They take the form of questions.

How do you know that agile methods will help your client? What benefits from agile methods do you believe your client needs? Have you clearly described those benefits to your client?

How do you know that your client wants the things you think he needs? Have you asked him whether he values those benefits you want him to have?

How motivated is your client to change his current behavior? What does he gain from doing things the way he does now? Have you asked him?

Now, a suggestion for you: read the book The New Strategic Selling for a model of how to understand the obstacles to a client "buying" your ideas. http://bit.ly/NYbBm

Good luck.

link|flag
3

We ask them if they want to (1) control things or (2) get better software or (3) get the software sooner.

If they want any of these things, then we tell them about the Agile approach to get their deep involvement in planning each sprint.

If they don't want to control things or don't want to get their software sooner or don't want higher quality, we act in as Agile a way as we can in spite of them.

We try to do things in an Agile manner wether the customer wants to participate deeply or not. If they don't participate deeply, they don't get as many benefits from the Agile methods. We still get benefits from using Agile methods.

link|flag
I have a problem with "(2) get better software or (3) get the software sooner" part. Actually being agile neither automatically means (2) nor (3). It can but it doesn't have to. And clients, especially bigger aren't likely to believe in "I'm agile so I'll deliver 20% faster and 20% better quality" kind of argument. – pawelbrodzinski Dec 17 at 20:25
Our experience is that it does produce better software. The point of Agile is to produce the software in incremental sprints, so you will get software sooner. Agile automatically means (3) sooner. What they believe doesn't matter. What they're willing to do matters. Either way, we're going to be Agile because it works better. – S.Lott Dec 18 at 3:39
1 
'Agile' doesn't automatically mean better or sooner software. A competent Agile 'Practitioner' may. The process is nothing without someone who knows how to implement it. What I found interesting about your comment is that if you replace 'Agile' with 'Project Mgmt', and 'software' with 'product', it could have been written 40 years ago when selling the benefits of PM. I am surprised though at the arrogance of the comment(s) - we're going to build YOUR product OUR way, whether you like it or not. – Trevor K Nelson Dec 18 at 13:55
If they don't believe in something they won't be willing to do it. Of course you can do agile internally, not telling your client how you work but you loses much of agile value this way since the client doesn't collaborate on a regular basis so you basically incrementally build what you think is needed, not what the client really wants. – pawelbrodzinski Jan 6 at 23:32
3

In addition to all answers I can share my simple idea (not tried yet) - while negotiating price (assuming fixed price contract) try to put it this way: if we go waterfall the price is X + 40%, if we go agile the price is X. Client would definitely be curious why it is so, and there you go - first sign of involvement. Then explain in details how it works and why it's cheaper. Make sure you got real client support going agile, so put organizational stuff in contract (ie. client updating backlog, available on sprint planning and so on).

what you think?

link|flag
Interesting trick. The question is whether you're sure you'd be able to deliver agile project for X which would cost 1,4 times more being done other way. Sounds like rather bold approach for me. – pawelbrodzinski Dec 23 at 7:40
2

You start by convincing them to change the way they run ONE of their projects, and prove the benefits.

I think therein lies part of the problem. It sounds like you're trying to apply a single solution (Agile) to a very complex problem. Agile may not be applicable to ALL of their projects. Agile works in selected instances, but it can't be translated to all industry (and I realize most here are software/IT PM's, sorry.)

You have to explain the benefits, explain how their increased role is going to benefit the product, and then you have to deliver. Do that with a pilot project and the rest should be easy.

link|flag
2

You shouldn't be concerned with the client's methodology. Your focus should be helping the client meet their goals.

Communicate to the client in the language they understand. Then run your projects internally however you want to. If you want to run agile, have someone internal be the product owner and make the calls on features.

Asking the client to adapt to your practices always feels, to them, that you are trying to unload work on them. The same thing happens in Waterfall when you ask them to write, read, contribute to or sign-off on a big spec. They'll never read it. It won't protect you if you deliver to spec but its not what they wanted. And, to them, asking them to be deeply involved in a spec feels like you want them to do your work.

You are the expert. You need to understand what they want, then deliver it.

link|flag
I must disagree. Direct client involvement is critical to Agile success; substituting a 'product owner' to pretend to be the client is insufficient. If the client does not want to be directly involved, responsive, and engaged, then don't use Agile; faking it is asking for failure. – Steven A. Lowe Dec 22 at 2:47
1 
In the best case, definitely. But if you can't get the client involved and Agile allows your team to produce the best results, a proxy product owner can help you use Agile. The challenge then becomes making sure the proxy has a good understanding of the client's needs. – Mark Phillips Dec 28 at 21:23
2

show bottom-line benefits:

  • direct control over priorities and scheduling
  • participation early and often in the design
  • direct control over budgets as reflected by per-feature costs
  • frequent useful software versions
  • ability to halt the process at any iteration

[the latter two can be very important for those unsure of what they want and/or on tight budgets]

but make sure that the clients understand they have ongoing responsibilities; they don't just 'dictate and wait' as with waterfall/all-or-nothing methodologies

link|flag
2

I always give client a choice, if he make a wrong one - means I probably don't want to work with him - I set the price very high.

While not every one has this comfort, it is important to give a choice and not be pushy, say what are advantages and hope client will do the right choice ;) I also explain the process (we use Scrum) and a lot of clients really like idea.

Common arguments we use:

Agile as competitive advantage. This is good for clients that are loosing the market or those on very competitive markets):

  • Time to market - you can make first release before others will finish specification and contract
  • Being flexible - you get user feedback, can respond to it and give new features in 2-3 weeks not months, you can react to market change, competitors new products etc
  • Reduced risk - with agile you can step out of the project in any moment

Agile as money saver. This is good for scrooges.

  • For money that you would pay to lawyers for creating contracts and to analysts for creating specification you can already buy a couple of sprints
  • Most of projects fail, if you are going to fail with agile you will know after few sprints not after a year, you will lose some money but less then if project fails after a year.
  • In IT projects there is always risk involved. I have to estimate, if I overestimate - you paid too much, if I underestimate - project is a problem, so I'll look for ways to push it out - eg. reduce quality (via @paulklipp)

Control & Communication & Transparency. This is good for people who like to control details.

  • at every moment client can check what is progress on the project and what is estimated time of delivery
  • communication - your clients understands choices, can modify requirements to boost business value, reduce time to market - client is in control of details, team can give him suggestions like - this will speed up, this will make it more usable, client can make wise choices on the run, he don't need to predict every detail

Quality:

Clients don't understands what quality means. Quality can be understood various ways. Like nice design or low number of defects. Very rarely what client thinks (unless technical one) is code quality, which most often has no value to the clients. Talk rather about being flexible.

Google use it, MS use it, Yahoo use it, your client's favorite company use it. Business people like brands :)

Don't just throw this into his face. Ask him what are his expectations, listen and choice those which fits.

link|flag
1

The answer depends on context.

If for instance the client has asked you to demonstrate or explain the benefits of agile your task is made easier by their willingness to listen. However if you are effectively 'cold calling' and try to push agile on a prospective or current client, that is a harder task.

The first thing I do when asked to explain the benefits of agile is to explain that Agile does not mean faster, and Agile does not mean better. Agile means having the ability to be adapt quickly.

I go on to explain that XP techniques can help improve quality of delivery regardless of the project management approach.

Finally I round up by demonstrating (using a simple visual aid) the basic tenet of agile that the released product is something the customer actually wants and will use and is still relevant to their market space as opposed to the product set in stone at a point in time that no longer meets their real requirements.

link|flag
1

Recently I've heard exactly the same question addressed to Mary Poppendieck and what she answered was:

  1. Agile isn't for everyone. There are clients who got used to different approaches and don't want to change.

  2. Working agile way is all about building trust between you and the client. If you can't build trust between you two it will be hard to convince them your methods are worthwhile, especially when your methods require trust.

  3. If you want to convince a company to agile methods look for the one which can be convinced in the first place. There are companies which don't want to and won't change, no matter how hard you try so better find those which will accept the transition or you may be wasting your time.

link|flag

Your Answer

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