Optimizing Flow for IT teams

Flow = Joy

Posted by

A few years ago, I embarked on a mission. At the company I was working for, my plan was to build high performing product teams. In the middle of that journey, just as we started to make progress, life threw us a curveball – COVID. Much to our surprise, in our pursuit of remote flow during the crisis, we stumbled upon something even more important and lasting=JOY.

It was Thursday. The other coaches and I were planning to start an immersive learning dojo with my CI/CD platform team on the following Monday. In addition to the platform team, the product owner (me), and the developers who were the customers of the platform were also participating in the dojo. Then it happened. We were sent home indefinitely due to COVID.

After delaying the dojo by a week, the coaches and I huddled up first thing on Monday morning via Zoom to discuss our plan . It felt so awkward at first to talk to each other on Zoom. For the past several months, we had been working face to face with a huddled mass of teams and sticky notes in a tiny war room . Face to face was our secret formula in the dojo, or so we thought. The question on our minds that first week of being remote was “how do we recreate the dojo remotely without sacrificing the experience for the teams?”

Experimenting our way to Flow

Our early experiments that first week were around tools. Given that we were now remote, how would we recreate the concept of sticky notes and white boards? After several creative experiments, we wound up ultimately settling on Mural, a cloud tool to keep us organized.  We also experimented with selecting tools for remote code sharing and breakout rooms. All in an attempt to capture something which was lost when the pandemic hit. 

On the development side, given we were doing single piece flow in the dojo, we needed a way to encourage collaborative coding without people getting bored and checking out in the remote environment. With a stroke of genius, my friend Joel recommended bringing in Woody Zuill and trying remote mob programming.  Mob programming is a software development approach where the whole team works on the code together at the same time. I know, it sounds crazy, but we were desperate. 

Leading with kindness 

The next 6 weeks we continued with Woody in our dojo, armed with our new tools and approaches. At first, the team struggled with this new way of working. Things were slow. We had tool issues, remote burn out, unexpected layoffs, and many other challenges to overcome. I still remember the one retro where we had to say goodbye to half the team. To their credit, this team continued to rise to each challenge they faced. We always made sure that we took breaks frequently and looked out for each other during this difficult time. Woody called this sustainable pace – and to my amazement it made a big difference with this first team.  There is something about overcoming adversity with a group of people that makes for a very strong bond and sense of mutual achievement.

Finding FLOW

At first, mob programming was slow and inconvenient. For some of the team members who had been used to working alone on tasks, mobbing was uncomfortable. Solving problems on their own had become a part of their identity. As we pushed through the initial discomfort, I noticed some amazing things started to happen. A few of the senior people in the dojo who hadn’t coded in many years started to code again (including me). Many of these folks were managers who used to be technical. It took some patience and a safe environment to get them to step back into the arena. Once they did, it was like riding a bike again.  

We started to get more contributions from junior team members who previously had been on the sidelines. I even noticed the senior developers enjoying their role in mentoring others. Over a few weeks time, we were able to establish a rhythm together that none of us had experienced before. We actually rewrote a self-service platform together in 6 weeks that had previously taken a year to write. It had a lot less code than the original platform had. More minds on the problem led to a much more elegant, tighter solution. We also introduced innovations, such as infrastructure as code, to enable the self-service nature of the platform for the developers.

Flow = JOY

After working this way for a few weeks, we suddenly all found ourselves in this state, where we couldn’t wait to do work together again. We didn’t want to go home at night. We couldn’t wait to come in the next day. It reminded me of the feelings I used to have when I was in a band. Despite the pandemic, and all the unknowns in our lives, the dojo had become our safe place, where we felt we could make progress together. It was a sense of accomplishment in a sea of discouragement. Since that time I have come to realize that the feeling we found together was joy while at work. Some people think of flow as something you observe and measure. After this experience I realized flow is also something tangible that you can feel: it’s a state of being. You can’t find this flow while sitting on the sidelines. You need to jump in, get your hands dirty, and let it carry you away.

Leave a Reply

Your email address will not be published. Required fields are marked *