I like what Andy and Ken had to say. I find that folks really want to be
successful in their jobs. They tend to do what works. For many, what
works is a progressive idea, ever changing, ever evolving into newer and
better practices. For many more, what works is what has always worked.
What has kept them employed, kept them getting raises, kept them moving
up in the organization, etc...
The phrase in software development that I most detest is: "If it ain't
broke, don't fix it". The second group of folks above tend to extend
this state of mind into their everyday practices. If I'm a valuable
asset to my company and I've never done agile, then why would I want to
jeopardize my status, my career, my security. Some folks really take
pride in the sets of practices they have developed over the years and
may take offense to being asked/demanded to change those practices.
In this context, I guess I might present the personal value to each
employee be they a vp, director, manager, project lead, engineer,
tester, etc... How exactly will this "agile" thing affect their
professional lives in a positive and sustainable way?
A second piece of dealing that may be very important is to express the
value gained from agile for the company. How will this strengthen our
company? We tend to present this idea to managers and above, but seldom
are the lowbies ever addressed in a way that honors their commitment and
investment in the company they serve.
One last thing. I think the novelty of agile needs to be dropped. It is
important to state agile to folks in terms that speak to it's maturity,
stability, and proven effectiveness. Why is this new agile thingy a good
fit for my company. Agile is not new. XP has been around for over 12
years now, for example.
In short, why should all of us at company X buy-in to this agile
development methodology? Because it values all of you and your company.
How do we get it done? By making some very smart and difficult choices.
Good topic.