Colleague Jean Tabaka posted a question recently that asked "How we can motivate these people as much as possible before having them leave the newly anointed agile organization?" The context around this question is that there are people who are viewed as hero's in organizations. These individuals "are very specialized individuals with knowledge outside just the software development realm (physics, mathematics, fluids mechanics...) These individuals are used to being highly prized for their very specific subject expertise. They have a sense of significance hooked onto their unique role."
This poses an interesting challenge to Agile teams, where everyone should be cross functional, working towards a common goal. What if you do not need the hero gal full time? What if you need a designer, but only for 10 hours a week? Are these people core team members or what?
I left Microsoft in November 2006 to work at a consulting company, Ascentium. This gave me the perspective I was looking for to answer these questions.
We have people in our company who fall in the hero bucket, but I prefer to call them "Team Consultants". We also have people who do not fall in the hero bucket, and I call them "core team members"
What is a consultant to the team? Simply put, these are people that choose to work in a consultant capacity. They are not core team members, but instead are internal “guns for hire” to provide the team with what it needs to get its project done. Consultants work for multiple teams. Yes, the consultants are hired by the team itself. People in this role are typically very specialized. They would not be a good core team member because they are so specialized. They get bored with the work and derail the team. People choose to be a consultant or a core team member. Team Consultants may be booked full time on a project, but not for the entire lifecycle of the project. They will come in to solve an immediate problem or be booked out for a limited number of hours per Sprint, iteration or cycle. We have a person in our company who is great at ETL and cubes. He chooses to be a consultant. He spends 8 hours a week with us. He also spends 20 hours a week with another team.
Core Team Members: The core team is just that, the core team members that are dedicated to the project. They collectively own the work. These people are cross functional and fully dedicated to the project - read - no multi-tasking BS. An example of this happened in my current project recently. We are building a winforms application that talks to a big backend and integrates with 6 systems. We needed to create a user interface for our system and, frankly, had no idea on how to do it. We hired an Information Architect and a designer to guide us through the development of the UI. They coached us on how to interview our customers from a UI perspective (we are all good at the backend stuff, but not the front end). In return for their services, we “paid” them with billable hours. They are happy, we got what we needed without having the specialized person dedicated to the team. We were able to buy time at 5 hours per week over a 6 week period and it worked out great.
Deciding Who Does WhatPicking who is a core team member is not up to management. It is up to the person. So if you're a manager, welcome to the world of empowering your people.
I'll update this post with pictures and I develop them over time.