Skip to content
Product cover

Should You Build Strategy Like You Build Software?

Strategy is a mechanism through which a company makes sense of the world around it. It is a collection of ideas about how the company intends to win, the source code upon which everything else depends. Because strategy can only capture a company's best thinking at a given point in time, the author argues that strategy, much like a software program, needs to be updated and refined as people gain new experience and knowledge.

With traditional approaches to strategy development, the author argues, planning is optimized for the original targets; it is difficult to change directions once implementation is under way. Adaptive processes, by contrast, help companies create and adapt strategy quickly and iteratively, so that people can effectively triage issues and allocate resources in changing environments; they are optimized to identify the best ideas and to ensure that individuals throughout the organization have access to the latest version so that everyday actions can be aligned with the most important strategic insights. Since people throughout the organization play roles in the company's strategic success, strategy development needs to tap into ideas from everywhere. This requires opening up the process to people throughout the organization, permitting extensive face-to-face collaboration, and arranging for individuals other than senior executives to facilitate important strategic discussions.

Drawing extensive comparisons with software development and using examples from companies including Metrowerks and Shamrock Foods Co., the author focuses on three major themes: having an iterative, or "spiral," approach versus a linear approach; organizing the strategy-making process around people rather than processes; and the recognition that in strategy there is no such thing as a "silver bullet." Most managers operate in settings that are too dynamic and complex for simple success recipes. Instead of seeking long-term sustainable advantage, good managers need to create sustaining advantages on an ongoing basis.
Purchase Options

Educator and Student Discounts Available. Learn more »

  BENCHMARKS  
Loading Time: Base Classes  0.0005
My Controller Construct  0.0003
Build Nav  0.0007
Controller Execution Time ( Products / Route )  0.1027
Total Execution Time  0.1032
  GET DATA  
No GET data exists
  MEMORY USAGE  
1.5669 MB
  POST DATA  
No POST data exists
  URI STRING  
store/should-you-build-strategy-like-you-build-software
  CLASS/METHOD  
products/route
  DATABASE:  MITSLOAN_DEV   QUERIES: 68  (Hide)
0.0003  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0006  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '9c76196c15839d7817e0dbbd5b02d4e8'
ORDER BY `created_atDESC 
0.0002  

SELECT SQL_CALC_FOUND_ROWS cat_id
FROM 
(`product_categories`)
WHERE `status_id` =  'A'
AND `url_friendly` =  'should-you-build-strategy-like-you-build-software'
AND `parent_id` =  
0.0046  

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 'should-you-build-strategy-like-you-build-software' OR
                            if(
c.format_id 'Certificate'''p.url_friendly) = 'should-you-build-strategy-like-you-build-software'
                        
)
                    
LIMIT 1 
0.0002  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  1055 
0.0002  

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

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

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

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

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

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 ('249') 
GROUP BY `products`.`parent_id`
ORDER BY COUNT(*) DESC
LIMIT 6 
0.0002  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '361' 
0.0004  

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '2465'
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` =  '1055'
AND `kind` =  'image_600x600'
ORDER BY IF(position 010) AS, `position
0.0001  

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

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

SELECT *
FROM (`media_metadata`)
WHERE `media_id` =  '513' 
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` =  '1055'
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` =  '1055'
AND `type_id` =  'V'
ORDER BY IF(position 010) AS, `position`, `title
0.0001  

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

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

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` =  '1055'
AND `product_categories`.`parent_id` =  1
AND `product_categories__products`.`cat_idNOT IN (1261)  
0.0007  

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)