Ashok:
I see you got some great replies below to your initial question, but I thought I'd share my previous experience, if not as a good example, perhaps at least as a horrible warning? :)
I worked with a group within a company, and got one team to truly change their level of practice, I believe. Craftsmanship was starting to build, and the practices you often see with it were doing well - we were TDD-ing, we were pairing, teaching each other as we learned new things, and doing some great work. I was very happy with the result.
Then we finished the project we had come together to do, and were ready to mix into other teams and help spread some of the techniques this group had been exposed to. That's where problems started.
The other teams in the company perceived the team as being isolated, and not focused on delivering results. They found some of the team members hard to work with, and resented the attempt to share what was learned with the rest of the group.
Developers from the other teams stuck stubbornly to their own approaches, mostly focused around a "bang out whatever works the fastest", without much regard to our long-term velocity (which was dropping like a rock). Even something as simple as introducing TDD was being rejected with claims of "we can't test this" and "this isn't worth testing".
It seemed that coaching craftsmanship with a "seed" group had, so far, failed with this particular organization.
Maybe the project we tried it on went on too long, in too much isolation from the rest of the company? It also turned out to be a project that didn't have a lot of value to the company, even though we thought it would when diving in. This helped make the perception that the improved techniques we were doing were "overengineering" or "gold plating" (both of which were quite false, in actuality).
Now we're stuck with one group that wants to improve and learn and do better, and a larger group that wants nothing to do with them, and is reverting most of the techniques we've pioneered.
Has anyone seen a situation like this before? Input much appreciated :)
Regards,
Mike Nash
JGlobal Limited