Search this site
Embedded Files
Scrum Pattern Group
  • Scrum PLoP
    • Scrum Tulip PLoP 2021 - Enkhuizen Netherlands
    • Scrum PLoP 2019
    • Scrum PLoP 2018, Quinta da Pacheca, Portugal
    • ScrumPLoP 2017, Quinta da Pacheca, Portugal
    • ScrumPLoP 2016, Porto, Portugal
    • ScrumPLoP 2015, Porto, Portugal
    • ScrumPLoP 2014, Helsingør, Denmark
    • ScrumPLoP 2013, Helsingør, Denmark
    • ScrumPLoP 2012, Helsingør, Denmark
    • ScrumPLoP 2011, Helsingør, Denmark
    • ScrumPLoP 2010, Stora Nyteboda, Sweden
  • Original Org Patterns Site
    • Organizational Patterns of Agile Software Development
      • Book Outline
        • Preface
        • History and Introduction
          • An Overview of Patterns and Organizational Patterns
          • What Are Patterns?
          • What Are Pattern Languages?
          • Organizational Pattern Languages
          • How the Patterns Came to Us
          • Gathering Organizational Data
          • Creating Sequences
          • History and Related Work
          • Introspection and Analysis of Organizations
          • Shortcomings of State of the Art
          • Analyzing Roles and Relationships
          • How to Use this Book
          • Reading the Patterns
          • Applying the Patterns
          • Updating the Patterns
          • Who Should Use This Book?
          • Size the Organization
          • The CRC-Card Methodology
        • The Pattern Languages
        • Organizational Design Patterns
          • Project Management Pattern Language
          • Community of Trust
          • Size the Schedule
          • Get On With It
          • Named Stable Bases
          • Incremental Integration
          • Private World
          • Build Prototypes
          • Take No Small Slips
          • Completion Headroom
          • Work Split
          • Recommitment Meeting
          • Work Queue
          • Informal Labor Plan
          • Development Episode
          • Implied Requirements
          • Developer Controls Process
          • Work Flows Inward
          • Programming Episode
          • Someone Always Makes Progress
          • Team per Task
          • Sacrifice One Person
          • Day Care
          • Mercenary Analyst
          • Interrupts Unjam Blocking
          • Don't Interrupt an Interrupt'
          • Piecemeal Growth Pattern Language
          • Size the Organization
          • Phasing It In
          • Apprenticeship
          • Solo Virtuoso
          • Engage Customers
          • Surrogate Customer
          • Scenarios Define Problem
          • Firewalls
          • Gatekeeper
          • Self-Selecting Team
          • Unity of Purpose
          • Team Pride
          • Skunkworks
          • Patron Role
          • Diverse Groups
          • Public Character
          • Matron Role
          • Holistic Diversity
          • Legend Role
          • Wise Fool
          • Domain Expertise in Roles
          • Subsystem by Skill
          • Moderate Truck Number
          • Compensate Success
          • Failed Project Wake
          • Developing in Pairs
          • Developing in Pairs
          • Engage Quality Assurance
          • Application Design is Bounded by Test Design
          • Group Validation
        • Organization Construction Patterns
          • Organizational Style Pattern Language
          • Few Roles
          • Producer Roles
          • Producers in the Middle
          • Stable Roles
          • Divide and Conquer
          • Conway's Law
          • Organization Follows Location
          • Organization Follows Market
          • Face-to-Face Before Working Remotely
          • Form Follows Function
          • Shaping Circulation Realms
          • Distribute Work Evenly
          • Responsibilities Engage
          • Hallway Chatter
          • Decouple Stages
          • Hub Spoke and Rim
          • Move Responsibilities
          • Upside-Down Matrix Management
          • The Water Cooler
          • Three to Seven Helpers per Role
          • Coupling Decreases Latency
          • People and Code Pattern Language
          • Architect Controls Product
          • Architecture Team
          • Lock 'Em Up Together
          • Smoke Filled Room
          • Stand Up Meeting
          • Deploy Along the Grain
          • Architect Also Implements
          • Generics and Specifics
          • Standards Linking Locations
          • Code Ownership
          • Feature Assignment
          • Variation Behind Interface
          • Private Versioning
          • Loose Interfaces
          • Subclass Per Team
          • Hierarchy of Factories
          • Parser Builder
        • Foundations and History
          • Organizational Principles
          • Priming the Organization for Change
          • Dissonance Precedes Resolution
          • Team Burnout
          • Stability and Crisis Management
          • The Open-Closed Principle of Teams
          • Team Building
          • Building on the Solid Core
          • Piecemeal Growth
          • Some General Rules
          • Make Love Not War
          • Organizational Patterns are Inspiration Rather Than Prescription
          • It Depends on Your Role in Your Organization
          • It Depends on the Context of the Organization
          • Organizational Patterns are Used by Groups Rather Than Individuals
          • People are Less Predictable than Code
          • The Role of Management
          • Anthropological Foundations
          • Patterns in Anthropology
          • Beyond Process to Structure and Values
          • Roles and Communication
          • Social Network Analysis
          • Distilling the Patterns
          • CRC Cards and Roles
          • Social Network Theory Foundations
          • Scatterplots and Patterns
        • Case Studies
          • Borland QuattroPro for Windows
          • A Hyperproductive Telecommunications Development Team
      • Appendices
        • Summary Patlets
        • Organization Book Patlets
        • Bibliography
        • Photo Credits
      • Mysteriously Missing
      • Supporting Pages
        • Common Pattern Language
        • Organizational Patterns
        • Diversity of Membership
  • Original Scrum Patterns Site Archive
    • Scrum as Organizational Patterns
    • Scrum Patterns Summary
    • Software Scrum Patterns
    • First-Level Scrum Patterns
  • The ScrumPLoP Mission
  • What is a PLoP?
Scrum Pattern Group

Few Roles

Actors rehearsing a new play by Langston Hughes, Chicago, Illinois, 1942.

...as an organization establishes its identity, the roles that the members of the project assume begin to take shape. The roles emerge from project needs as well as from individual preferences. Project members, playing these roles, pass information among themselves. 

✥ ✥ ✥

People in a project must communicate with each other for the project to make progress. Yet the overhead of this communication can hinder the very progress it should facilitate.

The number of possible communication paths among roles increases quadratically with respect to the number of roles. Five roles have ten communication paths, but ten roles have 45 paths. And twenty roles have 190 possible communication paths. It is clearly not possible to have every role communicate with every other. Therefore, information often reaches roles indirectly; through other roles. But this increases both latency (delay) and overhead. 

It is true that individuals may play several roles and receive information destined for one role that is useful for other roles. Our experience, however, is that in such cases, there are enough different communication needs in the different roles that it does not appreciably decrease the number of communication paths required. The source of information is sometimes as important as the information content itself. 

Therefore: 

Identify the roles in the organization. Try to keep the number of roles to about sixteen or less. If you have more, try to reduce the number of roles by identifying the value of various roles, and consolidating or eliminating roles that add less value.**

We have found that the healthiest and most productive organizations tend to have around sixteen to twenty roles. Aiming for the lower bound gives one space to allow additional roles to emerge as needed. 

The combinatorics of communication encourages few roles. Fewer roles means that communication becomes more efficient, both in resources consumed and in speed. 

Roles tend to be stable in an organization over time, more so than processes, and even personnel. Roles are a reflection of the culture and the values of the organization. Keeping the number of roles low makes it easier for new people to assimilate the organizational culture, and become part of it. 

Roles are not the same as people. Several people may play the same role; most organizations have several people in the Developer role, for example. Conversely, one person may fill more than one role. For example, a person may be mainly a developer, but may function part time as the project manager. Multiple roles per person is common in small teams, but is often seen in large organizations as well. 

How do you determine what the roles of an organization are? In particular, how do you know whether certain tasks are responsibilities of a role, or whether those tasks form a new role? One can examine the collaborations that emanate from those tasks, and see whether they correspond to the role in question, or have a different pattern of communication. In practice, though, it is simpler than that. Just ask the organization to identify their own roles. Every organization we have ever studied knew what their roles were. Organizational health seems to closely track the crispness with which project members can delineate roles. 

✥ ✥ ✥

Large organizations may find themselves with large numbers of roles. One can then approximate FewRoles by applying DivideAndConquer. 

After you have identified the roles, it may not be obvious which roles can be combined or eliminated. Use ProducerRoles to characterize the roles. 

As you keep the roles down, communication saturation will stay high, and communication patterns will resemble ResponsibilitiesEngage. 

Note that this is different from SizeTheOrganization. It deals with the number of people on the project; FewRoles is about the number of roles, regardless of the number of people. 

This is closely tied to ProducerRoles. It also makes DistributeWorkEvenly possible.

Copyright © 2026 The Scrum Patterns Group
Report abuse
Page details
Page updated
Report abuse