I was originally recommended this book by a friend who made a note on how Basecamp is describing their software development process - that is not waterfall, agile or scrum - and how it works really well for them.
Intrigued by this thought, I immediately picked up the book to understand how another company can have such success without utilising the prevalent agile principles that are ubiquitous in most tech companies today.
The book was a very short and easy read (finished it in a day). This was great because I was able to get the insights that I wanted quickly. However, it is also a key reason why I rated the book as I have (3/5) - it is predominantly based on anecdotal evidence. I would have much preferred a fully developed set of ideas for the book to rank higher. That said, the book was successful in talking about how Basecamp works in a very accessible manner.
Now - was Basecamp’s claim true? That they have come up with a unique software development methodology pure of the buzz of waterfall, agile and scrum? I don’t think so. After reading what they described, I think they described the principles and mindset behind agile frameworks with greater clarity and detail than many things I’ve read. However, they used their own terminology to describe them.
Let me go through some examples that the book claims is unique about their in-house processes:
- six weeks cycle, followed by cool-down
Although it is not common practice, nothing stops a team to define their sprints for a period of 6 weeks to get the benefits that the book is talking about. That said, it was great to read the thinking that went behind this standardisation of cycle time. It gives a team enough runway to own and commit to a deliverable at the end.
- shaping, before we commit to a project
I don’t see any different than “refinement” or “grooming” of work. The idea is the same - before starting any work, spending upfront time trying to remove uncertainty from the project, considering risk, and increasing confidence in the understanding of the work
- fixed time, variable scope
That’s exactly the purpose of defining a “sprint” period. An artificial time constraint, that requires a team to commit to delivering a piece of work within that time, that is of value.
The book rightly calls out some of the benefits of having such a commitment or “deadline” - it makes teams conscious of the scope that they are taking in, and pushes them to consider cutting down scope to meet the fixed time that they have.
- hammering scope
An amplified imperative in the organisation for not just cutting scope, but aggressively doing so. Because delivering value is a non-negotiable tenant that they have.
- no backlogs
Whilst they don’t have “backlog items” in the traditional sense, Basecamp has pitches. Detailed one pagers that talk about the work that should be done just before the commencement of cycle.
Is that any different than how a scrum team operates? In my opinion, no! A good scrum will have a backlog that is constantly refined with great level of detail as the work gets closer to be taken into a cycle. Part of the detail includes assumptions and background information on why this work item is important at a point of time. A good scrum team will always review these assumptions and confirm if the case they are making still holds before pulling them in.
- betting instead of planing
Whilst traditionally scrum planning is more about a team discussing how they should tackle refined and accepted work, all work items is accepted as bets. Work items are nothing more but assumptions that if certain effort is made today, that a specific value will be achieved as a result.
Again, using the “betting” terminology is a great reminder of anyone or any team governing a backlog to remember that every backlog item needs to be valuable and have a payout.
The other benefit that comes with this terminology, is that you would naturally want to see a bet through. So when a work item is picked up in a cycle or a sprint, the team has the right to not be interrupted during their executions of it, and has the responsibility of committing to this bet at all costs.
—
Processes aside, there are two things that I really liked that I wanted to call out. One is a tool, and the latter is a tactic.
Tactic - QA in a team is a level-up
Similar to teams that I have worked with, Basecamp were largely made up of teams that are made up of developers that collectively own quality. However, as they grew in size and saw that small edge cases are starting to slip through as bugs to customers, they’ve had to consider adding an extra QA step to reduce the load of support.
What they also called out, is that this QA role was there to complement the existing system. They left quality to be owned by development teams, however, they assisted them by focusing exclusively on testing edge cases.
Tool - The “hill”
One of the powerful points that Basecamp makes in the book, is how work estimates does not show uncertainty. The example they give is that of two 4 hours tasks; the first you’ve done ten times in the past, and the second, you’ve never done before.
To solve this problem, they came up with a “hill” visualisation (think of a bell curve) that they’ve asked their teams to mark different pieces of work on at different stages. The uphill phase of the bell curve is full of uncertainty, unknowns and problem solving. The downhill phase is marked by certainty, confidence and knowing what to do.
This visualisation is great self reflection to the team, as they could employ different methods when they articulate to themselves what their confidence of the work is. It is also a valuable data point to management who can proactively lean in with support before an issue lingers and stalls.
—
This was a very refreshing read that I would highly recommend development teams and engineering managers to read. Particularly those who are feeling that they are working with teams who are simply doing the agile motions with little thought to the actual agile mindset.
Whilst I would have like Basecamp to acknowledge the large commonality that their ideas have with established mainstream ideas, I do see one benefit with their use of different terminology. And that is putting a spotlight on the specific agile principles that are important to them.
This read has made me consider rebranding some of the practices that I would love my teams to focus on, by giving them a fresh look that would strike curiosity and change.