Over the years, software development has seen an “industrialization” evolution, from craftsmanship to a process-oriented culture. Just as the assembly line and mass production transformed manufacturing, new engineering practices and increasingly sophisticated tools transformed software so much that a common metaphor became the “software factory,” as we could build software the way we build cars.
The idea behind the “software factory” was that established processes could specify the product, then design, code, test, fix and deploy it. Good specifications would create good design, good code and good products. Successes would be repeatable, hence the RUP adoption explosion, ISO standards, CMM and CMMi. It was a great evolution from the previous ad hoc model, which had unpredictable results. The criteria for success became “delivery on time, within budget and with high quality” (all just facets of predictability).
IT usage followed a different path during this time: from standardization to individualization. Early on, users had to be content with the standard solutions because they were the best available. Today, everyone can access technology at home, at work and on the go. Users do not follow a single stereotype; there are thousands of personas. Regardless of how much IT wants to standardize, users continue to make personal choices. Power has shifted to the consumer.
As the industry moved toward a “software-factory” model, users progressed toward individualization of choices. Are these two things compatible? As IT professionals, we should reflect on it.
If this model is not compatible with current IT needs, why is it the predominant option? Looking at the industry marching toward mass production while users demand individualization, it’s no surprise that Gartner recently named the lack of innovation the single biggest disappointment of CEOs with outsourcing engagements.
Looking at customers’ (enterprises) needs (IT services) through Abraham Maslow’s lens, we see a pyramid, with “Survival” at the bottom, “Success” in the middle, and “Transformation” at the top (see “Peak: How Great Companies Get Their Mojo from Maslow” for more information).
At the “Survival” level, the provider just needs to meet basic customer expectations to be successful. The IT organization is a cost center, and its goal is to reduce costs.
At the “Success” level, the provider must address the customer’s desires, which go beyond basic expectations but can be understood by asking: “What would you like to have?” or “What would you like me to do for you?”