Most of today’s companies develop software, apps and algorithms in-house in an effort to optimize their workflows or make their production, administration and marketing activities faster and more efficient. That said, employees and the organization as a whole often hit their limits when it comes to enterprise-wide adoption of proprietary software or when it comes to transparency about and access to specific applications. What are the technology solutions to solve these problems? Which legal and tax issues do we need to consider? How can enterprises make ecosystems work for them and take advantage of third-party services?
Will every company eventually become a software developer?
Obviously, all companies buy and use software from specialized software providers. There are, of course, a number of companies that saw the digital revolution coming and started to build software development expertise in house. But do I believe that every company will eventually become a software developer like Microsoft, SAP or Google? Hardly likely, though the people in charge recognize the limits of third-party software and the potential in developing their own, more targeted solutions.
In other words, it is not about becoming a full-fledged software developer, but rather about building excellence in software development.
Breaking down barriers, scaling software
Of course, it isn’t just a matter of programming high-quality apps, algorithms or automated services; above all, we need to make sure these applications find widespread adoption across the enterprise. It is important to prevent development activities from getting out of hand or solving the same problems over and over because the right hand doesn’t know what the left hand is doing. A lack of clear standards can be fatal as well. Companies cannot just let their staff “program away” in blissful ignorance, limiting themselves to only those tools and programming languages they have access to or experience with.
There are several factors at play when it comes to optimizing your development processes, and our authors discuss each of them in detail in this special edition:
- Mechanisms and processes to share software across boundaries (whether they are geographical, functional or legal boundaries)
- A special “place” that all employees are familiar with and can easily access to discover what solutions are on offer or to look for a solution to a specific problem
- Highly automated processes matching supply with demand and offering useful applications
- Robust authorization and authentication processes that meet the highest security standards and that everyone in the company actually uses
Over the past two or three years, many companies have recognized the need for change and started building the processes and platforms that will enable them to share applications as efficiently as possible. This raises a number of key questions for today’s enterprises that we will examine below.
Scaling software – Case studies from a wide range of enterprises (selection)
- Transparency: Staff can get an overview of the digital assets on offer quickly and efficiently (incl. a search engine similar to Google).
- Sharing: Development teams and end users can easily share software solutions.
- Data catalog: Providers as well as users can manage and share large data sets within the enterprise.
- Monetization: A system that facilitates purchase, sale and easy invoicing of digital assets within the organization
- Ecosystem: Members have access to each other’s proprietary software (even beyond corporate boundaries) and co-innovate on new solutions.
Public or in-house marketplace?
What are the mechanisms you need to publish apps, scripts and algorithms – in short, software – so that users in your enterprise can use them as is or further develop them? And not just standard software that you buy from major vendors and that the in-house software center rolls out enterprise-wide for either everyone on staff or specific user groups. Here, we are talking about proprietary software that is essentially developed in-house.
To make this happen, you need a central marketplace, basically an app store, but only for users within your organization. Most of the major cloud providers and software developers offer their own marketplaces these days, which allow us to publish, purchase and download add-on services for the core software products. However, these marketplaces are often unable to meet the actual needs of an organization that is only interested in providing access to software internally – after all, they are public marketplaces. When it comes to the kind of software we are talking about here, companies don’t necessarily want third parties to have access, because it might mean losing a certain competitive advantage or require developers to provide guarantees, user support or other services for third-party users. The only way a company can protect its intellectual property in this case is to keep the marketplace private.
The obvious answer is to establish an in-house marketplace, one that must of course meet the highest security standards and automate the relevant processes as much as possible. Without an internal marketplace, it wouldn’t make sense to market apps and tools, some of which are quite small, and it wouldn’t achieve the desired objective. Dr. Jan-Niklas Keltsch’s article outlines what you need to know when you set up one of these marketplaces.
Do taxes ruin everything?
The next issue (and in many cases perhaps one of the first issues you need to tackle) relates to tax policy. If companies intend to venture outside the enterprise as we described earlier, airtight tax policies are essential. This includes, for example, setting the right transfer prices and providing efficient billing workflows linked to the company’s own accounting system to make sure all commercial processes are transparent, traceable and auditable. Claudia Lauten and Dr. Till Contzen from Deloitte Tax & Legal provide a detailed overview of the central legal and tax issues in their article.
Does the cloud solve all of our problems?
Using the cloud is a fundamental element of any software strategy. Some might claim that the cloud makes it easy to sell proprietary software to anyone you want. That is only partly true, however, because it doesn’t factor in some essential processes and requirements.
To have a successful marketplace today, you obviously need to make the most of the mechanisms available on leading cloud platforms to ensure scalability and security, as explained in the article by Anna Marino, Head of Partners and Alliances for the Business Application Platform at Google Cloud. At this stage in the game, there is no need for companies to reinvent the wheel or even build the functionality they need themselves. Open standards such as Docker and Kubernetes, for example, are additional components that every marketplace needs, but there are many other functions that provide valuable complementary services and should be integrated in the overall IT architecture.
APIs: company microservices as the building blocks for software solutions
Companies face a dilemma when they develop proprietary software. Should they take a rather agnostic approach and meet only the basic needs of their internal customers, or should they develop full-scale applications? The first option has the advantage of making services that appeal to a broader user group. However, it requires a lot more investment in the development process to include as many configurations as possible. The alternative approach often delivers results a lot faster, but seriously limits the reusability of an application.
One way to solve this dilemma is to break applications down into microservices that allow different users to mix and match them according to their needs. This allows enterprises to make rather agnostic microservices available in-house in a very scalable way and use them as the basis for new, specific software solutions. For example, you could package the evaluation algorithm from a particular solution as a microservice and deploy it in a new service. Equally, you could take a certain set of data or analytics results and use them to develop a specific solution. An in-depth look at the “API economy” is the subject of an article by Sebastian Strugholtz, Prof. Dr. Roland Frank and Fabian Meise, the authors of the book entitled “Bausteine der digitalen Transformation: Wie APIs Unternehmen den Weg in die Programmable Economy ebnen” (Building Blocks for the Digital Transformation: How APIs are paving the way for companies to join the programmable economy), published by Springer Verlag.
Ecosystems with huge potential?
In the end, what companies and organizations need to ask themselves is how they can meaningfully incorporate their own and/or external ecosystems into their proprietary software development strategy. Prof. Dr. Sabina Jeschke and Olly Salzmann, CEO and Managing Director of KI Park Deutschland e.V., explore these issues from the perspective of an ecosystem.
On the one hand, the ecosystem itself can become a scaling marketplace where member companies have exclusive access to the propriety software of other members. On the other hand, ecosystems can use their considerable sway to bring corporates, academic institutions, start-ups and industry associations together, enabling them to work together on development projects and to offer even relatively minor software services to a wider circle of users.
Of course, that is only possible if you design your software to be scalable and accessible to a wide variety of users via the marketplace. Ecosystems play a key role here as well, setting the appropriate standards for members of the marketplace.
Spend some time discovering the ins and outs of this extremely relevant topic in the following articles and form your own opinion. Today, you can scale even the smallest software solution – which may have originally been developed for exclusive use within your own enterprise – and there is considerable potential in doing so.
The Author:
Peter Fach is a Partner at Deloitte Deutschland and Deloitte Continental Europe and the current Lead of Products & Assets. His teams work on all activities related to the development of proprietary software solutions across all sectors, helping enterprises make their own project processes more efficient while also offering clients full-service outsourcing.