Some things sell themselves. Tell an eleven year old that Apple has a new iPod on the market, and she’ll save her allowance money for months. The same goes for seven year old boys and Pokemon cards. If you have kids around that age, you will certainly understand where I am coming from.
The same principle holds true in the software industry. Tell a young group of developers that you are going to give Scrum a try, and you are not likely to see a great deal of resistance. They are all over it like…well, pick your favorite attraction metaphor here. Get a bigger group of more established (read…older) practitioners and wave the CMMI in front of them, you will often see a similar response. Give almost anyone in the industry a software tool as a means of solving a problem they are dealing with, and…you get the picture.
The problem is that it is not quite as easy to sell these things to everyone on the team. Simply waving the brand around is insufficient to capture the entire audience, and you need to engage that whole audience in order for many practices to truly work. There is still hope for bringing good practices into your project, but you need to step away from the hype.
Senior management and many marketing people aren’t interested in Agile approaches. In fact, from what they have heard they are probably afraid that they will have less control and visibility into what is being built than before (these rumors are likely to have come from weak implementations of good practices, unfortunately). On the other hand, if you talk about giving them a continuous stream of new features, keeping the product running so there is no big-bang integration, and giving them a voice in the prioritization of these new features, you will hook them quickly.
Talk to an end user about a use case workshop, and their eyes will glaze over. Ask them about the different kinds of users for the product, what each of these users will want to achieve, and dive into discussions about the steps that make the most sense for them to interact with the system to achieve their goals, and you will have an engaged crowd. You can even discuss alternative ways they might achieve their goals, what they might expect when for some reason they can’t get to where they want to be, and what state the system should be in before you get started and when you are done, and you have pretty much covered the breadth of use case issues (but you haven’t scared them off with the terminology).
Tell a development team you are seeking a CMMI rating or ISO certification, and you will have a bunch of disillusioned people expecting to waste much of their precious time building needless documents (again, perceptions based on experience can be strong). Talk about getting together to agree on an approach that will improve predictability on your projects, simplify planning, ease maintenance grief and shorten schedules to boot, and you might get them to sit up and take notice.
If you have a challenge with a co-worker and suggest that the two of you walk through a six-step approach for conflict resolution, and their opinion of you will likely drop lower than it already is. Head into the discussion ready to learn something about the other person’s perspective and get them to acknowledge that you really do see where they are coming from before proposing solutions to the challenge, and you’ll be amazed by the connection you make.
Whenever we work with others, we need to sell reasonable approaches to solving problems first by understanding who our audience is. There is a strong chance that they are not motivated in the same ways you are, and it is critical that you know WIIFT – what’s in it for them.
Once you know that you are well on the way. Pitch to their needs, show them how these approaches address their needs, and the pushback that often occurs with change will dissolve. As an added bonus, this approach will help keep you honest about doing the things that are right for the team as a whole, and prevent you from being swept up in the hype surrounding trends that might happen to be in vogue today. When you are selling, you need to play to the needs of the audience. – JB