Have you worked on a software team that consistently shipped high-quality work on-time? I’ve seen companies large and small have plenty of difficult delivering software. Either things break in production, or things don’t ship on time, or worst-case both.
And in most cases, the antidote was supposedly to “be more agile”. Planning poker, Fiobancci story pointing, backlog grooming, and all of the other well-trodden ceremony should make these issues disappear. And to be fair, I’ve seen these things “work”, but only to a certain extent, and usually over the short-run. I’ve tried them myself with mixed results, and an underlying apprehension I could never put my finger on. Did software engineers pick this profession out of a love of project estimation and ticket management tooling? Does any of this feel like a natural way to treat human beings?
And so it is with this undercurrent of dissatisfaction that I recently found Shape Up by Ryan Singer. It’s a refreshing take on how to craft software. The book is a perfect size to read, and has a great blend of thoughtful ideas paired with practical advice from the trenches of a well-known and successful product company, Basecamp.
This book hit a lot of notes for me, but the biggest idea was how work is shaped and handed off to the development team. Projects aren’t chopped up into tickets, doled out and estimated. The product strategy team defines a project with CLEAR BOUNDARIES and a FIXED TIMELINE, and lets the development team work through the details and manage themselves, with clear checkpoints along the way. This allows developers to use their brains to come up with their own implementation ideas, frees up the product team to stay focused on high-level strategy, and doesn’t require a middle-manager (i.e. Scrum Master) for communication.
This is the essence of management that delegates without abdicating responsibility. Shaping creates guardrails to allow a team to grow and experiment without hand-holding, trusting but verifying that the project’s thoughtful criteria will be met. I think these ideas would be borderline radical in most companies I’ve seen.
Why does any of this matter? Because I believe technology companies can be agents of change. Crafting tools that help automate and streamline rote tasks so human beings can focus more on human work should be the ultimate goal of most technology offerings.
In that same spirit, how do we as technology leaders ensure that the builders of technology are allowed to do more human work? By giving them more responsibility in an environment where they feel safe. I think the true measure of success for any company is not just revenue growth or user adoption but how did your team grow professionally and personally? Otherwise, what’s the point in winning?
In addition to managing teams, I think the concept of shaping and fixed deadlines helps us manage ourselves too. Rather than keeping an iron-clad todo list, think at a higher level what you’d like to accomplish for a given week or month, make sure you focus on achieving the core “functionality”, and then DELIVER. Keeping a blanket list can trick your brain into thinking all tasks are created equal and MUST be done. Being more thoughtful about time constraints and scope helps to reframe and reorient your mind, and start building your shipping muscles.
This speaks to another key point that Singer, Clayton Christensen in Competing Against Luck , and even Peter Thiel have all talked about. Namely, a lot of the time the key to solving a problem is how to frame the question. Whether it’s deciding what features to build into a product, how to build out your organization, or how to spend your life, the way we frame the question helps guide us to the answer.
Ultimately, finding humane ways to ship software will be an ongoing challenge for leaders and contributors alike. Amid the rise of automated coding tools like GPT-3, there will be a need for thoughtful, effective leadership that understands what questions to ask and what tools to build.
So Shape Up, or ship out!