Friday, October 29, 2010

Creative Thinking as a way to improve Software Development (and your business).

By Eduardo Chaccourt


For all of us working in software development industry, we are often seen as people with a very methodic, squared, always “inside the box” way of thinking. This is natural since most of us have had a very engineer-like formation in college. Subjects such as Binary math and circuit design, where everything has to be exact, this helped to achieve this way of thinking.

I’m not stating that this is necessarily wrong or “bad”, but not 100% precise. My thoughts are that software engineering is also a pretty creative profession. Imagine this scenario that was pretty recurring back in the day: You need to develop some software to control an onboard car computer, one of the restrictions was that you only had about 640 k (sometimes even less!) to create one of the most robust onboard car computer software to that day. So… what do you do? Do you follow the traditional way you develop where you might need a whole lot of memory? Of course not! That’s were creative thinking will be the key to correctly solve this requirement.

The companies that stand out from the rest are the ones that INNOVATED, that created something new, maybe something that users didn’t know they NEEDED until a company decided to bring it to them. UNIX, DOS, Windows, OS X, Netscape, Facebook, Twitter among others are products that users probably didn’t know they needed it until they started to use them.

If you want your company to stand out from the rest, let the developers innovate. Even if they are on a project with a well known set of problems that have a solution, developers can innovate by finding a new way to solve a problem!

Now, we don’t have to invent something from the ground up to be innovative. We can use existing tools in an innovative way. An analogy for this statement would be to build applications like if you were building something with “building blocks for kids”, you already have the blocks you need to build whatever you need, the only thing is to find out WHAT to build and if you don’t like it you can always toss it and build something new.

Unfortunately, some companies seem to want to deter innovation. When they see a developer thinking or staring at a blank code sheet, they tie them with terms like “low productivity”, but what if that developer, the one that you just told to get back to work immediately was actually assembling in his mind a new way to retrieve, set and update database records with half the time the traditional methods took? Maybe you, as a company, could’ve sold that particular library or method for thousands, maybe millions of dollars.

There are ways to promote innovation and creativity in organizations, here are a few tips:

· Let your developers “play”: If you keep Creative developers stuck for a long time with a very specific set of problems or tools, it won’t be long until they start showing signs of boredom or worse, apathy towards the project.

Sometimes people need new challenges to constantly to keep them on their toes. Also, let them experiment with new technology or programming languages, it’ll be a win-win situation, you will have workers with new and better skills and you will ease the creative developers need to play around and create.

· Learn to differentiate thinking from slacking: One of the problems of giving your developers freedom to think is that they might start to just do what’s necessary to get the job done or maybe do nothing while posing to be doing some intense thinking. One good way to see a difference between these two kinds of developers is that the creative developer will tend to get the job done at the time specified.

· Create Innovation games inside your company: Encourage your workers to innovate! One way to achieve this is to setup some kind of creativity contest for a new mash up page and its use, the main objective here is to let your creative developers explore new possibilities and help you expand your business as well. Of course you must remember that it must remain a win-win situation if you wish for everyone to participate.

My thoughts are that if you, as a head of the development area or an organization, want your developers to be more creative, you should encourage your workers to engage in creative activities (encourage, not force).

Follow my next blog post where I will analyze how artistic activities can help developers become more creative, and by this, more valuable assets to your company that they already are.

1 comment:

  1. Great post! I love the reference to Innovation Games®. Please note that Innovation Games® is a registered trademark of The Innovation Games® Company. When referencing the games, please remember to use "circle-R".

    Keep playing!



    --
    Regards,

    Luke Hohmann
    CEO, The Innovation Games® Company
    821 W. El Camino Real
    Mountain View, CA 94040
    m: +1-408-529-0319
    lhohmann@innovationgames.com
    www.innovationgames.com: The seriously fun way to do serious work -- seriously.
    Follow me on twitter at lukehohmann

    ReplyDelete