DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Enterprise AI Trend Report: Gain insights on ethical AI, MLOps, generative AI, large language models, and much more.

2024 Cloud survey: Share your insights on microservices, containers, K8s, CI/CD, and DevOps (+ enter a $750 raffle!) for our Trend Reports.

PostgreSQL: Learn about the open-source RDBMS' advanced capabilities, core components, common commands and functions, and general DBA tasks.

AI Automation Essentials. Check out the latest Refcard on all things AI automation, including model training, data security, and more.

Related

  • RRR Retro and IPL for Rewards and Recognition
  • Performance Optimization in Agile IoT Cloud Applications: Leveraging Grafana and Similar Tools
  • 6 Agile Games to Enhance Team Building and Creativity
  • How To Optimize Your Agile Process With Project Management Software

Trending

  • Automated Data Extraction Using ChatGPT AI: Benefits, Examples
  • Machine Learning: A Revolutionizing Force in Cybersecurity
  • Building a Sustainable Data Ecosystem
  • Harnessing the Power of Observability in Kubernetes With OpenTelemetry
  1. DZone
  2. Culture and Methodologies
  3. Agile
  4. Cross Functional Doesn't Mean Everyone Can Do Everything

Cross Functional Doesn't Mean Everyone Can Do Everything

On an Agile team, every team member should be able to do every task, right? Actually, you can benefit from a mix of specialists and multi-skilled individuals.

By 
Mike Cohn user avatar
Mike Cohn
·
Mar. 06, 17 · Opinion
Like (13)
Save
Tweet
Share
8.6K Views

Join the DZone community and get the full member experience.

Join For Free

perhaps the most prevalent and persistent myth in agile is that a cross-functional team is one on which each person possesses every skill necessary to complete the work.

this is simply not true.

a cross-functional team has members with a variety of skills, but that does not mean each member has all of the skills.

specialists are acceptable on agile teams

it is perfectly acceptable to have specialists on an agile team. and i suspect a lot of productivity has been lost by teams pursuing some false holy grail of having each team member able to do everything.

if my team includes the world’s greatest database developer, i want that person doing amazing things with our database. i don’t need the world’s greatest database developer to learn javascript.

specialists make it hard to balance work

however, specialists can cause problems on any team using an iterative and incremental approach such as agile. specialists make it hard to balance the types of work done by a team. if your team does have the world’s greatest database developer, how do you ensure your team always brings into an iteration the right amount of work for that person without bringing in too much for the programmers, the testers, or others?

to better see the impact of specialists, let’s look at a few examples. in figure 1, we see a four-person team where each person is a specialist. persons 1 and 2 are programmers and can only program. this is indicated by the red squares and the coding prompt icon within them. persons 3 and 4 are testers who do nothing but test. they are indicated by the green square and the microscope icon within those. you can imagine any skills you’d like, but for these examples, i’ll use programmers (red) and testers (green).

the four-person team in figure 1 is capable of completing four red tasks in an iteration and four green tasks in an iteration. they cannot do five red tasks or five green tasks.

but if their work is distributed across two product backlog items as shown in figure 2, this team will be able to finish that work in an iteration.

but, any allocation of work that is not evenly split between blue and green work will be impossible for this team to complete. this means the specialist team of figure 1 could not complete the work in any of the allocations shown in figure 3.

the impact of multi-skilled team members

next, let’s consider how the situation is changed if two of the specialist team members of figure 1 are now each able to do both red and green work. i refer to such team members as multi-skilled individuals . such team members are sometimes called generalists , but i find that misleading. we don’t need someone to be able to do everything . it is often enough to have a team member or two who has a couple of the skills a team needs rather than all of the skills.

figure 4 shows this team. persons 1 and 2 remain specialists, only able to do one type of work each. but now, persons 3 and 4 are multi-skilled and each can do either red or green work.

this team can complete many more allocations of work than could the specialist team of figure 1. figure 5 shows all the possible allocations that become possible when two multi-skilled members are added to the team.

by replacing just a couple of specialists with multi-skilled members, the team is able to complete any allocation of work except work that would require 0 or 1 unit of either skill. in most cases, a team can avoid planning an iteration that is so heavily skewed simply through careful selection of the product backlog items to be worked on. in this example, if the first product backlog item selected was heavily green, the team would not select a second item that was also heavily green .

the role of specialists on an agile team

from this, we can see that specialists can exist on high-performing agile teams. but, it is the multi-skilled team members who allow that to be possible. there is nothing wrong with having a very talented specialist on a team--and there are actually many good reasons to value such experts.

but a good agile team will also include multi-skilled individuals. these individuals can smooth out the workload when a team needs to do more or less of a particular type of work in an iteration. such individuals may also benefit a team in bringing more balanced perspectives to design discussions.

evidence from my local grocery store

as evidence that specialists are acceptable as long as they are balanced by multi-skilled team members, consider your local grocery store. a typical store will have cashiers who scan items and accept payment. the store will also have people who bag the groceries for you. if the bagger gets behind, the cashier shifts and helps bag items. the multi-skilled cashier/bagger allows the store to use fewer specialist baggers per shift.

what role do specialists play on your team?

what role do specialists play on your team? what techniques do you use to allow specialists to specialize? please share your thoughts in the comments below.

agile

Published at DZone with permission of Mike Cohn. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • RRR Retro and IPL for Rewards and Recognition
  • Performance Optimization in Agile IoT Cloud Applications: Leveraging Grafana and Similar Tools
  • 6 Agile Games to Enhance Team Building and Creativity
  • How To Optimize Your Agile Process With Project Management Software

Partner Resources


Comments

ABOUT US

  • About DZone
  • Send feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: