The beginning of July is a perfect time to have a slice of watermelon and consider the benefits of working together, in small batches!
If you’ve heard the adage “you can’t hold two watermelons in one hand”, you know it’s about asking for help, instead of trying to do too much, by yourself, all at once.
Scrum Teams are designed to handle complex work. Two qualities that contribute to a Scrum Team’s ability to handle big, watermelon-ish features are collaboration, and working in small increments.
Does your Scrum team work together as a unit?
By design, Scrum Teams are cross-functional. Each team member has skills in more than one area. The advantage is that no single team member needs to handle a complex, whole watermelon-ish piece of work all on their own and risk dropping it. The best writing I’ve seen on the topic of cross-functional teams is from Jason Yip: https://medium.com/@jchyip/why-t-shaped-people-e8706198e437.
In fact, collaboration is infused throughout Scrum. Here’s a quick list of how:
- Product Owner plus Development Team plan together what work will be done in a sprint
- Scrum Team coalesces around a Sprint Goal or objective for each sprint
- Development Team works together continuously, and syncs up at least daily
- Stakeholders collaborate with the Scrum Team via a feedback loop at the end of each sprint
- In larger organizations, multiple Scrum Teams collaborate to resolve dependencies and deliver a complete, integrated increment every sprint
- Scrum Master works in collaboration with those outside the Scrum Team, to ensure the team’s needs are met and impediments to progress are removed
Working in small increments
A Scrum increment is already a small slice of work, restricted by the timebox of a month or less. To improve the value of the increment, in the watermelon analogy, we want to deliver bite-sized pieces of watermelon, or maybe bowls of them. But they should be fresh, bite-sized pieces. The point is not to hold onto that big watermelon of work for a really long time and try to deliver the whole thing at a much later date.
Here are some techniques my teams have used to deliver higher value product in more readily consumable pieces:
- Smallest possible user stories. Slicing stories is an art form. It’s important to do what makes sense for your product and your team. I like to ask my teams “what does the smallest unit of customer satisfaction look like for this product?”
- A Definition of Done that includes everything: all the QA and user acceptance and regression testing, and everything else that’s needed to bring this story all the way into the actual customer’s hands. The idea here is that you don’t have “developer ready” work that is waiting around to be validated while it is losing its freshness. You’re going to need attention to good organizational collaboration unless your team works only on smaller isolated products.
- Shorter sprints. In each sprint, the Scrum Team produces a releasable increment. When an increment is shorter, the value delivery checkpoints are more frequent.
Delivering small increments
If very large, undefined work items are like watermelons, then slicing them up and cutting them into well-defined, bite-sized chunks will make them easier to process, and ultimately easier to consume. Remember, it’s only when those bite-size pieces of work hit the tastebuds of the customer that we learn for real how much all our work is worth.