Vol. 5 Num 620 Sat. February 25, 2006  

On creating creativity

When we think of excellence in software development, creativity may not be the first thing that comes to mind. In fact, creativity is a key ingredient in successful software development. Accomplished IT leaders know how to create environments which bring out the creative best in their team and leads to peak productivity.

There are three main reasons why creativity is important. First, it takes creativity to design graceful and elegant software that attracts users.

Second, creativity can lead to more unique value in the software, resulting in competitive advantage, thus profits. Third, creatively designed software is often used in ways that were not originally anticipated, broadening the market reach.

Take, for example, Adobe Photoshop. One reason for its huge popularity is that it was designed by extremely creative people, and it shows.

The program is effortless to use and almost uncanny in its ability to anticipate the needs of the user. So, users love this program.

Adobe knows this and is not shy about charging a premium.

Today, Photoshop is used today in ways that its original authors Tom and John Knoll never anticipated.

Counterexamples include many software products that have tried to compete with Photoshop over the years. Some were downright clunky and their vendors could not "give them away" if they wanted to.

How can we inspire more creativity among our software engineers?

Here are rules of thumb that I have used when managing some very creative and productive software groups both at Sun Microsystems in the USA and at DataSoft Systems in Dhaka.

1. Monitor, don't micromanage: There is a crucial difference between monitoring and micromanaging. Brilliant engineers who transition to managerial roles are often tempted to look over the shoulders of their engineers and say things like, "I can write that code better than you."

This behavior dries up any inspiration the engineer may feel for the work. The manager is using his managerial authority to trespass into the employee's technical realm. Instead, this manager should set up a process to monitor progress and remove hurdles in a regular and consistent manner. Such processes can include peer review of the design and code, as well as weekly (or even daily) progress checking.

In Bangladesh, micromanaging is popular in some circles, probably due to cultural reasons. But in order to build scalable organizations and turn out successful products, we need to micromanage less and monitor more.

2. Supply a bone to chew on: Engineering creativity works best if there is an "itch to scratch". That is, the engineer must be thinking of a problem to solve. This problem can come from a customer, or the manager, or a salesperson.

3. Encourage risk-taking - even making mistakes. If someone in the team makes a mistake for the right reason - ie, they were taking a risk or exploring alternatives - they should not be punished. Instead, this behavior should be encouraged whenever possible.

4. Expose them to new and different ideas: One of the worst practices in tech is reinvention of the wheel, also known as the NIH (Not Invented Here) Syndrome. Being open about accepting and leveraging other ideas will enable your team to create something new using the "wheel" that someone

else has already built.

5. Empower: Use the team's input during decision making. This leads to their taking on more ownership of the project, and motivates them to put in their best. For example, when hiring for an open position in my team, I always allowed the team the final say on who they wanted.

6. Connect with customers: Few things inspire engineers more than knowing about their customer's challenges and problems and having a chance to solve them. Note however that interactions with customers need to be carefully managed because a "nagging" customer can also quickly deplete the inspiration.

7. Coach: the leader of an IT team should think of themselves as a coach of a sports team. Coaches never do the playing. Instead, they assign roles, and inspire the team to reach their best in the game. They know the strengths and weaknesses of each member and maximize on the strengths while improving the weaknesses.

8. Communicate and set goals: the leader must keep the team appraised of information they need to know. For example, regarding the direction of the business, successes and challenges, in order to attain alignment.

Only then will their creativity be channeled in the right direction.

Setting explicit and measurable goals for each individual will provide motivation and drive for the work.

These guidelines worked well for me over the years. For example, at Sun, my teams were awarded over 30 patents over the course of creating and delivering over 20 Sun products. One such product, Java Advanced Imaging, reached over 10 million end-users, including several million users in Japan who used it to send pictures over mobile phones, a usage that my team and I had not anticipated.

I hope that these guidelines can be used to build more creative and productive teams leading to bigger successes for Bangladesh's IT business.

The author is the CTO of DataSoft Systems Bangladesh Ltd.