Product Architecture in Software Engineering - Definitive Guide

Find all you need to know about product architecture. Check out the types, role of product architecture in product development, and how to create it.


TABLE OF CONTENTS

  1. Definition
  2. Types
  3. Steps

What is product architecture?

Product architecture means organizing the functional elements of the product and showing their interaction with each other.  A schematic diagram is used to describe the product and its various functions and the process of creating this schematic is called product architecture. Instead of showcasing the product as a prototype, it’s broken down into basic components and shown in a geometric fashion.

Product architecture attempts to map the functions of the product to form, instead of the physical design of the product. So, regardless of what shape or size your product is, you’d be representing it using basic geometric shapes. Then, instead of focusing on how it’s supposed to look, you’d be working on what it’s supposed to do. Here in this last sentence, ‘it‘ refers to the various basic components of the product.

Breaking down the product into basic components makes it easier to identify any redundant operations and see the interconnections between features clearly. Due to this, product architecture is quite important when it comes to designing, making, selling, using and repairing products. When a product is mapped out in this manner it  makes sure that your attention is more on the functional performance of the components.

Karl T. Ulrich, a CIBC Endowed Professor at the Wharton School of the University of Pennsylvania, has written extensively on product architecture and design across multiple books he’s authored. In his words, it is the

scheme by which the function of a product is allocated to physical components. Architecture is particularly relevant to the research and development (R&D) function of a company… architectural decisions are made during the early phases of the innovation process where the R&D function often plays a lead role.

Types of Product Architecture

Product architecture is fundamentally divided into two types. These are modular and integral.

In the first type, modular architecture, the focus is on the relationship between various features of the product. The functions themselves are described in brief, but the ways in which they interact with each other are described in a detailed manner. A product is organized into a number of modules to develop and complete a particular function. These modules interact with each other and fulfil the purpose of the product.

When employing modular architecture, there is task allocation, outsourcing, ease of scaling up and reusing the components. This is because a smooth, refined product is created using this type and dependencies are made apparent.

The second type of product architecture, integral, is quite the opposite of modular architecture. In integral architecture, the relationship between the various functions aren't stressed on much, but the functionality itself is described in a very detailed fashion. Mapping between components and functions is more complex in integral architecture. These components are then designed/ optimized for particular products. This makes it easier to optimize the complete system or product. Integral architecture helps cut costs involved in the product development.

Steps in creating Product architecture

product architecture

Now that you know what product architecture is and its types, let’s understand how product architectures are created. Four basic steps are involved in the process as described below:

Creating the schematic

Here, a basic geometric schematic of the product is to be created. Any template of choice can be made use of for this or you could also create your own template. For example, Kafka schemas are quite commonly used. You need to ensure that the schema you choose makes it easy to express the features your product will contain clearly.

Clustering the elements

In this, you group the features and elements in your schematic diagram of the product. The way you wish to do this would depend on the type of product you are designing. You can choose one of the approaches mentioned above and go about it accordingly. It is advised to focus on the interaction between the function as well as the functionality itself.

Drafting a geometric layout

In a geometric pattern, clearly lay out the functions, flows and all patterns involved in your product architecture. The path between individual elements would define the structure of the product. Think of it as a map of sorts defining the different components of your product.

Identify the interactions between these components

All you’d be doing here is draw lines between the various components that you’ve represented on the schematic diagram. This may seem trivial, but it’s quite necessary to show just how these components interact and the way they affect the overall product development.