There are two distinct types of software, and hence in reality two supplier value chains. Application software provides specific functionality meeting the needs of end users, and infrastructure provides generic capabilities subsumed by many applications. The infrastructure includes both hardware (computers, peripherals, and communications links and switches) and software71. Examples of the latter are the operating system and a general category called middleware (discussed later). Infrastructure does not provide directvalue to the user, but is essential to the operation of an application.
Figure 3. Three value chains in the software industry.
Considering the separation of application from infrastructure, there are two supplier value chains and one of the two requirements value chains, as illustrated in Figure 3. The development, provisioning, and operation of infrastructure adds value indirectly by enabling applications, as well as making them easier to develop, provision, and operate. The development, provisioning, and operation of the application provide direct value to the user. The requirements chain from the user adds value to the application development by defining appropriate requirements that better meet user needs. User requirements have no direct relevance to the infrastructure, which is designed to serve many applications. However, the collective needs of many applications form a second requirements value chain (not shown).72.