My fellow TechWell curator Steve Berczuk recently asked readers “What are your experiences with what a good manager can add to an agile team?” Since I am a development manager with members spread out over multiple Scrum teams, I thought I would take a shot at answering his question—albeit from the manager’s perspective.
As Steve points out, agile teams should be self-organizing, and I consider my primary role in this environment to act as a resource allocation manager. My most important contribution is hiring and retaining the best people, placing them on the right team, and creating an environment where they can be most productive.
Hiring and keeping the best people seems like a no-brainer, but in the current IT market this can be the most difficult responsibility. When hiring, I place great emphasis on the feedback I get from the developers who interview a candidate. If there is any doubt that someone would be a good fit, I am quick to move on to another applicant even though this can increase the time it takes to fill the position.
In order to increase the likelihood of a match, I encourage referrals from the team; some of my best hires have come from these referrals. Whenever I get an open position, there is tremendous pressure to hire someone as quickly as possible.
Since the market is very tight, this process can take time, and I inevitably get asked to consider contractors. I avoid this option because contractors typically have a short-term view of their employment, and I want someone who enters the new position committed to the team and the project.
Once the developer is hired, it is crucial to match her with the right team. Creating teams is more than just matching skill sets. Teams need a personality balance or the strongest personality will always take over. A counterbalance to a strong developer will provide richer communication within the team and higher quality by keeping top developers from being spread too thin. This balance also will give your best developers more coding time, and since that is what they like doing best, a happy developer is less likely to leave.
Creating a productive work environment is also important, but finding the right balance will lead to more productivity. As mentioned, the top developers have more time to code and pair with younger developers. The quality of the code and value the team delivers will increase with this extra attention.
When you look beyond skills and factor personalities into the equation, the team has a higher probability of bonding. This will dramatically increase communication—the key to high-performing agile teams.
Mixing personalities and building teams can be more art than science. A single dominant developer can result in all other team members deferring all decisions to one person, which will prevent individual and team growth. Observing the team’s interaction—especially during the planning and retrospective sessions—can provide valuable insight into the team dynamics.
Steve Vaughn is a twenty-year survivor of the IT wars. He has worked a variety of organizations as a software developer, architect, and ScrumMaster. Steve has spent the past five years attempting the impossible—managing software developers. He is now using this experience to act as an agile coach and help develop high-performing teams.