« Agile Project Management: Estimating Project Size| Main | DGE Review 2: "God's Problem," by Bart D. Ehrman »
Agile Coach: Balancing Knowledge and Practice
In theory, practice and theory are the same. In practice they aren't.
-- Yogi Berra
There are two kinds of teams and developers in the world: those that are heavily into knowledge and those that are heavily into practice. Both lead to poor performance.
The first kind has read all of the books. Perhaps they've attended some seminars or conferences. They're excited about various ideas they've heard and want to try them out. Discussions about how practical something might be are regarded as counter-productive, or foot-dragging. These teams are knowledge-heavy. Outsiders really admire how smart these people are, but secretly are afraid of letting them around sharp objects, i.e., they don't really trust them.
The second kind isn't much into book-reading. They're just there to execute -- to deliver something. They're focused on the end-results and getting there as quickly as possible. Discussions around new ways of doing things are regarded as frivolous. These teams are practice-heavy. Outsiders are really excited over all the results these people get, but secretly are afraid that the mess and compromises that are being made that are going to cause a lot of problems later, i.e., they don't really trust them.
So -- how to balance knowledge and practice? I apply these principles in order:
- Start with pragmatism - Pragmatism says that everything is judged on how it affects performance. That means if you're coaching, apply knowledge just before it's going to be used. It means that if you talk about things simply because they're important to you it's not going to work. It has to mean something to the team. This means that coaching is more practice-based than knowledge-based
- Always have skin in the game - When I coach, I always participate in the team stand-ups. I think it's important to have the team hear what I'm doing for them, how it's going, and what my obstacles are. The more skin I have in the game, the easier the decisions about pragmatism become
- Be vulnerable to be strong - Nothing will shut down a team's progress like people thinking they know everything -- even people that agree with you! Out of all of the indicators that teams are going to poorly perform, the one that sticks in my mind the most is hard-headedness. If you want to truly grow, you have to have an open mind. So be humble and people will be humble with you. If you position yourself as the know-it-all, it's only going to put up walls. You start making changes based on practice. Where knowledge comes in is when everybody -- including you -- are humble enough to try something new and see if it works
- Continue with professionalism - Professionalism means comparing yourself to the best in the field and striving to be like them. It doesn't mean you'll ever make it -- only that you're always trying to be better than you used to be. You can saw trees all day long, every day of the week, or you can spend some of your time sharpening your saw. Pros realize that saw-sharpening pays for itself easily and want to take the time to do it. Note that professionalism doesn't mean reading a book about how teams operate. Books can say anything, and I've yet to read a book that ended with a hearty critique of the author. (Although I've worked with people who have worked with famous authors, and I can tell you that most of the time the book doesn't match the actual memories of those involved). Compare yourself to real-world teams in similar situations. I'm not saying don't read -- I read voraciously. Just treat improvement books the same way you would sitting next to somebody on an airplane -- as a good idea-generators or starting points for change.
- Shoot for lots of little failures - Failure should be okay. Like everything else, you should have a tight feedback loop and constantly adapting. What are the team's long-term goals for improving? You don't know exactly how all of this will work with this team, so as you try things, are you honestly adapting for the conditions you are in? Poor teams perform poorly and have no interest in changing anything. Great teams perform tremendously well and have a list of things that are completely screwed up that they're constantly experimenting to make work better. This means that the heart of practice-based coaching is experimentation
- Push a little at a time - Some people just want the whole enchilada: when they start on a team they have a huge list of things that need to be fixed. Even if that's true -- and if you're humble you realize that it might not be true -- you can only do a little bit at a time. When you start changing things, at some point somebody is going to start getting uncomfortable. That's when you have to back off. As a result of this, smaller have the potential to make bigger steps than larger teams.
- Meet people where they are, not where you want them to be - It would be great if all of these previous items were humming along, but that's rarely the case. You'll run into teams that are not professional, are poorly motivated, are too big, and only want to take very small steps. That's okay. You have to work with what you've got, not what you'd like to have. The Golden Rule says to treat people as you would like to be treated. The Platinum Rule says to treat people as you would like to be treated if you were them. Just because you'd like it doesn't mean that everybody else will. You have to meet people where they are.
Leave a comment