In a recent post, Agile Development: Specialists versus Generalists, I discussed the trade-offs between generalists and specialists within Agile teams, agreeing with Scott Ambler that organizations should be staffed with generalizing specialists and recommending that specialists should be in the minority relative to the generalists in an Agile organization.
What about Agile management? Should there be functional managers and direct reports organized around specialties such as database administration, software development, quality assurance, documentation, etc. in an Agile organization?
A condition is that functional managers must be part of a management team that operates as an integrated unit with a focus on the business performance of the organization as a whole; over-emphasizing a functional area will create organizational friction and waste. The last thing an Agile organization needs is someone giving strong “identity” to a functional group by co-locating that functional group (moving individuals away from their cross-functional teams) or over-emphasizing functional measures to the point where success is redefined in ways that don’t materially contribute to the success of the business.
Functional management is a great way to begin a management career, since people are usually promoted into management from a technical specialty. By managing a functional area already known to them, a new manager can learn and grow as a manager while remaining attached to something that they already understand. And it certainly helps working professionals to have someone who understands and appreciates their specialty, who understands what goes into becoming an excellent performer, and who is in a position to make things happen in regards to new opportunities and challenges.
However, I believe that Agile management involves more aspects of general management than functional management. Agile managers need to learn how to coach and guide individuals who are on autonomous teams, a shift from traditional functional management where functional managers have planned and directed work, including assigning of tasks. The human skills and relationship aspects of management are more amplified and immediate with Agile development, and to be effective, a manager unequivocally needs to understand the how’s and why’s that make Agile development tick.