I’ve worked with several great companies, and even more not-so-great. I see agile managers and agile implementations fail quite a bit. I’ve done some analysis and come up with the top 5 traits of great agile managers. There are others traits to consider as well. However, the great agile shops and managers all have these same characteristics.
1) Be on time
I always put this first. Rudimentary time management skills are the cornerstone of an organized person. You know you need to be on time. If you’re always 15 minutes late, then you need to either pad and extra 15 minutes to every meeting or plan 15 minutes ahead. Do you know the number 1 trait of any good Agile manager or startup CEO? They get up early to plan the day/week before everyone else arrives. I can always tell how dysfunctional a team is by tardiness and attendance. Signs of poor time management are cancelled meetings, poor attendance records, tardiness.
2) Be prepared
Do you know what’s going on for the day? For the iteration? Do you have a consistent way to track stories and iterations? Do you know who’s going on vacation and it’s impact on the release? Have you communicated issues to your business owners? You should. That’s your job. Keeping everything in your head or a spreadsheet on your desktop is a huge mistake. There’s no transparency. Others can’t update or get change notifications. Instead of pointing everyone to the information you become an information intermediary. This will impact your real job, getting things done.
3) Make decisions
Do you have a backlog of blocked work? Are you meetings long because you’re trying to build 100% consensus? Are you constantly looking to others for authority, approval, or the “go-ahead”? The business has a role in making business decisions. However, it’s your job to implement solutions. You don’t need approval to do your job. Make the decisions if the business can’t. You may ruffle a few feathers but, more often than not, you’ll make the right decision. And guess what, you’re agile! You can change quickly to meet a different demand.
4) Set the quality-bar high
Does your product have many of defects? Does it take too long to implement features? Does it take too much time to diagnose problems? If so, you need to raise the quality-bar. Remember #3. It’s your job to do your job well, and you don’t need permission for that. Do you need unit testing and code coverage? Do it. Do you need more manual testing? Create a “hardening” iteration where everyone spends the week finding bugs. A lack of commitment to a quality product is a lack of commitment to a quality job.
5) Get your hands dirty and remove bottlenecks
Does the product need more testing? That’s now your job. Do they need better requirements? That’s now your job. Do they need pizza and soda? You’re ordering (and paying!) Nothing lowers morale for line-level employees more than another mid-level manager who won’t pitch in. Remember, your job is to remove obstacles and facilitate the work being done.
Many managers, myself included, get too caught up in burn-down charts, iteration velocity, defect kill rate, and other extremely useful metrics. However, I feel these top 5 traits are fundamental prerequisites to any good management practice, agile or otherwise.