Slicing work for remote teams
One of the most important skills that modern teams need to develop is the art of slicing work for continuous delivery.
In traditional approaches to software development we ‘functionally decomposed’ requirements into their component parts so that we could allocate requirements across the different subsystems of a solution. Business requirements were decomposed into system requirements for the different subsystems in the solution e.g. the billing component, the CRM component, the inventory component, etc. Solutions were developed independently by component teams and subsequently integrated for testing and release.
In the transition to agile software development we moved away from functional decomposition and towards slicing work into increments of value. We designed cross-functional teams who worked across multiple subsystems in short cycles to deliver incremental ‘slices’ of value. The benefits of this approach were clear: we released value earlier which reduced ‘design in process’ inventory costs, we reduced the risk and waste associated with late integration, and we preserved optionality allowing us to make better economic decisions and adapt to change.
We also found that the principles of agile software development could be applied to other domains. Working in smaller cycles, regularly demonstrating the value that we’ve created, and reflecting on the work system to improve it proved to be almost universally applicable. Nowadays most teams have a basic understanding of how to slice work so that they can deliver demonstrable value in a time-box.
The shift to remote or hybrid introduces some subtle new challenges. Zoom fatigue is real and affects people differently - with a demonstrably higher impact on women and new starters. Teams that spend whole days on VC suffer from engagement issues and burnout. To maximise productivity, engagement and flexibility with remote teams it is imperative that we reduce the virtual collaboration overhead on the team. This means we need to rethink the way that we slice work for delivery and add an additional dimension to planning.
In this blog I’ve captured a set of principles for the four key aspects to planning and delivery which you can apply to any team:
- Designing your system of work
- Preparing the work backlog for planning
- Planning the next work timebox
- Demonstrating the value that you’ve created
Designing your system of work
Re-design your regular events
Use the remote:af event canvas to rethink your regular events. Most teams will have an event to prepare work in the pipeline for planning, an event to plan their work, and an event to demonstrate the value that they’ve created.
Have a good think about the purpose of these events and then redesign them around your new constraints. What worked in a co-located space isn’t fit for purpose for remote/hybrid.
Focus particularly on: a) what can be done asynchronously (before and after the event) vs the work that needs to be done in session; and b) how digital tools can support the team and make the events more interactive than just a VC talk fest.
Constrain your virtual collaboration time
Set a soft constraint for virtual collaboration on work in the backlog. Distributed teams should constrain VC time around their hours of overlap, whereas teams in the same timezone can set a daily or weekly limit. Start small, e.g. 2 hours per day, and only adjust upwards if necessary. For example:
- The team will aim to only use VC between 8-10am (GMT-6) outside of regular events.
- The team will aim to only use VC between 8.30-9.30am and 3.30-4.30pm (GMT-6) outside of regular events.
Constrain your synchronous working time
If you want to go one step further (assuming operational requirements allow it), consider setting a soft constraint for synchronous working time. The true promise of remote work is the ability for your people to design work around their lives, ensuring that they’re doing work when they’re at their best. Asynchronous working is on the critical path for that objective.
Try starting with a constraint of less than four hours per day,day and encourage your team to take advantage of the flexibility that constraint creates. Start earlier: spend the afternoon in the garden; or, knock off early for a round of golf. Work later: have a stress-freestress free school run; do a yoga class; or, go to the gym in the morning.
- The entire team will be available for synchronous work between 9.30am and 2.00pm daily (BST) with half an hour’s break for lunch.
Preparing the work backlog for planning
Identify work items with dependencies on individuals or other teams
In remote / hybrid teams you can’t just tap a teammate on the shoulder when you need help, hence dependencies and key person constraints become more debilitating to flow. We identify the work that has known dependencies on individuals within our team, or on external teams, and explore ways that we can re-slice the work to isolate those dependencies.
Once we have sliced out the dependencies we look to bring them forward in sequencing, because wait times are one of the biggest sources of variance in delivery dates.
Note: To improve flow and reduce intra-team dependencies we also need to actively work to reduce the key person constraints in the team over time. Collaborative techniques like mobbing or pairing on problems are great ways for people to develop new skills and share knowledge, and a valuable use of our synchronous time. Or, you could consider a market of skills as described by Lyssa Adkins.
Identify the more complex work items
Use a technique like Kim Ballestrin’s Easy, Analysis, Can of Worms (based on the Cynefin Framework) to consider the complexity of the items in your work backlog. We want to make sure that we are devoting our precious synchronous time to the more challenging problems that we have to solve.
Simpler items can often be tackled independently, whereas complex items will likely require collaborative sessions to either: consider potential designs / solutions; or, to determine how we can buy information with experiments / probes. Again this is often where the mess lives, so we aim to bring forward these exploratory activities in sequencing.
Flag work requiring synchronous collaboration
Having isolated the exploratory activities and the dependencies in the backlog to the best of our abilities, we now can now flag the work in the backlog which requires the combined attention of multiple team members.
We also explore the ‘business as usual’ or regular tasks in the backlog, identifying any capacity that requires team members to collaborate. These tasks usually present the best opportunities for automation, which helps us to buy more capacity over time.
Planning your next work time-box
On a regular basis teams plan their next work time-box, which is a process of understanding the capacity of the system to deliver, and then sequencing work according to priority and logistics.
In the remote / hybrid context we add the soft constraints that we’ve designed into the work system into our sequencing logic. For example:
- If we’ve designed a soft VC constraint of 2 hours then we can only take roughly 10 hours of work that we’ve flagged as requiring virtual collaboration into our next time-box.
- If we’ve designed a soft constraint of four hours of synchronous work we look to plan around the synchronous time in the schedule, bringing forward the items that require synchronous collaboration so that we can tackle the asynchronous work independently
- If our hybrid team has agreed to be in the office every Wednesday, we can plan our synchronous work around this constraint.
Remember these are soft constraints - from time to time the backlog will require additional collaboration and the team can agree to lift the constraint if necessary.
Maximising the value of your synchronous time
One of the biggest wastes in your team’s time is poorly facilitated synchronous events. Rambling conversations that fail to produce an outcome, meetings without an agenda nor purpose, actions that aren’t captured or followed up.
Make it a habit to ensure that ALL events in your calendar are well facilitated, supported by appropriate tooling, and consider the things that can be done asynchronously before and after the session.
Add a question like: “We often finish meetings early because we’ve completed our set agenda”; or, “We don’t waste time in our meetings” into your team pulse checks to make this a focus in team reflection.
Demonstrating the value that you’ve created
Have a good think about how you can make aspects of value demonstration available asynchronously.
When the remote:af team is ready to release changes to our digital channels they are accompanied by a video describing the nature of the change and how it affects the user experience. These videos can be consumed at the viewer’s convenience reducing the need for us to have regular video conferences to walk through changes.
The use of intranet, audio and video capability enables leaders to consume demonstrations on demand and opens up VC time for richer and more focussed conversations about prioritisation and feedback. When recorded in a wiki for they also create an interactive change log that is super useful in the service management context.
The promise of remote and hybrid work is not a group of people hunched over screens chatting to virtual avatars of their teammates. As much as the big tech companies would like to argue differently, it’s not some sort of ‘metaverse’ where people wear VR goggles in their home offices and shake virtual hands with a bobble-headed electronic version of a person to execute a ‘smart’ contract with crypto-currency. Frankly I can’t think of anything worse.
Work is the means to an end, it should never be the end.
The promise of remote and hybrid work is far more simple. It’s using technology to build flexibility into people’s lives and allow them to live closer to the things that they love. Creating work agreements that allow that flexibility and slicing work for asynchronous delivery is critical to delivering on that promise.