Async agile 1.0, is distributed agile 2.0!
This blog expands on the ideas from “The Async-First Playbook”. You can either browse through the posts using the grid below, or start at the very beginning. Alternatively, use the search bar below to find content across the site.
Heading into detour territory
No biggie here. We’ve spent some time diving into the details of asynchronous work in the context of agile practices. Now it’s time to explore the kind of management and leadership that supports and asynchronous-first culture. I expect the next few posts may not be in perfect sequence, so think of this post as an explanation for the unpredictability.
Agile inceptions - blending the async with sync
Agile inceptions are a workshop oriented process to help you get your project on the road. Remember Mr Miyagi? It’s all about ‘balance’ in communication. Given the time-boxed nature of inceptions, mixing synchronous and asynchronous communication is an effective approach. In today’s post, I want to tell you how this balance can be a mighty good thing for your project.
3 asynchronous techniques to help you communicate about design
As team size increases, communication becomes more complex. Small teams will eventually bring in new people. Such is life. Team size aside, you’ll find that complex decisions lend themselves better to the written word. Moreover, there are limits to what people can remember, so it makes sense to commit things to writing. If we’re designing continuously, we’re also communicating about it all the time. In today’s post, I want to share three asynchronous techniques to communicate about design.
Rethink those sprint ceremonies
In a world of work that’s changed rapidly in the two years of the pandemic, I feel we need to ask the “Why” more than ever before. This is a new normal and as we switch between work patterns, such as forced-remote, remote-first, all-remote and hybrid, some practices will have to die. Others may have to change.
In this post, I want to explore two sprint ceremonies with a “Why” lens. I’ll also share a few ways you can buy back time for your team by taking lightweight, more async-friendly approaches to manage iterative development.
You need a wee bit more documentation
Earlier in this series, I mentioned your team will need a handbook. We’ve also discussed the audit trails you should create while in the flow of your work. If you look hard, you’ll notice that the goal still isn’t to create “comprehensive documentation”. The idea is to create enough “sensible documentation” that helps make communication effective. In this post, I want to zoom into a very specific section. This relates to developer documentation.
What's a face-to-face good for, after all?
If working remotely is more productive, what’s face-to-face (F2F) good for anymore? In today’s post, I want to explore that question in some depth. I have strong opinions; so don’t get all bent out of shape when you read this.
A few questions to reimagine your tech huddles
Sometimes we give a free pass to any activity that seems collaborative. Before you know it, you’ve built half a dozen gate checks to deliver a single user story. Each of those “collaborative” gate-checks doesn’t just create interruptions and context switches. It also leaves an attention residue - your mind continues to think about the interruption even when you’ve switched to the task on hand. In this article we examine the ad-hoc “huddle” through a series of questions, so we can find out how much we really need them.
Hansel and Gretel - 5 audit trails from the flow of our work
Like the pebble trail in the story of Hansel and Gretel, our projects need audit trails for us to keep track of changes, communicate on a daily basis, and to onboard and align people. We discuss the five most important trails in this article. In the context of distributed teams these represent communication and documentation in the flow of work.
Pair programming - the elephant in the room
To me, async agile is non-binary. The value of being more async is also in making the truly valuable synchronous activities more productive and fun. Pair programming is amongst the most frequent synchronous activities that agile teams, especially those that follow extreme programming (XP), practice. How do we weave this into a remote-native way of work?
8 ways to tame the "instant" in messaging
Chat is an essential part of your toolset. The trouble is in the “instant” of “instant messaging”. To be “instant”, you need to monitor chat all day. Not only does that build interruptions into your way of working, it can be mentally exhausting to keep up with all the channels your team and company have created. So in today’s post I want to share a few ways you and your team can use this set of communication tools effectively and support a more productive, async-first way of working.
Shift left for more meaningful retrospectives
When you’re in a remote setup, think of your retro not as a meeting, but as a process. That process has two parts - asynchronous and synchronous. How much you do asynchronously is totally up to you and how adept you feel with working this way. This post will tell you how to run effective retros distributed team, with a solid sprinkling of asynchronous methods.
Story kick-offs and desk checks - 6 ideas to shift left
In today’s post, we’ll dive into the agile sprint - a time-box of approximately two weeks, when development teams work on a set of user stories they’ve prioritised to deliver. We’ll examine two synchronous collaboration practices - story kick-offs and dev-box tests or desk checks and how we can adapt them to a remote-native; async-first way of working.
5 plays to cast your votes for an async culture
Aside from introducing async practices and plays on your team, you need to vote with your behaviour for an asynchronous work culture. Otherwise it’ll all feel like lip service. So in today’s post I have five ideas for you to implement as an individual, so you can broadcast how committed you are to an asynchronous way of working. Each of these is easy as they get. You can get started today itself!
3 team plays to shift left at speed
After reading a lot of long form advice about asynchronous agile, some of you may look for a ‘gimme’. The Cambridge dictionary defines a ‘gimme’ as “something that is extremely easy to do”. So this post is about three things that are relatively easy to do on a software development team that’s trying to be more asynchronous. Consider these as little plays that you can try independently. Sounds good? Let’s get started.
Standup meetings - the first shift left
Distributed standups are painful, period. With modern tools there are better ways of getting the value you’d expect from such a meeting. As an individual, you’ll get back a few minutes of your life every day. The bigger benefit? You can share updates continuously, and at your own pace. From a team perspective, you’ll be able to create an audit trail of communication and, of course, plough back the time savings into deep work.
Write a handbook, avoid the scenic route
As a team scales, the need for documentation increases in parallel with the cost of not doing it. Daunting as it may seem, a handbook-first approach has many advantages, and will give your team a way to self-govern and self-organise. In this post, I’ll walk you through some ideas about what to include in such a resource and how you can create and maintain it.
Meetings as the last resort, not the first option
It’s clear that we need fewer meetings. This is step one to being asynchronous, and I’d argue that it’s the most important step to take if you want to be a productive, remote-first organisation. In this post, I’ll outline the ConveRel quadrants for you to figure out which meetings you need and which ones you can get rid of.
Calm things down with communication protocols
Before you start tweaking individual practices on your team from a remote and async-first perspective, you need to zoom out and examine your work and communication protocols. So, in this post I want to share with you a few fundamentals you need in place, so you avoid the hyperactive hive mind.
The principles for asynchronous collaboration
It’s time to lay out the framework for change. It all starts with values and guidelines. In addition, the team needs to reflect on the work they’re doing. Motivation is no trivial matter. So in this post, we’ll also discuss a few important parameters that your team can use to judge how motivated they are with the work they’re doing and the way they organise. Consider this as a set of sensible defaults to begin your journey of change.
The tools you need
Let’s look at the categories of collaborative tools most software development teams will need. Many of these will seem familiar to you already, and that’s a good thing. You just need to use the tools effectively. I’ve broken down the list into three categories - must haves, good to haves and optional extras.