Agile . since Jun 23 . Index . DOCs TOP TOC

Flow and Pair Flow


The Flow mind state [1], [2] is one of intense focus. The entire problem and solution spaces are loaded into the developer’s head. Programmers work orders of magnitude better when in Flow.

Pair Flow is similar to Flow. The solution and problem spaces are shared between the minds of the participants. Again Pair Flow works significantly better than pair programming without flow.

Unfortunately, it takes a long time to get into either Flow state. Both can be easily interrupted. Changing tasks or swapping pairs forces a restart. Pair Flow is more resilient to interruptions such as the phone, but it still gets interrupted frequently throughout a typical day.

It often takes days for a given pair to be comfortable enough with each other to be able to achieve Pair Flow at all. This means that pairings tend to be long. The longer the mean time between pair swaps, the less effectively pair net distributes information through the team.

Agile . since Jun 23 . Index . DOCs TOP TOC

Beginner’s Mind


§      In the beginner's mind there are many possibilities, but in the expert's there are few.” [3]

        It is the open mind, the attitude that includes both doubt and possibility, the ability to see things always as fresh and new. It is needed in all aspects of life. Beginner's mind is the practice of Zen mind.

Perhaps first described by Zen Buddhists in its relation to No Mind, Beginner’s Mind is a state of few limits.

Beginner’s Mind is distinct from, but interrelated with, No Mind. Beginner’s Mind happens when the thinker is unsure of his boundaries. The thinker opens himself up and thoroughly tests his environment. No Mind is a meditative state in which the practitioner leaves behind all the dreck in his life, allowing himself to just be.

Modern psychology distinguishes between the two because Beginner’s Mind can also be experienced outside of No Mind meditation. In fact, most people automatically assume it when they are placed in a situation outside but near the limits of their comfort zone. If a person is otherwise comfortable with his environment but doesn’t understand one thing, then he will usually try stuff until he figures that one part out. This state of trying to reconcile one’s past experiences with an environment that doesn’t quite fit is Beginner’s Mind.

Beginner’s Mind is the key behind the phenomenon of Beginner’s Luck: a person doing something for the first time often does it much better than he does after he’s practiced for a while. Because he tries more approaches, and tries them rapidly, a person in Beginner’s Mind is more likely to succeed at a task than one who thinks he understands how it works.

My team at Silver Platter discovered that Beginner’s Mind is a very efficient way to solve programming problems. However, Beginner’s Mind is generally a transitory state. As soon as a person has figured out the bounds of his current situation, he tends to drop to a lower-energy cognitive state.

Whereas Flow depends on stability, Beginner’s Mind depends on instability. We found that Beginner’s Mind can be maintained as a stable state by simply changing things around frequently enough — by surfing the edge of chaos.

Agile . Index . DOCs . TOC