One of the core parts of Agile is empowering your teams to make decisions and own the outcomes. It supposes that members of Agile teams are capable of solving complex problems rather than simply implementing a predefined solution. It supposes that teams can identify how they work best instead of being told so. And it supposes that teams know how to make adjustments when necessary rather than watching a plan fall apart.
But for all of this to work, you need one common component. You need quality people.
There is no way around this fact. For Agile to work, you need quality engineers, product owners, and project managers. This is because is Agile is so focused on people over processes (see the Agile Manifesto). Agile teams literally create and improve their process and strategies everyday. Nothing is static or plug-n-play like some older project management items might be.
And lets face it: Agile is difficult sometimes. There are a lot of decisions to make. There are a lot of ways you can adapt your process. There are a lot of things to keep track of when requirements are expected to change as you build your software. With these difficulties, lacking quality people will just leave you churning your wheels.
Here are some reasons quality people are worth it.
Quality People Solve Problems
The core job of any Agile team is to solve a problem. Whether they are solving a problem internally to a business, developing a new product that solves a consumer’s problem, or solving an optimization problem, that is what they are there for. The team isn’t paid for the code they write; they are paid for the problems they solve.
And quality team memebers won’t just write code (or blindly follow a project management workflow or whatever it is their role needs). They will understand the problems faced by the team, ask questions, brainstorm solutions, and then implement them. Others won’t care about solving the problem or being creative. They will do the work assigned to them, leave at the door, and then keep coming back hoping for more to do.
Quality People Make Their Teams Better
Quality team members will make their teams better. They will challenge their teammates to write better code, communicate more effectivley, push them to think about problems in new ways, etc. They will raise the bar for themselves in the same ways too.
When you get a quality team member on a team, everyone will notice. I was working on a team about a year ago and we were looking for an architect. We were having a hard time finding someone and we were to the point of giving up. But when we interviewed this one guy, it was clear he was different. He didn’t just answer our solutions architecture question, he broke it apart, understood the reasons why, and then asked us how we would have solved it. He spoke with clarity, humility, and confidence. Me and the others invovled in the interview literally understood our problem better after interviewing him. Needless to say, we hired him. He has become one of the most respected members of not just our team, but our company.
Quality People Find New Problems To Solve
Quality people don’t just solve the problems given to them, they find new ones and solve them too. Process bottlenecks; bad design; team to team communication. Quality people find them, anaylize them, and work to solve them all.
This is particularly important in Agile. Agile is built to be flexibile and continously improving. This also means the process isn’t a clean little box or clearly painted lines on the ground. You have to have an ability to see all the moving parts and identify problems in your process. Quality team memebrs will do just that.
How Do You Find Them?
So how do you find quality people?
Well first, you need to know a little more about what they are like. Above, I more the affects of a quality team member rather than their character traits. And while their is likely an inexhaustable list of chracter traists that make up quality people, I’d like to focus on just a few: creativity, integrity, reasonableness, and open-mindedness.
Quality people have a creativity that helps them solve problems. Whether natural or learned, they can look at problems in novel ways and explore options people might have looked over. The don’t simply think inside the lines drawn on the floor – they critically think and explore if the lines need to be re-drawn.
Quality people have integrity. The aren’t hiding ulterior motives or pulling Dr. Jekly and Mr. Hide theatrics. They are trustworthy, honest, and reliable.
Qualtiy people are reasonable. They have sound judgement that comes from thoughtful discussion and critical-thinking. They don’t throw out extremes in disucssions or make rash decisions in the midst of adveristy.
Qualitty people know they can be wrong. More importantly, they put seeking out truth and the best option over their own ideas. They seek information with humility, admit when they were wrong, and encourage everyone to come up with ideas to problems.
Now to be clear, these ideas aren’t my own. Ray Dialo wrote about these in his book Principles: Life and Work. Ray built the hedgefund management company Bridgewater from the ground-up. He talkes extensivly about how to find good people, and I would recommend reading his book if you haven’t. I therefore won’t go into details on interviewing, vetting, and evaluating people (too much for me).
Remember that Agile is hard to understand sometimes. It requires more from the development than just development, and you need quality people to accomplish that ask.
If you want to read more about the idea of quality people, I would recommend looking at Martan Fowlers paper The New Methodology. He has a specific section, Putting People First, he addresses many of the same topics here.
What ways have strong quality people changed your teams for the better?
Till next time!