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

Form Follows Function

Visitors' overlook building at Kentucky Dam. This structure is in the form of an open shed because the other functions of TVA (Tennessee Valley Authority) visitors' buildings being accommodated in the nearby construction village, there was need for shelter only at this point. Since the project is in a hot climate, ample ventilation is promoted by the open front, a balustrade height opening toward the back underneath the display and grilles to ventilate the roof space. Most of the displays are arranged as transparencies, with natural illumination during the day, and with floodlights used as substitutes during the night.

...you know the key atomic process activities, but there is little specialization and few well-defined roles. People don't know where to turn for answers to questions. 

✥ ✥ ✥

A project must delineate well-defined roles to help identify and leverage expertise relevant to emerging problems.

Individual activities are too small, and their sequencing relationships too dynamic, to be useful process building blocks. 

You could build talent lists of the individuals in an organization and partition the work among them, but that makes the organization sensitive to personnel changes. And it would be nice to sometimes be able to talk about the organization structure at a higher level of abstraction than individuals. 

You could organize around classical roles such as "developer" and "designer" and "manager," but that's only a partial solution. These roles don't apply to all organizations, and stereotypical roles can't generalize to a wide range of domains. 

Activities often cluster together by related artifacts or other domain relationships. 

You want to match up specialization, expertise and experience when staffing an organization. 

Therefore: 

Group closely related activities (that is, those mutually coupled in their implementation, or which manipulate thesame artifacts, or that are semantically related to the same domain). Name the abstractions resulting from the grouped activities, making them into roles. The associated activities become the responsibilities (job description) of the roles. Roles, rather than activities, become the basic project building blocks. 

✥ ✥ ✥

For example, if a project depends heavily on a software library, there should be some ownership (see CodeOwnership) embodied in a role such as Librarian. The Librarian has responsibilities and social communication patterns distinct from those of a developer, which makes it a separate role. Other roles such as Vendor Coordinator, Rules Developer, or Computer Graphics Artist speak to the function of the organization and its product. 

Other roles convey more subtle aspects of organizational function and structure. One organization featured the roles Code Police and Agitator, reflecting a lighthearted attitude towards what might otherwise be considered onerous functions. 

This approach yields a partial definition of project roles. Some roles (MercenaryAnalyst, developer, architect, GateKeeper, etc.) are canonical, rather than deriving from this pattern. Those roles, too, are in concert with this pattern, though at a more generic level. 

The idea was used in a large project re-engineering effort that Jim Coplien worked with in March of 1994. 

Louis Sullivan is the architect credited with the primordial architectural pattern of this name ([BibRef-Rybczynski1989], p. 162). 

This pattern interacts with other structural patterns such as OrganizationFollowsLocation, OrganizationFollowsMarket, and ArchitectAlsoImplements. Also see EngageCustomers. 

One manager notes: "In my experience from Project Management Audits ... projects both leave out roles (e.g., no named architect) and define several people with the same role. The second is most problematic, since it causes staff confusion. But the missing role also occurs because projects have inexperienced managers. This is a big problem...around System Engineering roles, or lack thereof."


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