“Spontaneity has its time and place”Posted: January 29, 2011
Have you ever been asked to attend a meeting in which there will be an hour (exactly) of brainstorming or creative thinking? … perhaps just after lunch while your brain is faded? … perhaps on a day where you’ve some major item to deliver? … perhaps in a meeting room as comfortable as a crowded bus on a hot day?
As a project manager once put it to a software team, “We will be having a meeting tomorrow at 2pm where we’ll write down all the ideas we need for this project”. The message was also clear that after that meeting the scope and schedule would be fixed and creativity and innovation would be unwelcome.
Shoehorning a creative process into a tight box is not ideal.
Someone in Hollywood said it this way:
“Spontaneity has its time and place.” The Sure Thing
(Google tells me that Frank Burns said the same thing in MASH some time earlier.)
Most software initiatives involve some level of innovation: that is the production of something that is both new and of value (with “new” and “value” being subjective).
That innovation may be anything from a novel idea of what to build, or in the design or architecture, the coding or the user interface, in the development methodology or many other areas. In my experience the highly creative processes in programming are more likely to occur away from a computer, away from structured processes, away from the desk or office, and for some away from other people.
The software community is a hot-bed of innovation with millions of ideas competing for mindspace, for investment dollars, for customers and for respect. This plays out at many levels — with individuals, in small teams, within companies, in open source communities, in the marketplace and so on.
However, I often hear developers and teams complaining that their work lacks creativity or innovation perhaps because management, the constrained needs of each project or the dynamics of the team (or many other factors).
Thomas Edison described genius as “1% innovation and 99% perspiration”. Perhaps software is similar meaning that coming up with a good idea is much quicker than implementing the idea. But even if this true, I find it effective if the software environment FEELS creative and creating a good environment for yourself or your team is important.
If you accept this premise that an environment that feels creative will result in better software then it is worth exploring what makes the right environment: place, people, processes, culture and more.
The shower is often said to be a great place for creative thinking (though it’s not a great place for team meetings). Walking is good for some, riding a train works for other or having a chat over coffee with a good colleague.
I think the common thread is that the mind drifts away from the day-to-day concerns and thought is more free-flowing. Whatever, the cause, location and context can improve or hinder your ability to think openly, to think differently and to to create new ideas and new ways of thinking of problems.
I have found some offices more conducive for creative thinking than others; likewise some coffee stations seem more conductive, and some meeting rooms better and so on. As I write I can’t envision what works for me — the illusive “it” — so that’s something I will look out for more closely. What works for you? What doesn’t? Very likely different people and teams have different preferences.
One important location deserves particular attention: sitting in front of a desktop computer. Am I alone in finding sitting in front of a computer a less-creative zone? This is important because I often spend a majority of a day in front of a computer. I find the distractions of the desktop draw me away from free-flowing thought (e.g. email, IM, iTunes, web, the mechanics of typing and spelling). When I’m disciplined I create, think and plan away from the desktop and then sit down to implement the ideas. If this applies to many others then why can it be so hard to separate people from their computers even when it helps them think clearly, think different and get around roadblocks. What do you think?
It is useful to think about the creative process in at least two stages. Recognizing the phases are different and keeping them distinct can help.
Divergent thinking is the process of creating many new ideas. This process begins with a problem, a requirement, a market need or some other starting point. Through brainstorming, free-association or other free-flowing thinking you seek to create many ideas for tackling the problem.
During this process it is a good idea to switch off the analytical impulse that runs strong in many programmers (though without completely loosing touch with reality!). It often happens that from analysis comes criticism, from criticism comes fear of criticism, and many will silence themselves.
Brainstorming seems to be widely used in software either formally or informally. There are numerous web sites describing ways to encourage effective brainstorming. Here a just a few.
- The Writing Center, University of North Carolina at Chapel Hill: http://www.unc.edu/depts/wcweb/handouts/brainstorming.html
- MindTools: http://www.mindtools.com/brainstm.html
- Monash University: http://www.monash.edu.au/lls/llonline/quickrefs/25-brainstorming.xml
The wikipedia page has an excellent summary of many techniques and variants with critiques. (Alas, as I write their editorial comments request that the useful how-to information be removed.)
It is important to establish guidelines for brainstorming and other group activities. Who participates? Is it appropriate to critique ideas? Are wild ideas encouraged or a distraction? Any guidelines on how much people should contribute? (is there too much or too little?)
I am struck by the finding of research in this area. Different techniques have a profound impact on the effectiveness of brainstorming. Brainstorming does not necessarily improve the creative productivity of a team but yet can have positive effects like “boosting morale, enhancing work enjoyment, and improving team work”. Anonymous “electronic brainstorming” (though IM or other online meeting room) can be particularly effective. [With the widespread use of brainstorming in software this topic seems worthy of its own write-up.]
Between divergence and convergence we find synthesis – the joining of two or more ideas for an even better one. As the cliche goes, 1+1 is greater than 2. For me, seeing a team seek synthesis is a good indication of positive team work and respect for each others ideas.
Having created a set of ideas for tackling a problem the next phase is the more analytic phase of convergent thinking.
Ideas should each be evaluated on criteria of effectiveness such as:
- Does an idea really address the problem?
- Is an idea practical? Can we implement it given constraints of time, people, skills, computational performance etc?
- How risky is the idea?
- And so on
There are three questions that are often pondered during convergence.
1. Which idea is the best? Encouraging team play is important but this can be complicated by people seeking to promote their own idea or that of an “ally”; by competitiveness (roughly “my idea is better than yours so I am smarter than you”); or by many personal issues (e.g. “this looks like hard work”).
2. When should a decision be made? Now? tomorrow? Only when we have the optimal solution? The convergence process might take minutes or it may days or months following in-depth analysis. There may be objective criteria for when to decide, for example, when required by an externally imposed deadline.
Where there is flexibility I have seen problems where the team dynamics lead to a rushed decision or to a slow decision. Both can be problematic. Sometimes no decision is possible because of internal disagreement. [The way in which people and teams make decisions is widely studied in psychology and I plan to return to this topic too.]
3. How far should we go? At what point is the process getting too far into design, project planning or other implementation activities.
Leadership of a team can help to (a) anticipate challenges in the convergence phase and (b) condition the process for a satisfactory outcome. But it is the understanding and willingness to work together that is most important to an effective process.
Finally, to close on a personal note, I am a “starter” (I am more naturally inclined to start things than finish them) and I find the creative processes that characterize the start of software projects exciting. Some great ideas have come from free-wheeling collaborations and it’s been professionally and personally very rewarding. Writing about it is hard but interesting too.
Andrew H – Psygrammer
PS: Some questions I scribbled while writing this – ideas for future writing. What are your thoughts?
- Is software development a creative process in the same way as, say, music or art?
- How can innovation and creativity be fostered and, conversely, what stifles innovation?
- Is collaborative innovation different from creating as an individual?