Handbook/Working Process

This document provides various suggestions on how to run a working process week to week and month to month. The suggestions here are not obligatory and individuals and projects may choose to organize things however they wish.

= A Simple Approach to Planning =

This is very crudely modelled on agile, 'sprint', methodology in software though it can be used whatever project we are on.

Principles

 * Organize at 2 (possibly 3) levels: topics, user stories, tasks
 * Do not plan too far ahead (1-2 month horizon max) -- things change!
 * Estimate work involved (however crudely) -- without this planning is impossible (and stress will ensue!)
 * Keep it lightweight -- if any of this gets burdensome drop it (at a minimum you need tasks + estimation!)

Process

 * Create high level work areas and associated user stories (where relevant)
 * This helps give some overall direction
 * Assign a crude value between 1-100 to each user story and each topic
 * Template sheet for this in Tasks and Todos Template (Priorities and Overview sheet)
 * Have a backlog of tasks (see template spreadsheet)
 * Try and relate these to top level topics
 * Must be estimated (however imperfectly) - do this in days (e.g. 2d or 2-4d ...)
 * Select a small set of these tasks to be your active tasks
 * In general would suggest never having more than 4-6 tasks active at one time
 * Don't plan very far ahead
 * Review and revise
 * What worked, what didn't
 * What can be improved

User Stories
User Stories template (gdocs)

User stories are good because they force us to think
 * In terms of the problem (rather than the solution)
 * non-technical form
 * in a form an average user or collaborator could understand and relate to

Standups
Standups are ultra-short catchup and coordination meetings


 * once a day for 5-15m
 * Each person says: What you did yesterday, what you are doing today, anything you are blocked on (and need help with)
 * Must be kept strictly to time
 * If some matter comes up that needs further discussion among team members it should go to a separate meeting outside of the Standup
 * Can be less for less frequent for less active teams

Iterations
Iterations (aka sprints) are a way to organize work into convenient chunks.


 * Split work chunks into 'sprints' or 'iterations' of 2-4 weeks in length
 * we suggest 2 week as a common length at the Foundation
 * Have a planning meeting at the start of each iteration
 * Review previous iteration
 * Identify highest value topics and user stories
 * Identify associated tasks and estimate
 * Team members select tasks (avoid assigning -- tasks should be chosen not given)
 * Check that estimated time for tasks <= total time available for each team member

= Updates =

Tips for updates on your notebook post:


 * Add 'updates' category
 * Link to any relevant items (e.g. a project, event etc) -- both for convenience and SEO
 * Link to relevant tickets or todo items
 * (Bonus points) Add crude day estimates indicating how much time (in days) you plan to allocate to each item over the next week e.g. (2d)
 * This way one can quickly see if one is over-committed for the coming week

But also, remember it's more important to have a notebook post up than for it to be perfect so if any of this becomes too burdensome -- just drop it!