Shut down those Software Factories!

 Back when former Mexican President Ernesto Zedillo officially opened Softtek’s global delivery center (GDC) in Monterrey, we would refer to the facility as a “software factory”. Prior to the official opening ceremony, and once we briefed him on the activities that were carried out in the place, he seemed pleasantly surprised. He understood that what we did there was not the typical “factory work”–as compared to the several he had inaugurated during his presidential term. In his speech he acknowledged that fact, and referred to our GDC as a “knowledge factory”.

Despite the numerous attempts to produce automatic code-generators, or Rapid Application Development Systems (RADS), no substitute for software professionals has emerged. At the desks in nearly all GDCs providing software services are engineers—graduates from IT-related programs, many of whom hold master’s degrees. They creatively solve problems day in and day out. Most of their work is done cognitively, and the result of their reasoning is transformed into software code. There is hardly a routine—no repetitive / endless tasks. Software professionals face different problems every day. They are knowledge workers, not factory workers.

Generally accepted management principles are not suitable for today’s knowledge workers, according to the “Father of Software Quality”, the late Watts Humphrey, who addresses this issue in his last published book “Leadership, Teamwork and Trust: Building a Competitive Software Capability”.

In chapter four of his book, Humphrey outlines the five key principles needed to manage knowledge work: a) Management must trust knowledge workers; b) Knowledge workers must be willing to manage themselves; c) Management system must rely on facts and data; d) Quality must be the organization’s highest priority; and e) Management must provide team with leadership, training, coaching and support.

Humphrey argues that these principles do not fit in generally accepted management principles, which according to him are still based on those laid out by Frederick Winslow Taylor in his 1911 book, “The Principles of Scientific Management". These were designed around the people who made up the factory workforce, which were largely: uneducated; principally motivated by money; with limited and largely interchangeable skills; and [unless carefully supervised] would not work as hard as they could.

Of course, knowledge workers are also motivated by money, but the difference is that it’s not the determining factor.  Humphrey points to a study carried out by MIT, the University of Chicago and Carnegie Mellon University. The report shows that as long as the tasks involve only mechanical skills, a higher pay will yield better performance. Knowledge workers perform better when they are motivated by challenge, mastery, and the certainty that they are contributing to something important. They are driven by purpose. There’s an outstanding video from RSA and Daniel Pink, about this study.

A factory is a place where the workforce carry out repetitive tasks, aided in most cases by automation tools. Taking the principles laid out by Humphrey, the term “software factory” sounds more like an oxymoron.

It didn’t take us long to realize that the factory concept was dead wrong. Dr. Zedillo was right—the facility is a knowledge center, but it’s certainly not a factory. It’s all about the knowledge, and the people behind it.