"Flow is the mental state of operation in which the person is fully immersed in what he or she is doing by a feeling of energized focus, and success in the process of the activity." --Wikipedia

My friend I realized that he was asking not "how do we stop having flow," but "how do we continue to communicate and collaborate with people outside our flow while we're in flow?" Or maybe "how do we make it easy for them to join in too?"

"I think this concept of ‘flow’ feels like a good way to promote antisocialism in development teams, deemphasizing communication between developers to promote a team of cowboys working on code that requires a lot of headspace to work on. It feels to me like it would be a lot better to keep communication frequent (keep the bus factor high, that kind of thing) and if it makes simple code a necessity in order to get stuff done, all the better." --dwins

Flow implies a trusted space you can control yourself within enough to run freely. Any explanations you run through are part of the doing, not floating above it as an annotation. When a team reaches this state together, it's wonderful; you breathe and move together as a single organism without the need to explain things to each other.

However, every inclusion contains an implicit exclusion. By saying (implicitly or explicitly) that these people are in that state with you, you're saying that others are not. By focusing on the task and the reactions of others to it, you ignore the non-reactions of others. Who isn't participating, who isn't speaking up, and why? It's a seed that, when aggressively sprouted, turns into things like "those who can't, teach" and its converse, "those who can don't take the time for teaching." (It goes without saying that I heartily disagree with those statements.)

So. Why am I writing about this?

For me, the sheer complexity and depth of the various systems of OLPC and its impact on the world is a large part of what compels me to work on it. I feel like I'm tapped into the Way Things Work enough that I can (often with much frustration and effort, but I can) make things go. To some extent, I can flow within it and with it. Complexity dissolves into things that just happen. It feels good. I daresay the same thing happens in many of the communities I enjoy being a part of; I belong to them because I can move within them with fluency.

This same complexity makes it extraordinarily hard to get started. It took me... maybe a year of intermittently becoming hopefully fascinated, timidly trying to pitch in, getting confused and scared away, and backing off and working on other things, before I finally "stuck." The people "in" on the project seemed to be in an inner circle of flow, and having had newcomers barge into my projects and jumble my thought processes before, I was loath to interrupt them, even to ask how I could join them.

People like Michael Stone, SJ Klein, Seth Woodworth, Greg DeKoenigsberg, Adam Holt, and many more have been doing remarkable things to change this by taking the time to go meta, describe to newbies what it's like to be in the project (to learn how to be part of it, not just to learn 'about' it), and then explicitly inviting them to join in with a first step they're capable of doing. Here's the message: "You're not interrupting us. This is our time set aside to focus on helping you join us. Please do us a favor by taking advantage of the opportunity." I would like to see more of this; I will try to do more of it myself, and take advantage of it when it's offered.

You have to offer, though, and invite - because sometimes people don't ask. This group often include the thoughtful and courteous ones that you want in your project because they'll become the most responsive and proactive team members in terms of creating things that serve actual needs. They listen, but we have to ask them to - in fact, they're listening and waiting for us to ask them.

How can we make sure we set time aside to allow others to enter the flow of things with us?