Like most process-oriented functions, as opposed to isolated events, getting off to a good start can make all the difference in the world in terms of achieving overall success and long-term continuity. Likewise, when it comes to the learning dynamics of an Agile development methodology in a software development organization, getting it implemented on a sound footing is certainly just as critical to success.
Parents are constantly reminded that their most important values and principles are more powerfully and memorably transferred to their own children by means of example rather than just words. Hence the axiom, "Values are better caught rather than taught," is most relevant to this discussion of proper Agile implementation. "Catching" values is a universal principle of learning which is applicable to far more than just the education of children.
"Experience is the best teacher," we are told. Indeed, this concept is demonstrably true. That which we learn by doing ourselves is far superior in our repertoire of skills and knowledge than that which is merely heard or read and filed away intellectually. Therefore, when it comes to making a fundamental change in a software development organization's core development methodology – specifically, when migrating from a traditional Waterfall type framework to a radically different operating approach, both in terms of mindset and execution, the issue of exactly how you go about implementing that change can be as important to the overall success of the change as is the decision to make the change in the first place.
– Paul Hodgetts, Agile Coach, Trainer, and CEO of Agile Logic
Iterative software development is all the rage these days, the hot buzz hyped by a myriad of technology evangelists, the "must have" growth objective of so much of our 21st Century software engineering. But executing a brand new development approach productively, efficiently, and then achieving optimal results with it doesn't simply come from reading a book or two, or attending a weekend workshop or seminar. Likewise, just scheduling a daily Scrum meeting or releasing a new chunk of code every month from a product backlog list is no absolute guarantee of positive results. While nimble flexibility in your ability to execute can be a virtue, unbridled activity can also just as easily lead to chaos and disarray.
Furthermore, just doing something for the sake of doing it isn't the answer either. That is, the old adage you've heard many times that says, "Practice makes perfect" – is simply wrong. No, perfect practice makes perfect. Doing something incorrectly again and again only reinforces bad habits (and actually makes it more difficult to learn to do it right). Being shown how to do something correctly again and again by example, and then repeating those actions properly again and again yourself is what establishes and reinforces good habits and makes execution seemingly effortless.
This is why many software development organizations are turning to Mentor-Driven Implementations of Agile.
Mentor-Driven Implementations can come in the form of an onsite coach or mentor, working with your new Scrum teams to show them how the process is properly set up and executed first-hand, like a coach would teach and direct an athletic team. Or, it can also come in the form of working with an entire outsourced software development organization representing all the various development roles in the entire process from design to release, i.e. an organization that is very experienced and fluent in Agile development, one who will mentor a client organization with more of an "immersion learning" type of approach.
Unlike traditional coaching, Immersion learning is more akin to learning a foreign language by living in the foreign country of that language for an extended period of time and being exposed to it and its associated culture on a daily basis. You learn by doing, not just by being told. Admittedly, the one-to-many coaching model can be helpful over time; but like our child-rearing example, it tends to be more academic in nature – like being coached on a practice field, in contrast to physically being "in the game" and playing.