Right-Brain Thinking In Software Development
I absolutely love software development. And what I love the most in software development is it’s creative aspect. I believe there is not one developer in the world who hasn’t yet experienced, at least once, an “eureka” moment. You know, those insights that you get after hours or days spent thinking about a problem or trying different approaches. Suddenly, the solution just pops into your head. You run to the keyboard and hammer at it frantically. You build your solution, deploy it, execute and… It all works! Just like that. Just like magic. As if it never had been any other way. If anyone has any doubts about whether software development is a creative process, just think about this for while. This process, that happens every so often, is also evidence of how our mind works.
The anatomy of our minds
The human brain is divided into two hemispheres. The left hemisphere is responsible for analytical and logical thinking while the right hemisphere is responsible for emotional and creative reasoning. Neuroanatomist Dr. Jill Bolte Taylor, defines the right hemisphere as a “parallel processor”, receiving input from all our sensory interfaces and caring about nothing else other than the present moment, and the left hemisphere as a “serial processor” thinking linearly, analyzing and categorizing all the sensory data received by the right hemisphere. In a sense software developers have a tendency to be “left-brain thinkers”, people who are analytical, factual, logical and rational by nature, while designers, musicians and other artists tend to favor the use of the right hemisphere which enables them to tap into their creative and emotional ego.
Why creativity matters…
Software developers are faced daily with project constraints and restrictions. Deadlines and ship dates are often set, dependant components are not ready on time for integration, new features creep into the spec and so many other issues arise during the process of developing software. Just imagine having to develop a piece of software that you know will take 40 hours and you have to have it developed, unit tested, integration tested and documented in 20 hours and no one else can be assigned to help you. Sounds familiar?
Whenever we are faced with some form of constraint or hardship, our rational, logic thinking is tested against these constraints and it sometimes doesn’t hold up. Suddenly the task at hand seems impossible. In particularly challenging situations our left-brain tends to shutdown or simply go blank. In these situations the right-brain kicks in – we get frustrated, angry and stressed. The right-brain is responsible for emotional responses but it is also responsible for creative thought and playful problem-solving. Constraints and hardship trigger creative thinking and, more often than not, it’s precisely in these situations that we find so-called “creative solutions” to seemingly impossible problems – our “eureka” moments.
The creative process
In 1926, Graham Wallas, a social psychologist and educationalist, presented one of the first attempts to model the creative process in what came to be known as the Wallas stage model. This model explains the creative process in five stages (sometimes four stages where Intimation is a sub-stage):
- Preparation – Focusing on the problem and exploring the problem’s dimensions;
- Incubation – The problem is internalized into the unconscious with no external evidence of activity. You’re not even aware of thinking about the problem;
- Intimation – You somehow feel you’re on the verge of something, but it still seems elusive;
- Illumination/Insight – The idea burst into awareness. This is the “eureka” moment. This is when you run to the computer;
- Verification – The idea is applied and verified. This is the moment you test your idea and see it working.
Other models may exist. Some different, some adapted, but according to my own experience this one comes pretty close to the different stages I go through.
Tools of the trade
Everyone is creative, but as adults we usually shy away from admitting it (people in a science or a business profession more than most). Sir Kenneth Robinson says that “if you walk into a room full of five year olds and ask “Who can draw?”, all hands go up. If you ask the same question in high-school almost no hands go up”. Sir Kenneth Robinson, suggests that we unlearn to think creatively. I have to agree. However, don’t believe anyone who says “I don’t have a creative bone in me.” it’s absolutely not true – after all no one can survive on only half a brain. The good news is that we can relearn to think creatively. There are several tools and techniques that are designed to stimulate creative thought and help solve problems creatively. The list below gives an idea of such techniques but is by no means complete:
What about software development?
There are many stages in the software development lifecycle where these techniques and tools can be used. However, providing a recipe is a left-brain activity and I’d suggest you try to come up with creative ways in which to use these tools. Here are a few ideas of when these tools and techniques can be used:
- Use mind-mapping to capture requirements and while talking with customers and users;
- Use brainstorming sessions together with mind-mapping to capture design ideas;
- Whenever you get stuck, just take a step back, relax, go do something else. You’re already aware of the problem. This is the incubation period, so just wait it out – part of your brain is still actively working on the problem (hmm… Can we still bill these hours to the customer?);
- If you get into what seems to be an impossible situation with no solution in sight, try to think outside the box using lateral thinking. This can be done effectively in brainstorming sessions as well.
- In the end, always verify that the ideas you came up with are feasible (back to the left brain!)
In the end we’re all trying to make great software, and what makes software great is it’s applicability to people’s lives. Creativity generates new ideas. The application of new and creative ideas is called Innovation…