Organization

Roles

Definition

  • A role is a distinct collection of responsibilities
  • A role usually includes some authority in order to fulfill those responsibilities
  • A role can sometimes include honor and respect
  • Every entity, be it an individual or a group, can have one or more roles

Motivation

  • Roles are essential for collaboration
  • Roles set expectations between collaborators
  • When roles are formalized, people can know what to expect from others before they even meet
  • Poorly defined roles results in confusion and inefficiency
  • Roles act as interfaces, where the holder a role acts as an implementer of that roles
    • This abstraction allows for smoother exchange and reassignment of roles

Departments

Definition

  • Personnel within an organization are grouped together into departments
  • Departments are partitioned by domain, with each department representing a particular domain

Unity

  • It is easy for departments to become islands that are overly disconnected from the other departments
  • Organizations large enough to have multiple departments need operations personnel to bridge the gap between departments

Channels

Production Pipelines

  • Production is a pipeline
  • The departments and individuals of a production pipeline form a cyclic dependency graph
  • The start up the pipeline is "upstream"
  • The end of the pipeline is "downstream"

Deliverables

  • Most collaboration can be defined in terms of deliverables
  • Deliverables are passed along the pipeline from dependencies to dependents
  • Examples:
    • UI Designers deliver UI designs to developers
    • Developers deliver partially tested code to QA testers
    • QA testers delivers more comprehensively tested code to distributors
  • The production dependency graph is cyclic at both micro levels and macro levels
    • It is cyclic at a micro level because various steps in the process have tight loops
      • For example, while part of the pipeline is roughly Dev => QA => Dist, when QA finds any bugs, it will pass bug tickets back to the developers
    • It is cyclic at the macro level because once a product is finished it is passed back up the pipeline and delivered to customers and clients by upstream personnel
      • In some cases it is only a partially upstream delivery, where upstream personnel are notifying customers of new software updates

Routing by Role

  • Much of collaboration consists of routing concerns
  • Roles streamline concern-routing by making it obvious to whom and through whom a concern should be routed

Problem Flow

  • Most particular problems flow downward, not upward
  • Upstream problems can cripple downstream productivity

Previous: Execution Index Next: Communication