Read The Graphing Calculator Story. (Thank you to Obie Fernandez for finding this gem.
Some ideas that stood out for me:
- The secret to programming is not intelligence, though of course that helps. It is not hard work or experience, though they help, too. The secret to programming is having smart friends.
- …he told his manager that he would start reporting to me. She didn't ask who I was and let him keep his office and badge. In turn, I told people that I was reporting to him. Since that left no managers in the loop, we had no meetings and could be extremely productive.
- we needed professional quality assurance (QA), the difficult and time-consuming testing that would show us the design flaws and implementation bugs we couldn't see in our own work. […] One guy had a Ph.D. in mathematics; the other had previously written mathematical software himself.
- … my sanity was saved by the kindness of a stranger (there are several stories of people who helped in various ways)
- Sitting behind a one-way mirror, watching first-time users struggle with our software, reminded me that programmers are the least qualified people to design software for novices.
- Dozens of people collaborated spontaneously, motivated by loyalty, friendship, or the love of craftsmanship.
When I've written about canceled projects in the past, I've recommended that managers not allow skunkworks projects like this to continue, because there is too much drag on the organization. However, for this project, the drag appears to have been minimal — but I'm not sure. Can you say that your project is composed of people who collaborate, are internally motivated to create something wonderful? If not, do you know what you could do to move the project staff towards that frame of mind?
Disallowing skunkworks projects is saying to the brightest employees, “Turn off your creativity and self-motivation, since the only thing that matters are the instructions you receive from above.” The idea that contributor initiatives are a drag on an organization speaks more to the insecurity of the management than to its skills.
But what about projects that were canceled? Should people be allowed to work on projects that the people who plot strategy thinks are inappropriate?
I don’t think there’s a simple answer to that question. It depends on the people doing the skunkworks project, the attitude and acumen of management, and the environment of the company. The people who plot strategy aren’t always omniscient and, on the other hand, the renegades aren’t always successful.
In my own experience, I have seen projects not necessarily cancelled but deemphasized by management (by, for example, pulling resources off them) that ended up being a hit with customers and make a big difference in the success of the product.
I’m sure I’ve heard that some very successful projects at 3M were cancelled several times, but kept on going… [3M had/has an unusual company culture.]
In the graphing calculator story, I think the calculator was NOT part of the project that cancelled.