Copyright © 2009 Corvus International Inc.  All Rights Reserved

Home      About Corvus       Contact Us       Articles/Resources       Clients          Affiliations  

This was the first article in The Business of Software series and the underlying theme of software as a knowledge medium drives all the articles that follow...

ACM DL Author-ize serviceThe Business of Software: the case for a new business model
Phillip G. Armour
Communications of the ACM, 2000

   Software is not a Product
The core issue with the business of software is that we misunderstand what software really is.

Most companies think of software as a product--the job of a project is to build a system that we ship to the customer.  Software development is usually managed as if it were building a product: "...have we shipped the latest release yet?..."  But software is not a product.

   The Five Knowledge Storage Media

Consider where (in what medium) we could possibly store some knowledge that we have gained.  For this purpose think of "knowledge" as being the necessary "instructions" (steps, data, events, actions, situations, etc..) necessary to achieve something of value to an organism. 

There are only five places or media in which knowledge can be stored.  In historical order, they are:

Software is not a product, it is simply a medium for storing knowledge.  It is the most recent of the five media, but also the most powerful.

   Software Development

The hard part about creating software systems is not creating them, it is in acquiring the knowledge necessary to create them (correctly).   We can write as many lines of code as we want, but if they don't "work" (read: contain the correct knowledge) the software is of no use to anyone.

Since Software is not a product, Software Development is not a product-production activity.

Software development is, in fact, a knowledge acquisition activityBut it is neither recognized nor managed as such.

    Our lack of understanding of this basic fact is one of the key issues facing the software industry.  We do not "build systems"ówe acquire knowledge.  The systems we ship to our customers are actually the byproducts of the real activity, which is to learn.

The real product is the knowledge that is in the systems we ship to the customer, and we don't manage that at all.

    Businesses that learn to manage the real product will become unbelievably efficient and productive.  Businesses that don't will become marginalized and will fail.  Given this, productively improvements of 1000% are possible and should become routine in those companies that figure out this issue and learn to effectively manage the empirical knowledge of their domains.



The Case for a New Business Model...