The Plan B Recipe, A Comprehensive Guide to Human Software Development

Introduction

The Plan B recipe was born out of frustration with traditional methodologies like Scrum and aims to provide a more flexible, creative, and human-centric approach to software development.

Key Principles

Value-Driven Development

At the core of the Plan B Recipe is the focus on delivering value. Instead of fixating on arbitrary deadlines and time-based estimates, we prioritize the tangible value that can be delivered within a given cycle. This approach encourages teams to focus on what truly matters—solving problems and creating meaningful features.

Fixed Cycles with Flexible Scope

The Plan B Recipe operates in fixed cycles, typically six weeks, with a one to three-week cooldown period following each cycle. This cadence provides a predictable rhythm for the team, ensuring continuous progress while allowing time for reflection, maintenance, and preparation for the next cycle. The fixed timeframe helps to manage scope and prioritize effectively.

Planning and Development

Concept of Planning

Planning is the preliminary phase where ideas are refined and scoped before they reach the development team. This stage involves brainstorming, sketching, and validating concepts to ensure they are both clear and feasible. The primary goal of planning is to create a high-level outline that provides enough detail to guide development while leaving room for creative solutions.

Elements of an Idea

  • Problem: A clear articulation of the problem to be solved, including context and impact.
  • Appetite: The amount of time and effort the team is willing to invest, typically expressed in terms of the six-week cycle.
  • Solution: A proposed approach to solving the problem, including key features and functionality.
  • Risks: Potential challenges, uncertainties, and areas where things could go wrong.
  • Rabbit Holes: Areas that could lead to scope creep or unnecessary complexity.
  • No-Gos: Non-negotiable constraints or aspects to avoid, ensuring alignment with strategic priorities and resource limitations.

Voting on Projects

When the team is planning, members vote on projects to determine which ones to pursue. This democratic process ensures that the best ideas, as judged by the team, rise to the top.

No Predefined Tasks

There should be no predefined tasks at this stage. It is up to the contributors and designers to figure out the tasks to work on. This allows for flexibility and adaptability as the project progresses.

Fat Marker Sketches

Instead of detailed specifications, projects are represented as fat marker sketches. These high-level visualizations capture the essence of the project without delving into unnecessary details. Fat marker sketches encourage flexible thinking and allow for adjustments during development, fostering an environment of creative problem-solving.

Breadboarding and Wireframing

  • Breadboarding is a technique for outlining the key elements of an interface without getting into detailed design.
  • Wireframes provide a visual representation of the user interface, exploring different layouts and interactions at a high level. Both techniques help to visualize the user experience and identify potential issues early.

R&D Mode and Scope Hammering

When a project involves significant uncertainty or technical challenges, it may start in R&D mode, allowing the team to explore and experiment without the pressure of immediate delivery. Scope hammering defines the project boundaries, making tough decisions about what to include and what to exclude to keep the project manageable and focused.

Addressing Uncertainty

Teams should address uncertainties early in the cycle. This includes tackling the riskiest or most complex aspects of the project upfront to prevent surprises later. Addressing uncertainty helps to reduce risk, build confidence, and ensure that the project stays on track.

The Maestro and Team Dynamics

Role of the Maestro

In the Plan B Recipe, the traditional Project Manager or Scrum Master is replaced by the Maestro. The Maestro’s role is to ensure the cycle goes smoothly and to support the work, not to dictate. The Maestro facilitates communication, removes obstacles, and ensures that the team has everything they need to succeed.

Autonomy and Flexibility

The Plan B Recipe emphasizes the autonomy of individual contributors. We believe in hiring good humans and trusting them to work in the way that suits them best. This means allowing flexibility in work hours, meeting schedules, and processes.

The Issue with Daily Stand-ups

Daily stand-ups, a staple of many Agile methodologies, can be intrusive and unnecessary for some teams. Imposing daily stand-ups on everyone ignores individual preferences and work rhythms, leading to resentment and disengagement. Instead, team members can update their progress in a shared document or diary at times that suit them best.

No Recurrent Meetings

Recurrent meetings are productivity sinks and should be avoided. Remove them from your calendar immediately. Meetings should only be held when there is a genuine need to discuss and challenge ideas.

When to Have Meetings

Meetings should be short, purposeful, and involve only the necessary participants. Here are some guidelines:

  • Keep the number of participants odd to facilitate decision-making (ideally 3 or 5 people).
  • Limit meetings to less than 30 minutes and ensure they result in actionable outcomes.
  • Remove chairs from the meeting room to keep discussions brief and to the point.

Building and Developing

Dedicated Teams

Teams are formed specifically for each project, typically consisting of a designer and one or two programmers. This small, cross-functional team ensures close collaboration, rapid iteration, and efficient decision-making. Dedicated teams help to maintain focus, accountability, and a sense of ownership over the project.

Fixed Time, Variable Scope

Projects have a fixed timeframe (six weeks ideally, but can be between one and two months), but the scope can be adjusted. This approach ensures that work is completed within the allotted time, even if some features need to be cut or simplified. Fixed time, variable scope helps to manage expectations, prioritize effectively, and deliver high-quality work on schedule.

Managing Scope

Scope management is critical to success. Teams are encouraged to prioritize the most important features and be willing to make trade-offs to stay on schedule. Effective scope management involves continuous assessment, adjustment, and communication, ensuring that the project remains focused and aligned with its goals.

Designing for Programmers

Designs should be created with programmers in mind, focusing on clarity and feasibility. Collaboration between designers and programmers is essential to ensure a smooth handoff and efficient development. Designing for programmers involves clear communication, practical considerations, and a focus on user experience.

Start with the Hardest Part

Begin development with the most challenging or uncertain parts of the project. This approach helps to identify and address potential issues early, reducing risk and building confidence. Starting with the hardest part ensures that the most critical aspects of the project are tackled first, setting a solid foundation for the rest of the work.

Integrate Regularly

Frequent integration and testing ensure that the project stays on track and any issues are identified and resolved quickly. Regular integration helps to maintain alignment, improve quality, and reduce the risk of major problems late in the cycle.

Cooling Down and Performance Management

Cooldown Period

After each six-week cycle, there is a one to three-week cooldown period. This time is used for reflection, cleanup, and preparation for the next cycle. The cooldown period provides an opportunity to address technical debt, perform maintenance, and recharge before starting new projects.

Reflect and Review

Teams review their work, identify lessons learned, and celebrate successes. This reflection helps to improve processes, practices, and outcomes for future cycles. Reflecting and reviewing foster a culture of continuous improvement, learning, and growth.

Technical Debt

Cooldown periods are an opportunity to address technical debt and perform necessary maintenance. This ensures the codebase remains healthy, sustainable, and resilient. Addressing technical debt helps to prevent long-term problems, improve quality, and maintain the integrity of the product.

Planning for the Next Cycle

During the cooldown, new ideas are shaped and prepared for the next voting process. This continuous cycle of planning, voting, and building ensures a steady flow of valuable work. Shaping for the next cycle involves brainstorming, sketching, and refining ideas, preparing for future projects.

1-on-1 Meetings

One-on-one meetings should be held sparingly, ideally once per cycle during the cooldown period to reflect on the past cycle. This doesn’t mean you have to wait until the end of the cycle to speak to your manager, but the formal 1-on-1 schedule should be limited to maintain productivity.

Reviews

Performance reviews are conducted every six months, ideally covering three cycles. This timeframe provides enough opportunity to reflect and evaluate the team’s performance comprehensively.

360-Degree Reviews

The Plan B Recipe recommends 360-degree reviews for performance evaluations. This comprehensive approach ensures feedback from peers, subordinates, and supervisors, providing a well-rounded view of an individual’s performance.

Company Pulse Surveys

To gauge the company’s overall health, pulse surveys are conducted during the cooldown period after performance reviews. This timing allows everyone to reflect on their review results and provides an accurate snapshot of team sentiment.

Conclusion

The Plan B Recipe offers a flexible, pragmatic approach to product development that balances structure with creativity. By focusing on planning work before it starts, making informed votes, and managing scope effectively, teams can deliver valuable projects on time and with high quality. The methodology emphasizes continuous improvement, collaboration, and alignment with strategic goals, providing a robust framework for successful product development.

This is why we built the Plan B Recipe: to create a work environment where creativity, quality, and collaboration can thrive. Join us in breaking free from the tyranny of outdated methodologies and embrace a more enlightened path to software development.