Nowadays, nearly twenty years after the publication of the famous paper “IT Doesn’t Matter”, many enterprises are still evaluating what matters the most for their business transformation: The development of the right technology or proper investments in digital transformation processes? The paper was grounded on the fact that IT has become a commodity, which facilitates enterprises to adopt and replicate the same technology as their competitors. Hence, technological products (e.g., software platform) alone can hardly be a source of competitive advantage for modern enterprises. Almost twenty years later, business enterprises are developing and deploying more software products than ever before. They are also implementing ambitious digital transformation programs, which include investments in paperless processes, automated procedures without the human in the loop, as well as complementary assets like training and reskilling of employees. In this context, companies must re-evaluate the role of their software products in their digital transformation strategy. Moreover, they must assess the number of resources allocated to them. Likewise, they should also compare the different options they have towards implementing and deploying enterprise software products and services.
Software Suite vs. Customized Software
One of the most prominent options for enterprise software services lies in the adoption and deployment of a popular software product (e.g., a software suite). This packaged software option enables organizations to kick-start their enterprise software deployment, leveraging best practices and the experience of the vendor from serving many customers in similar settings. Packaged software provides some room for customization to the peculiar needs of the enterprise. Nevertheless, it also ties an enterprise on the use of specific features and functionalities, which are not always compatible with the operations and needs of the enterprise. Package software can nowadays be licensed, or offered as a cloud service (e.g., Software-as-a-Service), which provides flexibility in the pace and scale of adoption.
The alternative to packaged software is the development of customized software products and services. This option enables enterprises to build products and services that are fully tailored to their needs. However, it provides little room for building scalable and replicable products, while incurring significant development and deployment costs. Modern methodologies like agile software development, test-first programming, test driven development, and DevOps (Development and Operations) techniques, enable the development of customized software in an iterative fashion and in-line with a continuous improvement discipline. This facilitates the gradual customization of the software products to the peculiar needs of the customer. Moreover, it enables the use of the software product in ways that set its user (e.g., the customer) apart from its competitors. Highly customized products are likely to provide features and functionalities that are not available in the “one-size-fits-all” packaged software.
Overall, there are pros and cons to building customized software products instead of relying on mainstream packaged software. Companies must thoroughly evaluate and compare the two options. As a rule of thumb, unless the packaged software meets 75% of the desired functionality out of the box, it should not be considered as a viable option. Moreover, it is nowadays possible to combine customized and packaged solutions in a hybrid approach. The advent of state-of-the-art software development and operations infrastructures (e.g., Docker containers, Microservices, cloud computing infrastructures) makes the option of developing custom software products and services much more appealing than in the past.
Outsourcing Options
Another important aspect of the innovative software product is the possibility of outsourcing software development. Over the years, there has been a proliferation of outsourcing options. Business enterprises are nowadays offered the option of outsourcing part of the development of their software product or service. Outsourcing is usually motivated by one of the following reasons: (i) To reduce development costs through the offshore implementation of certain parts of the product and (ii) The need to access global talent and skills, notably skills that are not available in-house. Both reasons end-up providing quite strong value propositions that justify the outsourcing decisions. Nevertheless, outsourcing limits the innovation potential of the software product, given that several design decisions and implementations of innovative features take place outside the company.
Recently, the COVID19 pandemic has accelerated the digital transformation of many business enterprises, while highlighting the impact of digital technologies on their innovation capital. This is signaling a shift in the number and type of software activities that enterprises must prioritize for outsourcing. Innovation related activities must be retained and implemented in the enterprise, letting conventional and more procedural activities software development activities be outsourced. Furthermore, outsourcing activities require closer and more consistent supervision than ever before. If properly managed, outsourcing can also deliver innovative products and services that can boost the competitiveness of an enterprise.
Investments in Complementary Assets
The rising importance of software products and services for the innovation capital of an enterprise does not mean that other non-software assets are not important. Software development must be always grounded on the need to enable and implement innovative business processes. The latter are usually more automated, more intelligent and less error-prone, while economizing on time, costs, or other resources. Therefore, enterprises must invest in new business processes and innovative business models, which will help them improve their results.
One more important asset is the development of human capital based on reskilling and upskilling of end-users. Training key users can be an important success factor for any software project. Furthermore, the governance of a portfolio of software products and their interaction with other IT services can be a decisive factor for the overall success of a software product. In several cases, companies need to undertake significant organizational transformations, including changes in the organizational chart, hiring people with the right skills, and changing internal roles and responsibilities.
By and large software development alone is not enough for achieving the desired levels of digital transformation and for substantially improving business results. The importance of investing in complementary assets like organizational transformation blueprints and training programs must not be underestimated.
Despite the commoditization of IT infrastructures and services, software development remains a core competency for most IT departments of modern enterprises. State of the art development techniques facilitate enterprises to implement novel products while helping them to shorten their innovation cycles. In this landscape, outsourcing activities and investments in complementary assets can play a key role in accelerating digital transformation, establishing innovative business processes, and maximizing the benefits of software development activities. IT managers and CIOs (Chief Information Officers) must prepare themselves to manage these activities while streamlining them with changes in organizational processes. It seems that IT still matters.