Ryan Singer, Head of Strategy at Basecamp, shares the journey of figuring what is the best way for the company to work. It has taken them a decade of refinement to get to it.
Because here is the thing — Basecamp considers the company a product too. Their way of work starts with dividing time into six-week cycles.
In his presentation, Ryan shares their approach to ensuring that software development teams actually release what they intend to. The focus is on building the right things efficiently and effectively, avoiding common pitfalls that lead to delays or misaligned products.
Here are the key takeaways from the talk:
Strategic Planning and Idea Management:
- Continuously gather inputs from customer demands, internal usage, and stories to inform what matters in terms of product development.
- Manage ideas through pitches, which are write-ups proposing solutions to problems. The default response to all ideas, regardless of the source, is 'no' or 'maybe one day,' ensuring that only the most impactful ideas proceed.
Budgeting and Efficient Team Structure:
- Work in six-week cycles with small, integrated teams (one designer, two programmers) to maintain focus and efficiency.
- Adopt a mindset of "expecting to be done" within the cycle, creating a productive pressure to deliver results.
- Understand that plans are always wrong and allow scope to be variable. Teams should have the power to adjust scope based on their understanding of the work.
Protecting Team Time and Focused Work:
- Leadership must protect the team's time by being deliberate about resource allocation. This means making a bet on spending six weeks on a feature to the exclusion of everything else and sticking to it.
- Shield teams from distractions like bug fixes or requests from other departments during the cycle.
Defining Work and Handling Scope:
- Define work not as a checklist but as a concept, allowing teams to make trade-offs and decisions on the scope as they progress.
- Work is always more than anticipated, and plans are always wrong. Allow teams to find the balance and cut the fat while preserving the core of the idea.
Tracking Progress Through Uncertainty:
- Progress is tracked not in terms of tasks completed but in terms of uncertainty reduced.
- Use a hill chart to visually represent where tasks stand in terms of unknowns to knowns.
- Encourage conversations about why certain tasks aren't moving and troubleshoot accordingly.
Handling Unfinished Work and Prioritization:
- If work isn't finished at the end of the cycle and crucial parts are over the hill (understood and manageable), invest extra time.
- If work is still on the uphill side, it needs more strategic thinking or refinement before being tackled again.
- Prioritize bugs and infrastructure separately, focusing on product changes that customers see and use.
Maintaining a Sustainable Work Pace:
- Avoid the burnout and chaos of continuous, meaningless sprints.
- Choose a work cycle length that allows for meaningful work to be done and for the end to be in sight from the beginning.