It’s scary to think of inmates running the asylum.
|Other Book Reviews You Might Enjoy|
My earlier post titled, Good Complexity, Bad Complexity, I discuss a few case studies where produce and process complexity can be good, and where it can be bad. One of the areas in which a balance needs to be had between a rich feature set and low maintentance and manfucting overhead is in how we design our products.
On the one hand, if you have offer too many features in your product, it can lead to featuritis, which results in very unhappy customers, high maintenance and manufacturing costs, and eventually a slowly-dying and eventually dead product. On the other hand, if you have a product that has a feature set that doesn’t satisfy, yet has very low manufacturing and maintenance costs, that product, too, will eventually die. What we need is balance.
The Product Design determines ~75% of the maintenance and manufacturing costs of your product, whether it be a consumer packaged good, a software product, a widget, or any physical or virtual product — there’s going to be some maintenance and manfucturing costs involved. The way you design it will determine the costs on maintaining it and building it. The key, then, is to design quality in the manufacturing, and also to take advantage of some very basic industrial engineering tenets, simplicity principles, and here they are:
- Modularity: Group like-functional elements in logical and seperate assemblies and sub-assemblies that share common elements. In software, we call this a base class that one can instantiate into something more specific. For example, a base class could be a car, made of metal and plastic; one could then instantiate that class and inherit the common pieces (metal, plastic, etc.) but instantiate it into a car with specific attributes such as color, shape, or engine type. The same approach can be taken with other product types too — in healthcare, an health insurance type can inherit common items from a more generic health insurance type — it’s an instantiated version of the parent insurance type. You get the point.
- Platforms: A platform is any unit — module, set of modules — that serves as a base for multiple end products. This notion of Platform is extending the Modularity concept a little bit, and making it into a family of modular pieces with different functional goals. BUT, multiple end products can use their services, tasks, and reusability in multiple offerings. For example, a car maker can collapse several designs into just a few, build common manufacturing lines that are shareable between multiple car types.
A focus on Commonality leads to the following benefits:
- Improved efficiency through sharing of common processes and parts.
- Reduced lead-time, resulting in quicker time-to-market.
- Reduced working capital investments (and reduced intellectual capital requirements).
- Defect reduction.
- Flexibility in operations.
- Better use of resources.
Once commonality is achieved, the goal, then, is to focus on differences — in differentiation of the product (the instantiation piece). If your offerings are 90% similar, then you can better focus on the 10% that will add value in differentiation or customization for the customer.
Reuse & Recycling
Once you have a base class or platform, then creating new products would allow you to determine the “backwards compatibility” of the new product — that is, reusing the current manufacturing lines, parts, code to create the new product. The design question, then, is spent determining the customization and differentiation of the new product from the family of products. Code reuse; manufacturing reuse; and, service reuse — helps to reduce dramatically the time-to-market of the new product and costs.
Design for Manufacture and Assembly
This is basic engineering stuff, but one that hasn’t really made it into the mainstream yet.
- Design for Assembly: Design teams considers the parts involved and attempts to reduce it through consolidation of parts or the elimination thereof. Does part x need to be seperate or part of assembly x? Questions like this helps to simplify design at the outset.
- Design for Manufacture: This step investigates process and assembly issues and attempts to optimize parts design. Material or hardware is selected at this step and tooling corrections are made.
- Design for Service: This part involves designing products for efficient maintenance and repair and upgrades. It establishes a disassembly sequence to service an item, identified items that must be discarded or replaced for specific service, tasks, assesses the degree of difficulty when servicing specific items, and generates a reassembly sequence and time estimate.
- Design for Environment: This step helps to quantify a design in terms of cost and environmental impact, ensuring that products can be disposed of responsibly after use. There might be a ROI analysis on financial returns, costs, and environmental impact.
Inmates are Running The Asylum
In Cooper’s book, The Inmates Are Running the Asylum, he points correctly that products — both software and hard-goods — are over-complicated and are truly not making our life any easier. Most products wreak of featuritis or are laden with much non-value added complexity. Let’s get back to making life easier by producing better, customer-focused products. Let’s produce products that are simple, yet value-adding; elegant, yet pragmatic.