Management Overview: Software Strategies
System Development: Skunkworks and Innovation
The term "Skunkworks" was the term used by Lockheed Aircraft Corporation to describe a group created to push the engineering limits of what is deemed possible. The group disregarded anything that stifled innovation – like corporate bureaucracy. The term "Skunkworks" came from the "Li'l Abner" comic strip. It was a place where moonshine was made from skunks, old boots and other bizarre ingredients.
Today the term "Skunkworks" is widely used in engineering to describe an unconventional group with a high degree of independence, unrestricted by management constraints, working on unconventional projects. The Skunkworks are often used to research and develop computer programs or procedures that may eventually be incorporated into the I.T. collection of development tools.
The Skunkworks and Risk assessment
There is no guarantee that a Skunkworks will deliver a viable product. The innovative IT manager should be selective, and choose projects that have a good chance of being productive. But the manager must take the risk (and criticism) when some projects come to nothing.
In practice, very few Skunkworks projects are abandoned without providing some tangible benefit.
Many IT managers need to hide the Skunkworks activity. This is usually because stodgy management are unlikely to accept or fund a Skunkworks.
The essentials of a Skunkworks project
The rules to foster innovation are few and simple:
- Select programmers with known innovative abilities
- Allow the programmers complete control of projects
- Allow complete flexibility for making changes
- There should be minimal management constraints
- Allow leading (or bleeding!) edge technology
Skunkworks and programmer morale
Allotting time for the "pet projects" of creative programmers has a huge bearing on morale. It has the effect of reducing staff turnover and increasing productivity – both from the programmer's point of view, and also the company, when the Skunkworks project reaches successful completion.
A successful project usually more than makes up for the "lost time" spent on non-main stream activities. In any event, most programmers seldom let their day-to-day work suffer.