change." [ii]I would emphasize that creativity is the onlyway to create a team that is "change-ready."
All human beings have a need to improve their own lives, including their work.If we can think of a better way to do something, we instantly want to try it.But a highly-engineered machine organization can't handle many new ideas. Thereis always a fear that if one of the people starts playing around with hisresponsibilities, the rest of the machine will seize up from the shock. Andthat may be true in an organization where people need to behave as machines.
Having focused on how our people and our processes must not be treated likemachines, it is worth noting that the software we create as an end product isindeed a machine. The trouble we get into is when we extend that machinemetaphor outside the domain of the actual running software to the rest of ourworld, to people and processes. But if we can limit our machine thinking justto the software itself as coded and executable, we won't have theover-engineering problem.
I am introducing some ideas here that may help make people's lives better andmake employees and team members happy. I am discussing ways to achieve theirhappiness by giving them more control over their own work. I'm not saying thatpeople's happiness at work can be improved with the usual means, like parties,rewards, celebrations, bigger offices, recognition, etc. Most of thetime, these mostly superficial happiness generators have no lasting impact onpeople's happiness at work.
If you've ever done manual labor of any kind, whether pouring cement or being amaid at a hotel, you know that the job becomes more enjoyable when you canexperiment with your own improvements, and less enjoyable when you can't.
You Can't Engineer for Change
But can't youjust "engineer for change?" No, you really can't. Because in anengineered machine-model organization, you would have to anticipate everypossible type of change and engineer your team for them all. It is impossible.A machine can't creativity respond to changes in its environment. It has to betold what to do.
What you can do is let your team members make improvements to their own work,giving them a wide berth of responsibility and flexibility over how they dowhat they do. It is not "chaos reigns" but just allowing somecreativity to sneak in the door once in a while.
Our processes and our people are better off not being engineered . Sowhat is our alternative term to "software engineering?" There are somany possibilities; it's really up to you. To call what we do software development isn't toofar-fetched, and it is a term we already use widely. Other acceptable labelsmight be software creation or software synthesis , which help us avoidthe static structure mindset. Finding the best term to replace softwareengineering is less urgent than shifting our mindsets away from engineeringsoftware, processes, and people. If we can accomplish that, we'll have come along way.
[i] Personal communications (with permission) with JeanneBaker, Microsoft.
[ii] "Creativity and HumanFulfillment" by Carole S. Pearson, PhD. InnerEdge Magazine , Vol 2, No 5, Oct/Nov 1999.