Flow and Productivity in Software Teams

Flow and Productivity in Software Teams

" Flow with whatever may happen, and let your mind be free: Stay centered by accepting whatever you are doing. This is the ultimate." Zhuangzi

Hopefully you have all heard the term "flow". I am sure virtually everyone has experienced it. For those who don't know the term, I'll explain briefly:

Flow is a psychological state in which you are so focussed on what you are doing that you forget everything else. If you have any hobbies that you can spend hours on and forget the time, you've been in a state of flow. "In the zone", "on a roll", whatever your favorite phrase to describe it, they all refer to the same phenomenon.

If you are lucky enough to have a job which you do quite well and enjoy, you probably experience flow during the work. On really good days as a software designer, the code just writes itself...it is just a matter of typing. This is flow.

If you still think this has something to do with workflow at this point, please read the Wikipedia article.

Why should software professionals (or anyone) care about this? Guess what: I guarantee that when you are in a state of flow, the results of whatever activity you are doing are better than when you are not. Furthermore, your work will be completed quicker. You'll have a deeper understanding of all the factors involved in each important decision you made during your work.

This is not some great leap of faith or incredible claim. Think about it. I've essentially just said that when you're really focussed on your work, you do a better job.

I know from personal experience that this is true. The best software I ever wrote was done while I as in this state. The best UX decisions. The best designs. The best test plans. The best documentation. Now that I'm retired, I produce my best photos and do my best cooking in this state (and hopefully my best writing). It also makes any other activity I can think of more rewarding.

So if flow is such an important part of being productive and ensuring high quality, why is it not a priority in organizations to promote it? I don't know. I suspect it is such a subtle, subjective thing that modern business culture just can't understand. "If you can't measure it, it doesn't matter". A mental block if you will.

I'm not even going to try to convince you quantitatively. Truthfully, if you don't relate to my premise from personal experience, you would probably have stopped reading at the Taoist quote at the start of the article.

Therefore, I will assume you do believe that flow is a valuable part of the work experience, and can improve team productivity and product quality. And furthermore, that you would like to know how to take advantage of this phenomenon to improve your own productivity and that of your team.

With that assumption, here are some things you can do to enable your team to experience flow:

Ensure unstructured time

Everyone knows meetings can be a giant productivity sink. One of the many reasons is that the meeting time pinned in the middle of your calendar might interrupt a valuable flow state. Just make sure that you have large blocks of time when you can work on whatever aspect of your job requires focus right now.

Put a reserved block in your calendar if you need to. I have scheduled a 4 hour "do work" appointment for myself on more than one occasion.

Eliminate artificial urgency

If every new work item that comes in pops to the top of your priority list, you have a big organizational problem. One of the consequences of this problem is that your team will find it really difficult to achieve flow.

The Product Owner role is the Agile solution to this problem. They stop the noise. Executives must never reach past he PO to individual team members. A potential company-ending crisis would be an exception.

If you don't have a decent PO, get one. If you don't know what a PO is, read up. Hopefully you have someone in that role, and they are empowered, regardless of what you call them.

Keep the workflow out of my flow!

I once had an executive in charge of my team who tried to force us to track precisely how much time we spent on every single task in our day. Fortunately, the forces of darkness were defeated by my local management team in that case (thanks John and MJ). Otherwise, it would have forced down job satisfaction and productivity for the entire team. Spending more time in the tracking tool than on the work it is trying to track is not conducive to flow!

To ensure you get the information management needs without excessively impacting the team's productivity, make sure you use a modern issue tracking tool, and make the tool the authoritative source. One of my colleagues used to say "Jira is king". Whatever the tool, this mindset removes the need to spend a lot of time thinking about workflow.

As an added bonus to this approach, the metrics derived will not be "gamed". This is because they're gamed when people need to apply conscious effort to feed the metrics. Instead, the metrics are implicitly generated as a side-effect of the work that people would do anyway.

Provide or seek privacy

As social animals, we are very attentive to other people. This is a good thing. It makes us team players. However, it also means that if there is a person in sight or speaking in earshot, they will probably command a fair amount of your attention, distracting you from the task at hand.

If what you are trying to accomplish requires focus, then seek privacy. If you work in a job where there is no access to private space in which you can enter a flow state, get a new job!

While you are looking for your new job, get some headphones and use instrumental music of your choice to drown out the voices of those around you. Also try to position yourself so you're not visually distracted by other people.

As a team leader, ensure your team has access to privacy (after all, they'll all leave your team otherwise ;-). One former manager of mine insisted that every software person should have an office with a door. Of course, that will never happen in most workplaces.

My last office had a great setup more in keeping with current space planning. In addition to the typical crowded open office, there were many private rooms of various sizes, and a bank of carrels that were always dead quiet. I never found myself unable to find privacy when required. There were also "team rooms" where loud collaborative work could take place without bringing the noise into the common area.

Optimising your individual access to flow

There are also changes you can make in your personal life to improve your access to flow:

Look after yourself

Sometimes we push ourselves too hard. An exhausted mind cannot enter flow. You need regular sleep and healthy food.

Reduce stress

Stress is great for making you focus for a brief while (to run away from a predator), but it is better at driving a sprint than a marathon. This is true both mentally and physically. If you're in a constant state of stress, you will not be able to focus for long.

Try to have a good laugh with your teammates every day. Keeping things light reduces stress and helps to create the right environment for flow.

Meditate

Many of my colleagues know I am a long-time meditator. This practice has allowed me to access the flow state more readily, and to be aware of the state when it exists. The list of bullets on any meditation pamphlet will include:

  • be more present
  • improve your focus

For me and every other meditator I've ever discussed it with, these benefits are real. If you acquire these two skills (by meditation or any other means) you can reach flow. That is, as long as there isn't something preventing it.

Turn off notifications

Enough said. Well, maybe not quite enough. If something really urgent might come up (childbirth, for example), you can allow your text messages to make a noise.

I worked with a remarkably intelligent man who had his phone audibly notify him with a loud "bing" every time he received an email. I can't imagine why. Nobody's inbox has a high enough percentage of important content to make this worth while.

Social media notifications should probably be banned from all workplaces. By all means look through Twitter or Facebook when you want to waste some time, but surely it shouldn't interrupt you.

Get a life!

Exercise your mind and your body in ways unrelated to work. A well balanced person is more likely to have access to flow at work.

Enormous self discipline may allow you to continue to work even when you've been working way to much. However, I guarantee you will have a harder time reaching flow in your work if it is the only activity that you do.

By consciously choosing to improve your access to flow, you should find your work and your life more rewarding and productive. There are few things you can do that are so unequivocally beneficial.

Frank Meijer

Retired software engineer

6 年

This is really interesting stuff. Who knew you would have a second career writing ? :-) Just one question: what is a "a bank of carols that were always dead quiet" ?? Did autocorrect strike again?

回复

要查看或添加评论,请登录

Brent Marshall的更多文章

  • The cresting wave of computer science

    The cresting wave of computer science

    In 1936 Alan Turing created something magical: a mathematical abstraction we now call the "Turing Machine". It could…

    4 条评论
  • A plea for risk based project management

    A plea for risk based project management

    In 33 years as a professional computer scientist, I have been involved in a lot of failed projects. Fortunately, I have…

    4 条评论
  • Jira is King

    Jira is King

    A wise man once told me "Jira is King". That is not meant to be advocacy for Atlassian over other vendors with equally…

    2 条评论
  • When Agile was rogue

    When Agile was rogue

    I once worked on a project that was extremely successful, but highly unorthodox. It was an outlier in almost all…

    2 条评论
  • Beware Techno-hubris

    Beware Techno-hubris

    As a 33 year veteran of high technology, I am obviously a huge believer in the benefits that tech brings to individuals…

    2 条评论
  • Why pay bank fees?

    Why pay bank fees?

    Nobody should pay fees to access their own money. This is a matter of principle for me.

  • Why diversity in the workplace matters

    Why diversity in the workplace matters

    One of the great pleasures of working in high tech is the opportunity to meet people who are different from yourself…

  • Non-competitive creativity

    Non-competitive creativity

    When I was in my late teens, I was the fastest sprinter in my high school. I was effectively the fastest person in my…

社区洞察

其他会员也浏览了