Customized software development at a rapid pace
October 10, 2020 1246 words 6 minutes to read Last Updated: May 1, 2022
Your team may be streaks ahead of your competitors in the market. But is your software development organization ready to start pumping out customized software at a high rate - without an increase in resources, but rather a shift in tactics?
How is that even possible?
Traditionally, custom software is expensive and takes a long time to produce, unlike commercial off-the-shelf (COTS) products that are readily available and comparatively inexpensive.
However, by looking at the type of “shop” category that a software development organization falls into and examining the future of development practices, we can see the steps that any software house can take to produce successful, customized products at a pace.
assembly line robots
Types of software development shops
Like manufacturing organizations, software development organizations can be categorized into “shops” with varying production levels and products.
Consider these four:
- Niche Production (low volume, low product mix)
A manufacturer who designs highly customized, often single-use software systems focused on very few clients.
- Mass Production (high volume, low product mix)
“Manufacturers design and produce a set of products in quantity according to the perceived needs of customers. Customers then make their own selection among this set of products from the manufacturers and their competitors. Customers have to live with their choices and designs made by the manufacturers.”
— Piller, and Tseng (2010, p. 3)
- Job Shop (low volume, high product mix)
A manufacturer who designs a wide range of short software modules that can be used as a plug-and-play by clients and integrated into larger multi-use software systems offered to a wide range of customers.
- Mass Customization (high volume, high product mix)
A method to develop, produce, market, and deliver “… affordable goods and services with enough variety and customization [such] that nearly everyone finds exactly what [he/she wants]…” (Pine, 1993, p.48).
To understand in which category an organization sits, consider the breadth of solution offerings and the volume of sales:
- A website design consultancy generates a wide variety of sites, all with a sales volume of one. These are “Job Shops” - low volume, high product mix.
- A COTS software vendor likely sits in the “Mass Production” category - with customers purchasing a limited number of packaged solutions.
Within the context of Industry 4.0, the fourth industrial revolution that is now upon us, “Mass Customization” is a core concept within manufacturing.
“Industry 4.0 assumes preparation of a computerized, intelligent manufacturing environment, guaranteeing flexibility and high efficiency of production, integration of different activities and effective communication between a client and a producer, as well as between the producer and suppliers.”
—Zawadzki and Żywicki (2016, p. 105)
This points towards highly modularized, intelligent systems, Agile practices, and customer and supply chain modifications to the current status quo.
Taking the lead from manufacturing, as we often do in software, the future of software development is that of Mass Customization.
How is a mass customization software shop possible?
How can a tailored solution be sold to customers while the organization produces those solutions at scale and at a low cost? At first glance, it looks as though Agile software development targets this goal. Yet, in reality, Agile development means the faster adaptation of Mass Production to market demands. This process is a worthwhile undertaking but does not get closer to Mass Customization.
The best current precedent for Mass Customization might be the leading cloud vendors. A Google Cloud Platform (GCP) customer will utilize GCP differently from every other customer. The various service offerings (and combinations of services) can be tailored to the customer’s specific needs.
That said, for GCP, each customer’s value is diminished by the need for customers to cloud-engineer their own solutions. This situation is why GCP has plenty of partners who help customers engineer their solutions. The large cloud providers are also known to pre-release or customize cloud services for their largest Fortune 500 enterprise customers. However, this customization is inaccessible for all but the largest cloud customers. The needs of these smaller organizations, which do not fit nicely into the service offerings of a cloud provider, will go unfulfilled (or at least poorly addressed).
What might mass customization software development look like?
First is a pull-based system for customers—and a significant departure from the cloud providers. Instead of pushing products, configurations, and offerings out into the market, mass customization requires customers to “pull” the solutions from providers. This outcome could look like the customized cloud services offered to huge enterprise customers but made widely available. For example, even startups could request a modified version of AWS Lambda, that better fits their needs.
The very concept of product and service offerings degrades in this environment, with requirement specifications and tailored product platforms taking their place. Instead of architecting applications to try and mash project specifications with available products, services, libraries, and customized product platforms, the specification is provided to cloud vendors. The cloud vendors respond with a tailored product platform with module stubs for developers to customize.
This custom software development already exists in 3D printing software - a hybrid manufacturing/software industry. Companies like Twikit offer 3D printing customizations across various product types such as automotive, prosthetics, interior construction, and lifestyle. Instead of mapping hardware requirements to available components, the hardware requirements themselves are the trigger for a pull-based customized value chain - customizing each component. Customers provide their needs directly and receive a polished customized product.
However, this is just the beginning. Building custom software based directly on customer needs across distributed networks of pull-based custom product/service offerings can be done. Now, we can imagine the delivery of ideas to “production code” taking only a matter of hours or even minutes. As we automatically align the value chain across organizations with the evolving needs of each customer, we can fulfill needs directly with the adaptability of an artist and the efficiency of a machine.
Next steps
Explore solutions in the market space for mass customization that may trigger new ideas for software factories:
“BigLever Software GEARS provides the infrastructure and a development environment for creating a software mass customization production line. Revisiting the analogy to automotive mass customization, where a single production line is used to manufacture many customized variations of a car model, GEARS is analogous to the infrastructure and technology used to create the automotive production facility. That is, GEARS is used to create a single software production line, out of which many customized variations of a software system can be produced.”
—Krueger (2005, p. 3)
Figure 3 outlines the fit for the GEARS software mass customization layer with respect to conventional technology layers. The bottom layer consists of the operating system’s file management system. Configuration management provides a suite of tools to track and control multiple versions over time. GEARS provides mass customization of system versions that vary within a fixed point in time.
References:
Krueger, C. W. (2005). Software mass customization. BigLever Software, Inc.
Piller, F., & Tseng, M. (2010). Introduction: Mass customization thinking: Moving from pilot stage to an established business strategy. In Handbook of Research in Mass Customization and Personalization, (Vol. 1), pp. 1-18.
Pine, B. J. (1993). Mass Customization. Harvard Business School Press, Boston, MA.
Zawadzki, P., & Żywicki, K. (2016). Smart product design and production control for effective mass customization in the Industry 4.0 concept. Management and Production Engineering Review 7(3) September, 105–112.