People often ask me “how does Agile tell you to do <this and that>” and having recently presented the fundamentals of Agile to a large mix of people, the textbook answer is “well, it depends”.   Folks who have little to no experience with Agile seem to be much more accepting of the fact that “being Agile” is all about taking the tools, knowledge and frameworks and applying them to your situation.  Some though Agile was a software tool, chaotic and very confusing.  They are actually very relieved to see the benefits that adopting Agile methods bring.  I stress that it’s more about becoming a learning organization and that Agile adoption is about culture first and foremost.

Experiment. Fail.  Learn, move on and get better next time around. That is what “being Agile” is all about.

There is no magic formula or checklist to make an Agile adoption successful.   It’s up to how willing the individuals are to accept help from a coach or how open they are to getting out of their comfort zone to improve on something that isn’t working.  Class after class I get bombarded with questions that range from how QA integrates with an Agile team to “how does Agile tell you to deal with the expense of buying a developer a laptop?”. (yes, that was a REAL question I was asked once).

Esther Derby posted a few months ago about 5 reasons to hire an Agile Coach which leads me to ask what actually makes a coach successful?  What makes a coach worthy of self-labeling himself a coach in the first place?  These are the top 3 attributes I consider to be the most important:

1) Self-less:  A coach must care about the team (and organization) and morally and ethically do what is right.   A good coach must possess the desire to work their way out of a job for the greater good of the organization that has invested time, money and most importantly trust in the coach’s abilities.  Now in the real world I am quite sure there are some folks who want to extend the gig as long as possible for security or other selfish reasons, but IMO that’s not the point.  If you are trying to teach and organization how to build trust, that lesson starts with the coach.

2) Honesty:  A good coach must be clear that the road may (and mostly likely will) get rough and there is a chance adopting Agile just will not work if the organization doesn’t want to change.    You can say “honesty is the best policy”  is a rally-cry or fluffy sounding but it rings true.  If you set the expectation that you will be honest regardless of how painful that honesty may be sometimes, a coach will stand to earn the respect and trust of the organization which is a first step towards having that spread throughout the rest of the organization.

3) Guide, Not Dictate:  Ok, so this isn’t so much an attribute phrased like the other two, but it’s important nonetheless.  As I mentioned at the start of the post, lotsa folks want the “how” without wanting to think about it first.  It’s important a coach help the organization/team/person get to the right answer for their situation.   An organization needs to learn how to becoming a learning organization and the best way to accomplish that, IMO, is to use the tools, knowledge and frameworks to help people find the answer that works.   If teams or individuals are making real attempts and showing true desire to adopt Agile practices, give them the freedom to apply what you have taught them.  Let them experiment and maybe they’ll fail, but if they have the desire and motivation, they will learn and improve.

I’ve always bought into the thought that skill and knowledge is never a problem.  Skills can be taught and knowledge can be obtained.  Motivation and desire are the most important attributes that help organizations or individuals commit to constant improvement.

Agree?  Disagree?  What other attributes do you think make a coach successful?