Agile done right - process edition
We discuss all the stars that must align for Scrum to work well. We talk about how to build a lightweight process for your team, with your team.
Hi, this is Peter with the next edition of the Professional Manager newsletter. I publish this newsletter to illustrate what decent, seasoned, professional engineering management could look like.
As a reminder, the heart of the Agile principles is that any process we implement should work for the team, not vice versa. In this edition, we discuss building processes that serve the team well.
A perfect Scrum process
You may be running a perfect Scrum process with your team. This process may work well for everyone. You will experience this by the following signs.
Engineering manager and product manager can forecast the business’s demands for the entire sprint successfully.
The team is engaged with the Scrum ceremonies. Each member participates enthusiastically in sprint planning, daily standup, retrospectives. The ceremonies never feel like a drag, they feel like an exciting occasion to pause work for.
The entire team believes in pointing. Everyone understands the team’s pointing methodology (complexity vs. time, sizing).
Pointing serves its primary purpose and drives team-wide understanding of the work. Pointing also helps the team be more predictable, because your point-based estimates are accurate.
The team carefully tracks planned, completed, and unplanned work sprint after sprint. The team is instituting continuous improvements based on these metrics.
The end of each sprint does not feel like a mad rush to complete all the work.
Standups are meaningful and interesting. They’re not just a bland status update that includes the dreaded “what I did yesterday, what I plan to do today” statement.
Retrospectives result in action items that will bring improvements to the team.
The team is predictably delivering business value. There is never any doubt why your team exists within the business.
I have seen the above work. However, more often than not, I have seen this process get old, ceremonies turn lame, end of sprints feel like artificial urgency is injected, sprints consistently carry over work, engineers focus on scrum metrics (vs business value) and team members ultimately disengage.
I believe that locking in a sprint, whether a week or two weeks long, is no longer tenable for the realities of today’s tech-enabled, fast-moving business environment. As we ship software many times an hour, the climate changes, and we must adapt. As nice as having a story-level plan for the next two weeks sounds, I believe there are better ways to ship software. Gergely Orosz’s research around the curious absence of Scrum in Big Tech seems to underscore my theory. You’ll be hard-pressed to find Scrum at progressive Big Tech companies:
Build a principle-based process with your team, for your team
A great way to build anything is to root yourself in principles first. Building a process with your team, for your team is no different. Engineering teams should have their principles clearly articulated. The team may want to optimize for speed to market, for the number of experiments executed, or for a specific KPI achieved. If the team needs help identifying its principles, looking at the Agile Manifesto for inspiration is always a great option!
Once your team identifies some principles that resonate, it is time to build a strawman process. There may be a tendency to try to flesh out every last detail of this emerging process. Don’t! Your retrospectives will guide you in shaping the process to best work for your team. If you try to establish every last detail proactively, folks (most likely, you, dear manager!) may get too attached and be unwilling to improve quickly.
You only need to decide on a few things to establish a lightweight process.
How do you plan work?
Scrum? Kanban? Scrumban? None of the above?
How do you estimate the level of effort for an initiative?
Do you do standups? If so, what is the general shape of the meeting - please don’t decide on the all too boring “I did this yesterday, and I’m doing this today” format.
How frequently do you demo working software?
Retrospective format and frequency.
Once the team makes these few decisions, you are off to the races with your new process.
A process template
The teams I have been on in the past five years always wanted to ship software quickly and deliver business value through the power of technology. They tended to agree that fewer Agile ceremonies were in everyone’s interest. They wanted to keep their hands on the keyboard and pursue their passion for realizing business value through the code they write. These are the principles of the teams I have recently participated in.
There is a template process that works well for these principles. I will spare you the details. Instead, I will answer the above questions.
How do you plan work?
On Mondays, the engineering manager (EM), product manager (PM), and design lead spend significant time planning what’s in store for the week. As stories emerge, the EM notifies the team to review the stories asynchronously for understanding. The afternoon grooming session is only 30 minutes long. Everyone has done their homework and arrives with a basic understanding of each story in the backlog.
Based on the stories in the backlog, the meeting establishes a commitment for the end-of-the-week demo. This commitment represents working software and can take many shapes.
Scrum? Kanban? Scrumban? None of the above?
Kanban. We want to embrace change, and our environment moves too fast for us to be able to forecast the business’s demands for the next two weeks. With Scrum, once you have committed the stories into the sprint, the sprint should be immutable - as if that were ever the case… Using Kanban seems a better way to serve the business because Kanban accommodates rapid changes.
How do you estimate the level of effort for an initiative?
We do not put much stake in exact dates. However, we must have deadlines to run a business. We establish future expected throughput based on the team’s historical metrics around the number of tickets completed per week. Since a central tenet of Kanban is that stories are roughly the same size, this kind of estimation will provide a good enough estimate.
Do you do standups?
Real-time standups are on Mondays and Wednesdays only. People will only speak about things that others may find interesting and blockers they may have. Team members can “throw the flag”, we have an actual flag, when someone’s standup bit becomes irrelevant or uninteresting or too detailed for the good of the group.
Virtual standups on Tuesdays and Thursdays. Everyone needs to submit their virtual standup status by 10 am.
We meet on Friday for the all-hands demo.
We encourage ad-hoc working sessions and pair programming exercises.
How frequently do you demo working software?
Once a week. We expect to show progress in the form of working software every week. No exceptions.
Retrospective format and frequency.
Retrospectives happen once a month. Team members can asynchronously leave feedback on a shared forum throughout the month. Every month, we use a different format for the retrospective to shake things up. Some ideas for retrospectives are
Four L’s - Lacked / Longed for / Learned / Like
Sailboat - Goal & Vision / Wind & Engines / Rocks & Risks & Dependencies / Anchors
FLAP - Future considerations / Lessons Learned / Accomplishments / Problem Areas
These exercises should result in action items that lead to the team's improvement.
Product leadership should always be present at the monthly team all-hands. These gatherings give the product manager an excellent opportunity to speak about the “why,” business performance, run rate, and the like.
Summary
We discussed all the stars that must align for Scrum to work well. We talked about a principle-based approach to building a lightweight process for your team, with your team. We covered a process template that has worked for my teams recently.
I sincerely thank you for reading my newsletter. I’m always open to your feedback. I would also love for you to share The Professional Manager with your friend!