Since circa March 2022, we're trying out a take on the Shape Up process.
These are some of the tools we've adopted, changed or bolted on:
- Shaping/betting/pitching is the part we're the least sure about, but so far:
- We only do a rough pitch before betting.
- We don't shape tasks as fully, leaving some details for the developers to shape.
- We have a 4 week cycle focusing on planned work, avoiding distractions such as non-urgent maintenance.
- Followed by a 2 week cooldown, where we:
- Finish up if we didn't get done during the cycle. (But we should aggressively scope down to avoid this.)
- Do bug fixes and smaller improvements to the cycle work based on feedback. (But major stuff should be planned for a future cycle. And ideally we should ship iteratively to get feedback during the cycle.)
- After the first cooldown, the implementing group no longer "owns" it, and any further bugs would be handled by the hatter, though they can of course delegate to or consult those with more context.
- Have a retro.
- Schedule things like interviews, if we can avoid planning them mid-cycle.
- Have lab time, scratching itches and trying out new things.
- Do routine maintenance on our projects. (We have split out our projects between us for routine updates of gems, NPM packages, language versions and such.)
- Do track work, where our area-of-interest groups (maintenance, tooling, security, frontend, architecture etc) discuss priorities, pitch to the product team, or just fix it then and there.
We've agreed to a "timeout" convention, where you can make a "T" with your hands (or say "timeout", in an audio conference).
In a stand-up or other meeting, it means "enough detail, let's get back on track".
For a conversation taking place in our work room, it means "would you please end this conversation or take it elsewhere".
By agreeing on a shorthand, the idea is that we can be brief without anyone taking offense at the brevity.