I have been reading about agile development lately. One of the key components of agile development is team structuring. Typically in large organizations, content development teams are organized either as functional teams or as project teams with larger organizations typically having functional structures in place. Agile methodology suggests a more project structure. Teams work dedicatedly for the project, preferably located close to each other.
Having seen both functional team structures and project team structures, I believe both structures have their inherent strengths.
Advantage Project Teams
- Projects can be completed faster. Decisions are taken faster since the complete team is working only on one project (or a few dedicated projects). There are fewer formal hand offs between functions and therefore fewer opportunities for communication gaps. There is lesser waiting time for functional resources to be available. There are fewer review/approval cycles for each function.
- Project teams are generally more cohesive. There is better understanding between members of the project teams. The team is more aligned to the project. Functional teams are also cohesive but more towards the function than the project.
Advantage Functional Teams
- Utilization is better in functional team structures. This is specially so in larger teams. Functional experts can move from project to project faster without having to wait for one project to complete. They don’t need to be idle while waiting for client feedback, SME inputs, or any anything like that. Number of people required in each function is better optimized and you have lesser redundancy in terms of people required.
- Functional teams are more scalable. Critical skilled resources when available in a functional pool can be better utilized across the projects. Also training and development of new hires is probably easier in a functional team.
- Provides individuals with growth opportunities in functional areas. This is more so in the Indian context. Typically growth is seen as change in designation, preferably when the designation has ‘Manager’ in it. Functional team structures provide more opportunities for individuals to be functional managers. Growth in project teams is fairly hierarchical. You need to become a project manager to ‘grow’.
Both team structures have their inherent strengths. The trick is to leverage the strengths of each team structure and see if best of both is possible. Which one you choose depends on many factors, like the size of the organization, skill level available, maturity of people, scalability required etc.
Whether you chose project team structure or functional team structure, in both cases there are some common things that are a must to have a successful team/project:
- Common goal, vision
- Frequent and open communication
- Mutual respect for each function
- Good project planning and tracking
- Workflow tools (more so in larger projects)
Additional reading:
- Sumeet Moghe: Of Project Spaces and Project Managers, Agile Re-explained
- Harold Jarche: Instructional Design Needs More Agility
- Jay Cross: Agile Instructional Design
- Wikipedia: Agile software development