Having the right practices can feel like a good vacation: enough structure that you feel secure and know your options, but enough flexibility that you can be spontaneous and go with the flow.

These are some practices I've picked up over the years that have helped me and the teams I've worked with stay flexible, self-organize, and problem-solve. I've organized them into principles as scaffolding for staying clear on why, even as new practices are incorporated. Many of them come from Scrum, Kanban, and Extreme Programming, a few major approaches to agility.

Principle Practices

Stay focused on user value

Strategically prioritize work

  • Play the bang-for-buck exercise to approach stories strategically
  • Groom your backlog regularly
  • Keep a backlog of a month's worth of stories ordered in priority
  • Use epics as containers for big picture vision or stuff beyond a month
  • Don't put too much detail into stories more than a month out

Visualize work for self-organization

  • Have a single location where all the work happening is visible
  • Use a physical work board if you're able, otherwise use a virtual one
  • Divide work into process steps to help surface bottlenecks and encourage swarming

Focus by limiting work-in-progress

  • Work on only a few things at a time (Work In Progress from Kanban)
  • Work within a timebox (Sprint from Scrum)

Empirically measure your progress

Minimize long walks in the wilderness

Know when you're done

Continuously improve

  • Hold regular reflections where you share positives, deltas, and insights
  • Demo your product often