The Ship of Theseus: Lessons for Configuration Management
Recently, I was giving a presentation on configuration and product change management. At the end of my talk, a gentleman told me a story about his company. The company purchased two identical machines to perform the same function. One machine went into service; the other was waiting in the wings. Over time, the deployed machine had a component failure. The obvious solution was to replace the broken part with same component from the identical machine collecting dust. Unfortunately, the “new” part did not work. It turns out the two machines were, in fact, not identical.
What makes two products identical? Is it their shape? Is it what the product does, or how it does it? The question reminds me of the paradox known as Theseus’ ship.
Theseus’ ship is a thought experiment from ancient Greek philosophy. Theseus was a mythical hero of Athens who sailed on a ship called the Argo. Over time, the ship’s planks and other parts began to deteriorate and were gradually replaced by new ones to keep the ship seaworthy. The paradox raises the question: If every part of the ship is replaced, is it still the same? In other words, if all the old planks are replaced, is it still Theseus’ ship, or is it completely new? What percentage of original parts must be replaced before the ship becomes something different? If every part has been replaced, do you have to rename the ship?
This paradox challenges our understanding of identity and the nature of objects undergoing continuous change. It explores essential identity and whether an object retains its identity when all its parts are replaced.
The Ship of Theseus has been widely discussed and debated in various fields, including philosophy, identity theory, and even in the context of modern concepts like transportation, restoration and conservation. It raises intriguing questions about the nature of change, continuity and the defining characteristics that make something that it is.
The Product
We design, build and release products to the customer to meet specific needs. Many times these products will morph into variations, and after some time, the variations will bear little or no resemblance to the original. The organization wishes this to be so. Innovation drives income and is the source of a recurring revenue stream over time. It is a double-edged sword; competitors can build off our idea, creating new products that compete with the original. The hard-wired telephone that hung on the kitchen wall decades ago bears little resemblance to the smartphone of today, but both perform the same function. Like the Argo with all new parts, they are same, but not the same.
Configuration management is the tool we use to ensure that a product, as designed and built, retains its original nature. If we wish the product to maintain the same geometric and functional characteristics, we can use the process steps laid out in the discipline of configuration management: configuration identification, configuration control, configuration status accounting, configuration verification and auditing, configuration reporting and documentation, and change management.
Functional configuration management focuses on a product’s functional requirements and features. It involves defining, documenting and managing these requirements and any changes over time. Organizations can ensure that the final product meets the desired objectives by clearly understanding the intended functionality and performance criteria. Functional configuration management involves requirements identification, documentation, change control and compliance verification with specified functionalities.
On the other hand, physical configuration management deals with the tangible components that constitute a product. This involves controlling and tracking physical items, such as hardware components, software modules, documentation and other assets. It ensures that the correct versions of these items are used, assembled and maintained as part of the overall system. Physical configuration management aims to prevent discrepancies between the intended design and the actual physical implementation, improving quality, reliability and maintainability.
Theseus’ ship is a thought experiment from ancient Greek philosophy. Theseus was a mythical hero who sailed on a ship called the Argo. Over time, the ship’s parts began to deteriorate and were gradually replaced by new ones. The paradox raises the question: If every part of the ship is replaced, is it still the same? Painting of the Argo by Constantine Volanakis, courtesy Wikimedia Commons
If your effort is to have the same “ship” that you once had, keeping track of the functional and physical attributes of the product is vital. These attributes will have a bearing on the performance of the product.
Baselines
Configuration management involves the establishment of functional and physical baselines as reference points in the life cycle of a product. A functional baseline represents a snapshot of the functional requirements, specifications and design elements agreed upon at a particular stage. It is a point of comparison to assess any changes or deviations during subsequent development phases. This baseline ensures that the product’s intended functionality remains consistent and traceable as it evolves.
On the other hand, a physical baseline encompasses the tangible components, including hardware, software, documentation and other assets, that constitute the product or system. It captures these elements’ specific versions and configurations at a particular time. The physical baseline is a foundation for assembly, testing and maintenance activities, facilitating accurate replication and control of the product’s physical components.
These baselines provide a structured framework for configuration control, change management and version tracking throughout the lifecycle. They enable teams to effectively manage complexity, mitigate risks associated with design changes, and ensure that the product aligns with functional requirements and physical specifications. Organizations can enhance collaboration, streamline development processes, and deliver high-quality products or systems by maintaining clear functional and physical baselines.
Two Machines
Let’s return to our original story of the two same-but-different machines. In all probability, both machines should have been equipped with interchangeable parts. And yet, they were not. The two machines were built and shipped a few months apart. Work is dynamic. People change. Even in a short time frame, we cannot rely solely on memory to ensure consistency in our manufacturing processes.
In the case of Theseus’ ship, if we want to retain the ship’s character and performance attributes in the future, we will need to keep documentation of how it was originally built, including all the drawings and functional and physical baselines. So long as the material to build the ship is available, and we do not wish to alter its performance, we can keep the ship consistent with the original version only if we truly understand what that first version was. We must look back.
However, configuration management can also help us build future products. If we want to develop a better ship, we can use the old documentation and performance information for design innovation. Since we know what worked in the past, we can find better ways to design and manufacture the future product. The product as it exists today, coupled with a roadmap connecting that product to emerging technology, is the future of a company’s revenue stream.
Challenges
While the Ship of Theseus paradox challenges the notion of identity in the face of continuous change, effective configuration management typically operates within a defined context. Configuration management ensures that a system retains its desired characteristics and functionalities throughout its life cycle. The focus is on preserving essential aspects and adapting to meet changing requirements while maintaining the system’s overall identity and purpose.
In the context of configuration management, the concept of identity may be more closely related to the system’s intended purpose and the critical features that define its functionality. If the core characteristics and intended functionalities are preserved, and the system continues to meet its designated purpose, it can retain its identity even as configurations evolve.
Overall, effective configuration management enables organizations to navigate change, update configurations, and maintain the identity and integrity of complex systems. It ensures that the system remains functional, reliable and aligned with the organization’s goals despite the continuous changes during its life cycle.