Win people over by showing results. If your way improves their lives, they'll be interested. You have to show them what's in it for them, and not everyone is in it for the purity of experience or artistic beauty. :)
Here are some things that programmers might care about and what will appeal to them. Tell them how agile programming benefits them personally and you'll probably have an easier time convincing them. Peer pressure through public praise (or shame) can work too.
- Spending less time debugging
- Having fewer meetings (for good or bad)
- See results quickly
- Dealing with fewer business people or customers
- Working on their own ideas (instead of overtime on a bug hunt)
- More time coding (less analysis, design, etc)
- et cetera
What you really need is agreement at all levels, inclduing management, about how the programmers should be working. If you don't have the culture in place, you're always going to be fighting a losing battle.
For the management folks, you'll have to appeal to the things they care about. Maybe you should invite them to some of the meetings. :)
- Higher productivity
- Fewer bugs reported by customers
- Higher sales
- Lower payroll
- Reputation in the marketplace
- et cetera
As far as design goes, I don't think it has much to do with communication or meetings (or even experience). Lots of bad designs come out of processes that have all three of those. Although it sucks to admit it, some people can design and some people can't. Good design comes from recruiting good designers. I see a lot of people who think that just because they are smart programmers that they are equally smart at everything else. It just ain't so.
brian d foy <firstname.lastname@example.org>
Subscribe to The Perl Review