What is the difference between coaching, consulting and training?

Training is generic and provides the grounding in practices and principles. The objective of training is to impart correct information on the intent of Scrum/XP/Lean practices. Coaching helps project groups apply the ideas learnt in training to their specific project context. A coach will assist (at least initially) in making the changes necessary to transition successfully; and then to sustain these practices. Consulting is providing advice to clients on tools, metrics, test strategy, change management etc.