A topic that comes back as a boomerang is how to teach Agile. Specifically, how do you strike the balance of teaching the mindset (starting with the manifesto and principles) versus the practices (most often Scrum).
Leading with the former, runs the risk of coming on as a “hippie” (think of the
children people) and runs the risk of alienating your audience. Especially if said audience is a group of experienced engineers, who have little patience with mandatory training or new ways of doing things (because the old ones are so successful).
But focusing on the practices leads to “at-best” cargo cult adoption of practices (again – most often Scrum) that either go on forever “the way they were taught” or decline into a mess of anti-patterns, where the best outcome is probably abandoning the adoption.
If my training, I try to follow the fairly popular image that starts with Agile being a mindset and produces a funnel ending with a myriad of practices. But until my last session (an almost impromptu introduction in a 1:1 setting), I’ve always failed to do one thing – circle back from practices to values and principles. I always knew that those aligned, but only by stating this outright did I grok it. Almost shameful to admit that it took me so long.
So how do you approach teaching Agile? How do you balance the mechanics versus Principles and Values?