In Scrum / Agile team resources are fixed throughout the duration of the project and features are variable.
In a Matrix organisation resources allocation is variable and features are fixed.
Agile / Scrum allows for variations late in the project where a traditional approach does not (or less).
This is because Agile / Scrum knows this:
Manufacturing resource management relies on technicians to be trained at various activities in their line of work. These activities rarely change. So, mastery of these activities increases dramatically with repetition. From a management perspective it is very easy to assign a person to different work streams since the proficiency level of the work environment is not built upon change or adaptability but on repetition and skill mastery.
Knowledge-based resource management understands that knowledge workers are trained professionals in a dynamic environment. This forces the knowledge worker to pursue greater levels of training and experience. The fluidity of communication and thought surrounding a project forces the knowledge worker to gain greater depth in the problem domain -effectively becoming a subject matter expert- so that they may better serve the business. This idea is compounded when you start to manage teams of knowledge workers. The term “two minds are better than one” shines in this environment. As knowledge teams ensure business value is rendered and invested as the project matures, the thoughts and ideas of the whole outweigh that of the individual.
As matrix management encroaches upon Agile management the philosophical viewpoints on resource allocation are contrary to each other. Matrix models dynamically allocate resources on a given project which help to gain momentum and predictability of effort. Matrix models disrupt communication continuity as well as iteration velocity. As you potentially mix and match resources from project to project on a weekly basis, you lose focus of the velocity you have been tracking as the team dynamics have been disrupted. If you simply perform a one for one swap of personnel you cannot expect output not to be disrupted.
This argument solely revolves around matrix management and Agile. You can do it but the experience of true Agile will be lost. The people aspect of Agile, which to me is the most critical, will be damaged due to constantly managing frustration based around priority and delegation.
“Agile refocuses management to concentrate on facilitating needs rather than driving performance. By focusing on the empowering of project teams through increased sharing of knowledge and information, the benefits are tremendous”
In an Agile team there are roles. These roles may or may not be identical to positions in the organisation. If the Architecture owner is not available, a Team Lead or Team Member will step in to temporarily take on the work; in an Agile team people step in where needed. The traditional model where your position determines your role is relaxed somewhat. Relaxing roles in a team paradoxically requires more discipline of team members, not less.