I had this discussion briefly at BarCamp Dallas yesterday. The question came up as to how do I describe scrum to my client?
When going into a new client, I don’t. There are a lot of companies out there that are reading about scrum and learning scrum on their own, and then want to hire somebody to come in and implement it. And if they bring you in, the thing you shouldn’t do is start implemeting scrum.
I would argue that most established development groups have a process model that they are following, and do it reasonably well. The real question you ask first is what is wrong with your current process? What is and is not working? Are you delivering stable software releases? On time? Within budjet? Desired functionallity for the stakeholders and users? I've gone into clients who want to implement scrum, yet are able to answer these questions with answers that are indicative that they are operating very well under their current process, but might just need a few tweaks, not an entire change to how the lifecycle in managed.
Very often, its just a matter of finding out what is wrong with the current processes, and find a way to fix them. Scrum can be a major disruption to the flow and efficiency to a partially successful development team. Implementing scrum into an existing team, which more times than not requires and entire mindshift and replacement of most of their current processes, is difficult for the team, for management, for stakeholders, etc.
Bottom line is don’t go into an existing team and just implement scrum because they think its going to solve their problems. Scrum is much more about making problems transparent so that you are forced to face them and solve them by other means. Scrum is not necessarily a solution to many of the problems you have. It certainly helps clarify what problems are lurking within your team that you just may not be able to recognize.
Scrum is my preferred process management solution. Its not right for all teams and not necessary for all teams. Help your client to clarify their problems and find ways to resolve them within their current processes before completely changing how the lifecycle is managed.