f processes also requires higher complexity of software to automate it and thus requires also greater effort from the software vendor to implement it. The effort needed depends also on the availability of standardized enabling technologies with which the solution has been developed. From the technology viewpoint, the major constraints are set by the interfaces through which the software interacts with other processes or systems. In the worst case, the software has to interface with proprietary systems through proprietary interfaces. In this case the software developer goes through an expensive process of acquiring information on the interfaces, may need specialized resources and per- sonnel with expensive training, or the interfacing may not be possible at all. In the best case there exist an easy-to-interface system encapsulating the knowledge on how to access this hardware, or all the interfaces needed by the software are common and openly available on the marketplace. In other words, not only the required information processing functionalities and the technologies, but also system interfaces should become standardized (Northrop 2002). Often, generic software products, which are being deployed across industries also have their origins in the vertical markets, from where they have, through a process of horizontalization, been adopted and adapted for general use. For exam- ple, manufacturing resource planning systems were initially developed as tailored solutions. Later on their scope was extended by the first adopters to other functions of the organization. Now such systems are widely adopted as generic enterprise resource planning (ERP) software systems also by other industries. This phenomenon can be seen from the perspective of diffusion and adoption of enabling technologies. According to the diffusion models, software technology is originally technically embedded into, or at least business-wise bundled with hard- ware technologies. These diffusion models, as well as other theoretical models related to explai