Bus Driven Development

Ice Bus

Bus Driven Development v0.1, © asyncworkers.xyz 2023 : an evolving concept, a working analogy for how to apply agile to a high-performing product-engineering team, or to any team trying to get things done, build new products, or deliver on customer commitments

Get on the Bus!

Passengers = Individual Team Members, Individual Contributors, (IC’s)

I.C.’s get on the bus. Have meetings on the bus. Work on or off the bus. Limit team size to 5-10 people, or as many as fit on the bus. 

Driver = Engineering Manager (EM) Driver can also be Tech Lead or Team Lead, if EM is not embedded with a team, in which case EM provides a support function to the team. 
Navigator = Scrum Master (SM)
Tour Guide = User Experience Designer (UX)
Tour Manager = Product Owner (PO)
Route Planner = Product Manager (PM)

Types of Busses

  • Passenger Bus, Tour Bus: the most common bus 
  • School Bus: onboarding, training
  • Sleeper Bus: limited space, overnight shift, non-stop
  • Party Bus: special event
  • Limo: demo team, driver dresses up, showing off to customer, limited size team
  • RV: exploratory team, strike team, might even tow jeep for rough roads
  • Accordion bus / shuttle: repeat trips, lots of people for a short time, well-traveled journey

Support Functions

  • Trip Planning: Roadmap, goals, long term plans
  • Tow Truck & mechanic: broken teams are fixed up, teambuilding, mentorship
  • Department of Transportation: Authority figure (CTO) says these are the travel-able roads, express lanes
  • Highway Patrol: Courtesy patrol, rule enforcement (Agile coaches lend a hand)
  • Rest Stops, Gas Stations, Charging stations: HR, various department support staff
  • Driver’s Ed: Drivers License, CDL certifications (career development, training)

Journey Types

Road Trip

  • A few days to a few weeks, a near-term plan with a clear destination or set of destinations in mind

Tour

  • Multiple stops or checkpoints mapped out, quarterly plan, product increment plan
  • Single bus or a caravan on a long road trip
  • Additional busses will come and go at various stops
  • Semi’s, flatbeds, container trucks bring along necessary side-cars
  • Day trips alongside the main tour

Caravan

  • Multiple busses meet in a parking lot or Point of Interest, align route plans, swap vehicles if needed, and hit the road

Carpool

  • Pick up extra people for a short bit, bring them back to their bus

Daily 30

During Road Trips or while on Tour, every day plan on 30 minutes with the team on the bus:

  • 15-min huddle-up, focus on the board, the work, getting things to done
    • Don’t focus on “What I did yesterday…”, the board will indicate that. Focus on the plan for the day that gets more work to done
    • Consider starting with a “What’s Changed” view, easy way to celebrate stuff that moved to Done each day
    • This is not a status meeting, it’s a next-steps meeting
  • Allow some followup time while people are together
    • Use the time while together to do some refinement, some demos, whatever the day is per cadence
    • 15 min additional meeting, when needed, for the relevant team members. Since you are sitting in proximity, you might as well stay “dialed in”
      • Maybe pair programming w/ team lead w/ rest of team around to assist
      • Full group brainstorming
      • Quick demo of code and options for next steps
      • Quick demo of work in progress, internal feedback
    • Keep meetings to 1 hour max then regroup if needed

Example 2-week Road Trip

  • Tuesday
    • New Road Trip planning, define what deliverables can be committed, or what destinations will be reached
    • Road Trip needs planned before starting to drive, sometimes it’s OK to start driving, but initial destination needed to get started
    • Suggest starting Road Trips on Tuesday because Mondays are often holidays or company priorities emerge with a new week, such as operations spill-over from weekend waiting for team to return
  • Wednesday
    • 1st full day of new Road Trip
      • Any tasks need to be broken down?
      • Any destinations need support services?
    • 30 minutes max, then followup sessions with individuals as needed
    • Later in the day: Cross-team, cross-department meeting opportunity
      • Demos of last Road Trip’s work recorded or given live at cross-team meetings
  • Thursday, Friday, Monday
    • Regular days, no need to stay more than 30 minutes, refine a story if time permits
  • Tuesday
    • Refinement day, opposite planning day
    • “Daily 30” might go long, invite SME’s for conversation about backlog items
    • Schedule topical meetings throughout the day, keep Tuesdays as meetings day to limit distractions on other working days
  • Wednesday
    • Regular day, no need to stay more than 30 minutes, refine a story if time permits
  • Thursday
    • Retrospective after Daily 30
  • Friday
    • Regular day, no need to stay long, refine a story if time permits
    • Avoid Friday meetings when possible as people leave for the weekend and miss the meeting
  • Monday
    • Last day of Road Trip, wrap up day, stay on to swarm the committed deliverables
    • 30 min max, turns into working session to ensure work is done

Cadence Meetings

  • With a tour bus, people are on the bus, then get off to do their own thing. People need time to work, then come back together to get to the next destination. Or, work on the bus, in proximity to each other, so you can help each other out as things come up.
    • Office space with approachability and interruptibility are key
      • Personal workspace for focus-time is also important
    • Remote-first tools empower this, like slack, to chat at any time, and be synchronous or asynchronous as people come and go
  • Come together to collaborate, then venture off. At a set time, check back in for another group activity as needed
  • Since many teams are remote, schedule these at a similar time so people can map out their day
  • Mandatory vs Obligatory
    • Mandatory meetings come up when a time-sensitive company announcement must be heard by all employees
    • Obligatory meetings are the ones you can’t afford to miss. How else will you know what to work on? How else will a team member get answers to their questions? Cadence meetings can always be canceled or repurposed, better to hijack a planned meeting than to wait for schedules to clear up to schedule a special meeting, if the same people are involved
  • Individual Contributors should be on 1 team, 1 set of meetings. Managers may have to span multiple teams and attend multiple sets. Consider Roll-Up meetings to connect people who span multiple teams. But, also, consider attending various team meetings at various times as a way of keeping a pulse on multiple teams. 

Meetings aren’t the work

  • Meetings are where you figure out what to work on. Then you get to work. 
  • Meetings are essential to figure out the work, decide next steps
  • The finish line is not defined in Agile, you figure it out over time as you go
  • Teams can be remote, distributed, and asynchronous, but need to collaborate and have synchronous discussions to define details and next steps
  • Outsourcing to individuals comes with risk. If you know the finish line and someone can be handed an assignment, they can ride a motorcycle by themselves and meet the bus at the next checkpoint.
  • Outsourcing to a whole bus can be successful if every detail is defined before starting, or if the Driver (or relevant support role) is available to relay details and discuss questions without delay.

Possum or Opossum

Product Owner + Scrum Master (POSM)

Thanks to https://scrumguides.org/scrum-guide.html#product-owner and https://scrumguides.org/scrum-guide.html#scrum-master these 2 roles are clearly defined, but can they be combined?

  • How many managers does a team need?
    • Dedicated Scrum Master? Scrum Master is a role, but is likely not full-time to assist a single team. Certainly a full-time position to assist multiple teams, but how can you do that if you are on bus with 1 team?
  • Scrum Master is best when also a subject matter expert or domain expert for the team, able to understand the tasks, and help drive next steps
  • Roles in conflict?
    • Product Owner “versus” Scrum Master? A mature team doesn’t need a referee to overcome conflict. The team full of professionals is able to talk through sizing, prioritizing, and a professional Possum can make an informed decision. 

Inner circle, outer circle, CB Radios

  • Imagine zoom in a circle, with 2 rings.
    • Team is inner ring
    • SME’s, peripheral PMs, or department managers, are the outer. Inner circle is involved in the meeting, outer circle may observe, listen, speak when called upon. 
  • Outer circle doesn’t fit on the bus. They ride on another bus. 
  • Passengers working on a bus can use a CB radio to contact other drivers with questions
  • Once in a while a guest is brought into a bus, if the bus is now full, consider trading places with another passenger to make room
  • Standing on a bus without a seat is dangerous, it can work on a shuttle bus, but certainly not ideal for exploratory expeditions