Skip to content
Product cover

Product Platforms in Software Development

The concepts of product families, product platforms, and derivative products are as applicable to intangible software products as they are to tangible physical products. In both cases, firms can develop a family of products based on a common platform instead of starting from zero every time. Well-designed platform architectures for software products provide productivity benefits and enable rapid growth in market share and revenue. In addition, if the developer builds and communicates methods by which others can build modules that operate in or on the underlying platform, it can become the standard or basis of large-scale innovation, which provides significant strategic benefits.

A product platform is a set of subsystems and interfaces that form a common structure from which a stream of derivative products can be efficiently developed and produced. The authors present a model of the architecture of software products and offer case examples showing platform design and management in action. Software developers adopting the product platform approach should form a dedicated team, supported by top management, to assess the organization's current situation and future potential. A market segmentation grid allows the team to document both market information and systems or product status information.

In planning a new product platform, the team should understand target users' requirements; propose a new platform architecture and strategy; propose an implementation plan, budget, and time line; and propose an approach that allows for the joint design and sharing of platform components and development processes. Unless companies achieve an effective platform strategy, they are likely to face competitive disadvantages. The effort will require new ways of planning, budgeting, and organizing for systems development.

Purchase Options

Educator and Student Discounts Available. Learn more »

  BENCHMARKS  
Loading Time: Base Classes  0.0005
My Controller Construct  0.0003
Build Nav  0.0006
Controller Execution Time ( Products / Route )  0.0598
Total Execution Time  0.0603
  GET DATA  
No GET data exists
  MEMORY USAGE  
1.5788 MB
  POST DATA  
No POST data exists
  URI STRING  
store/product-platforms-in-software-development
  CLASS/METHOD  
products/route
  DATABASE:  MITSLOAN_DEV   QUERIES: 68  (Hide)
0.0005  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0004  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0005  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0003  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0003  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0004  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0003  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0004  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0004  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0004  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0003  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0004  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0003  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0004  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0004  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '504e00ec6b27f549f8861a791d2a3ac0'
ORDER BY `created_atDESC 
0.0002  

SELECT SQL_CALC_FOUND_ROWS cat_id
FROM 
(`product_categories`)
WHERE `status_id` =  'A'
AND `url_friendly` =  'product-platforms-in-software-development'
AND `parent_id` =  
0.0095  

SELECT c.parent_idc.format_id
                    FROM products 
AS pproducts AS c
                    WHERE p
.prod_id c.parent_id AND
                        
c.avail_id IN ('A','B','D') AND
                        
c.type_id 'V' AND
                        (
                            
c.sku 'product-platforms-in-software-development' OR
                            if(
c.format_id 'Certificate'''p.url_friendly) = 'product-platforms-in-software-development'
                        
)
                    
LIMIT 1 
0.0003  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  2257 
0.0003  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '2257' 
0.0003  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '2257'
ORDER BY `sortAS
0.0001  

SELECT `cat_id`
FROM (`product_categories__products`)
WHERE `prod_id` =  '2257' 
0.0001  

SELECT *
FROM (`product_flags__products`)
WHERE `prod_id` =  '2257' 
0.0002  

SELECT `sku`
FROM (`products__xsell`)
WHERE `prod_id` =  '2257'
ORDER BY IF(position 010) AS, `position
0.0233  

SELECT `products`.`parent_id`
FROM (`transaction_lines`)
JOIN `productsON `products`.`sku` = `transaction_lines`.`sku`
JOIN `product_categories__productsON `products`.`parent_id` = `product_categories__products`.`prod_id`
WHERE `products`.`avail_id` =  'A'
AND TO_DAYS(transaction_lines.updated_at) < (TO_DAYS(NOW()) - 90)
AND `
product_categories__products`.`cat_idIN ('243') 
GROUP BY `products`.`parent_id`
ORDER BY COUNT(*) DESC
LIMIT 6 
0.0002  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '3379' 
0.0002  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '3379' 
0.0002  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '3379'
ORDER BY `sortAS
0.0003  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '3385' 
0.0002  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '3385' 
0.0002  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '3385'
ORDER BY `sortAS
0.0001  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '3991' 
0.0002  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '3991' 
0.0003  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '3991'
ORDER BY `sortAS
0.0001  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '4261' 
0.0001  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '4261' 
0.0002  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '4261'
ORDER BY `sortAS
0.0001  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '1505' 
0.0002  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '1505' 
0.0002  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '1505'
ORDER BY `sortAS
0.0004  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '33' 
0.0002  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '33' 
0.0002  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '33'
ORDER BY `sortAS
0.0003  

SELECT SQL_CALC_FOUND_ROWS media_idposition
FROM 
(`media`)
WHERE `foreign_key_table` =  'products'
AND `foreign_key_column` =  'prod_id'
AND `foreign_key_value` =  '2257'
AND `kind` =  'image_600x600'
ORDER BY IF(position 010) AS, `position
0.0001  

SELECT *
FROM (`media`)
WHERE `media`.`media_id` =  '1016' 
0.0001  

SELECT *
FROM (`mime_types`)
WHERE `mime_types`.`extension` =  'jpg' 
0.0001  

SELECT *
FROM (`media_metadata`)
WHERE `media_id` =  '1016' 
0.0003  

SELECT SQL_CALC_FOUND_ROWS media_idposition
FROM 
(`media`)
WHERE `foreign_key_table` =  'products'
AND `foreign_key_column` =  'prod_id'
AND `foreign_key_value` =  '2257'
AND `kind` =  'gallery_image'
ORDER BY IF(position 010) AS, `position
0.0003  

SELECT *
FROM (`products`)
WHERE `avail_idIN ('A''B''C''H') 
AND `
parent_id` =  '2257'
AND `type_id` =  'V'
ORDER BY IF(position 010) AS, `position`, `title
0.0003  

SELECT `c`.`format_id`, `c`.`price`, `c`.`sale_price`
FROM (`productsAS c)
WHERE `c`.`prod_id` =  '2258'
LIMIT 1 
0.0004  

SELECT SQL_CALC_FOUND_ROWS media_idposition
FROM 
(`media`)
WHERE `foreign_key_table` =  'products'
AND `foreign_key_column` =  'prod_id'
AND `foreign_key_value` =  '2258'
AND `kind` =  'thumbnail'
ORDER BY IF(position 010) AS, `position
0.0002  

SELECT `product_categories__products`.`cat_id`
FROM (`product_categories__products`)
JOIN `product_categoriesON `product_categories__products`.`cat_id` = `product_categories`.`cat_id`
WHERE `product_categories__products`.`prod_id` =  '2257'
AND `product_categories`.`parent_id` =  1
AND `product_categories__products`.`cat_idNOT IN (1261)  
0.0004  

SELECT `cat_idAS id, `parent_idAS parent, `status_id`, `name`, `description`, `url_friendly`, `page_title`, `meta_keywords`, `meta_description`, `position`, `updated_at`
FROM (`product_categories`)
WHERE `cat_id` != 1
ORDER BY 
`parent_id`, IF(position 010) AS, `position`, `name
0.0003  

SELECT *
FROM (`product_categories`)
WHERE `status_id` =  'A'
AND `parent_id` =  1
AND `cat_idNOT IN (1261) 
ORDER BY `name
0.0002  

SELECT *
FROM (`site_settings`)
WHERE `option_key` =  'announcement' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)