documentation/roles.md

4.9 KiB

Roles

Rotating cooperative-wide roles

In the interest of distributing types of work equitably and skill-sharing, a number of tasks ideally rotate— weekly, or monthly, or somewhat randomly.

Meeting facilitator

  • Standup facilitator (all regular meetings)
  • Monday/Friday planning facilitator (can be different than facilitator in standup part).
  • Worker-owner meeting facilitator

In practice standup facilitator has been Keegan 95% of the time, with Chris and Sanjay a bit more likely to pick up the planning facilitation.

Timecop

  • Checks to ensure people get their time in each day by the end of Monday planning, mid-week daily standup, and Friday shipping. Works with people individually after the meeting to get the time in.

In practice, we have not done this for a while.

Scribe

  • Write one sentence about each person's main activity in a week, summarizing our activities in an accessible way in blog posts such as "The Week That Was: Agaric's March 30th to April 3rd"
  • As our main storyteller for the month, think about ways to weave the work we're doing every week into a narrative; if we can't fit our work into a narrative we're probably straying from our strategic goals.

Never put into practice and we really need to.

Trainer/Educator

  • Write informative blog posts
  • Create curricula for trainings
  • Submit speaking and training sessions
  • Speak/training at events
  • Help organize trainings, camps and conferences

Primary: Mauricio, Chris
Secondary: Keegan, Ben

Infrastructure

  • Create and support working development environment for each project
  • Create and support staging site for each project
  • Maintain deployment workflows for each project

Primary: Chris
Secondary: Louis, Ben

Leads

  • Cold calls (we have never done this)
  • Future event scanner - list events of interest in advance
  • Respond to requests received by contact form or email
  • Write proposals
  • Coordinate estimates
  • Manage marketing-oriented pages on website

Marketing

  • Write blog posts
  • Post to social media
  • Coordinate sponsorship of events
  • Network at events
  • Take pictures and video
  • Promote events we are part of

Contractor Relations

  • Communicate hours and progress with contractors
  • Make sure contractors send invoice each month
  • Make sure contractors get paid each month
  • Check in on how contractors are feeling about their work and projects
  • Check in with Agaric team on how things are going with contractors they work with

Currently making no effort to rotate.

Primary: Sanjay
Secondary: Micky

Team Management

  • Review planned time usage on a weekly basis (start of week, based on reports in Monday team tempo meeting)
  • Make suggestions to try to ensure Agaric worker-owners combine for at least 60 billed hours a week (60x4x150=$36K/mo=clearing payroll).
    • Works with project leads to find recommended tasks.
  • Pairs with contractor relations for overall use of available Agaric time.
  • Implement Team Tempo process

Unfilled since Clayton left.

Project-specific roles

Lead

Client Relations

  • Hold monthly sensing and sprint planning/review meetings
  • Send monthly ROS and project update
  • Make sure payments from client are happening on time
  • Update Agaric team on how a client is doing and how their projects are going in worker-owner meetings

This role as described has not really been filled since Clayton was here.

Developer/Designer

Design

  • Create wireframes/prototypes
  • Create design mockups
  • Create styleguide using HTML and SASS

Primary: Unfilled

Development

  • Use contributed and custom modules to implement functionality
  • Translate styleguide into working website
  • Review others' code
  • Test code
  • Deploy approved changes

Primary: Ben, Mauricio, Louis
Secondary: Chris, Keegan

User Research

  • Define and measure project goals and key performance indicators (KPIs
  • Define key user groups
  • Conduct research to learn users' needs and motivations

Project Manager

  • Plan sprints
  • Ensure issues have acceptance criteria and relevant info
  • Facilitate project meetings
  • Facilitate key milestones such as security updates, redesigns and launches

Responding to Inadequate Performance of a Role's Duties

  • Person noticing an issue address directly. If issue persists, call a meeting with the whole group to discuss a resolution/change.

Suggestions for role-fluidity

  • Define documentation requirements and tool usage for the role (e.g. effective use of GitLab for developers, detailed tracking in CMS tool)
  • Specific email addresses for particular roles
  • Document requirements of a role - hard skills, soft skills, and required resources (e.g. excellent communication, GnuCash familiarity, etc).
  • "Pair-programming" approach
Related: <a href="https://gitlab.com/agaric/internal/wikis/worker-owners">Worker Owners</a>