Dave Kirby - The Developers' Coach
The Developers' Coach
 
 Home Design Your Life Personal Coaching Team Coaching free eZine About Articles Links


 

Log in to Design Your Life
If you are registered for the free Design Your Life Online Process, then login here:
Email Address: Password:
Free eZine!
Enter your email below to subscribe to The Agile Developers' Life free monthly eZine.
 

Hosted By Topica

 

 

The Agile Developer's Life: issue 2 July 30th 2003
From Dave Kirby - The Developers' Coach

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Introduction: What's in a name?

Welcome to the second edition of The Agile Developer's Life - formerly called The Agile Life. I have decided to change the name to emphasise the fact that its focus is on issues that affect all aspects of software developers' lives and is not just concerned with agile development methods. I believe that many software developers are not too concerned about what many perceive as the latest 'fad' methodologies, but do want concrete ways of making their lives easier and less stressful.

So what is an 'Agile Developer'? Some years ago I worked with a C++ programmer who took pride in the fact that he had learnt just enough C++ to do his job, and studiously avoided learning any new language features or techniques that would take him outside his comfort zone. The idea of learning a new language such as Java was abhorrent to him. He is probably still in the same job, writing exactly the same programs in exactly the same way as he was back then. An agile developer, on the other hand, prides himself or herself on being flexible, and is constantly looking for new ways of working, or learning new languages, skills and techniques to add to their toolbox. Being flexible means not being hung up on the one 'right' way of doing something, but being willing to explore alternatives with an open mind and with a view to continually improving what you do and the way that you do it.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Article: Creativity in Software Development

Many years ago, I worked as a programmer for a multimedia company that produced CD Rom software for the education and home markets. There were a mixture of programmers and artists who worked together to produce the products. The company was owned by a former graphic artist and on several occasions I heard him showing people round the offices. He would point to where the programmers sat, and say "over here is where the programmers work", then he would point to the artists' area and say "and over here sit the creative people". I would sit there gritting my teeth and fuming. The idea that software development could be a creative process would never occur to him, and I am sure this attitude contributed to the low morale and high turnover that the company suffered from.

I believe that software development is an intensely creative activity, on a par with writing a novel or painting. You are taking something that exists only as an idea in your head, and turning it into reality.

Over the last few decades a lot of research has been done on the psychology of creativity, and much has been written on the subject. It used to be believed that creativity was a purely innate talent, but now it is known that creativity is a skill, and like any other skill it can be learnt and improved through practice. There are now a huge number of techniques for becoming more creative, and countless books on the subject.

There are a lot of creativity techniques that have been developed over the years, but they all essentially fall into two groups - conscious techniques and unconscious techniques.

Conscious techniques work by focusing the conscious mind on specific questions or areas of the problem to be solved. An example of this is the SCAMPER technique, based on work done by Alex Osbourn in the 1950s. It is often used for generating ideas for new products, but can be used for any problem that needs a creative solution. SCAMPER is an acronym for a set of transformations to apply to the aspects of a problem to find potential new solutions:

S - Substitute. Can you replace one part of the problem with something different?
C - Combine. Can you combine it with something else?
A - Adapt. Can you adapt a solution to a similar problem to this situation?
M - Modify & Magnify. What happens if you alter one aspect of the problem? What if you exagerate its size?
P - Put to other uses. Can you find another use for this product? Can you apply the solutions you have to new problems?
E - Eliminate. Can you remove or minimise aspects of the problem?
R - Rearrange. Can you re-order the components in some way to come up with something new?


Unconscious creativity techniques are those that use the power of the unconscious mind to find new solutions to problems. The simplest technique is incubation, where after thinking about the problem consciously for some time, it is put to one side and left for a while. Often a solution will pop into your mind unbidden, as your mind continues to work on the problem below your level of awareness. There are other techniques for utilising the power of the unconscious mind to come up with creative solutions to problems. For example the image streaming techniques of Wim Wender - see http://www.winwenger.com/imstream.htm for more information.


Here are some simple guidelines to help you become more creative in your life:

1. Decide to be more creative. Creativity is essentially an attitude, a decision to go beyond the obvious and find alternative viewpoints, solutions, and ideas.

2. Think about your thinking. When tackling a problem take the time to observe your own thought-processes and ask yourself: how can I think about this differently? Is this the best approach? What am I focusing my attention on? What else could I focus on?

3. Don't stop at the first answer - or even the first question. The essence of creativity is to go beyond the obvious, and one of the easiest ways of doing this is to never be satisfied with what you already have but always look beyond for alternatives. Set yourself a quota for the minimum number of solutions you must find. If you force yourself to not stop until you have five, ten, or even twenty alternative solutions then even though 90 per cent of them may not be viable, you're still likely to have a better solution than if you had just stopped at the first one.

4. Play with ideas. Play is a crucial part of creativity - taking an existing idea and tweaking it, modifying it or combining it with other ideas is a great way to improve on what you have. This is the principal behind the SCAMPER technique.

5. Incubate. If you do not come up with an immediate solution, then put the problem to one side and go and do something completely unconnected with it. The solution will often come to you when you least expect it, often in the middle of the night or on waking in the morning.

6. Do something. The best ideas in the world are useless if they are never acted upon. Even if the ideas you have are not ones that you feel are particularly good, implementing them in even a small way, such as a prototype, will give you valuable information and may lead you on to more successful ideas.

7. Get a coach. A good life coach does not give you all the answers. Instead, the coach will help you find your own answers by revealing your thought processes to you and stretching you to go beyond the obvious to find new, creative solutions. See the end of this ezine for an exclusive special offer from The Developers' Coach.

8. Read up on creativity, thinking skills and problem solving techniques. There are thousands of books out there on the subject, so finding the best ones can be a daunting task. Here are some of my favourites:

* Thinkertoys by Michael Michalko
This is a wide ranging compendium of creativity techniques. It covers both conscious and unconscious techniques, including SCAMPER, and has exercise for group creativity as well as techniques to use alone.
Buy it from Amazon US
Buy it from Amazon UK

* Are Your Lights On? by Don Gause & Gerald Weinberg
This book focuses on the importance of defining the problem in the first place - often by changing the definition of a problem, it can virtually solve itself.
Buy it from Amazon US
Buy it from Amazon UK

* Programming Pearls by Jon Bentley
This is a book about programming, but much of the focus is on finding creative solutions to programming problems. A must-read classic for programmers.
Buy it from Amazon US
Buy it from Amazon UK

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Summer Offer:

I am offering a 25% discount on one-to-one coaching for subscribers to this ezine up until the end of August. As your coach I can help you design the life that you want to live and work with you as you take action to achieve it. As an NLP life coach I have the tools and techniques to enable you to make significant changes in your life. As a developer with twenty years experience in the IT industry I speak your language and know first hand the issues and pressures that you may have in your life.
For more information on the coaching services that I offer, see http://www.thedeveloperscoach.com/personal.htm.

To book a free introductory session email me at summer@thedeveloperscoach.com, and mention this ezine to claim your discount.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This ezine grows by referrals. If you know others that may wish to subscribe, please forward this on to them. If you have had this forwarded to you, you can subscribe at http://www.thedeveloperscoach.com/AgileLife.htm.

Share and Enjoy,
Dave Kirby - The Developers' Coach

  Home Design Your Life Personal Coaching Team Coaching free eZine About Articles Links

© Copyright 2003. All rights reserved.