In the best case, it is carried out by an external technology partner. What makes this approach innovative is that the company benefits from the expertise of its partner, a quicker implementation and the lessons learned in DevOps that can be applied to other projects. Internal resistance can be overcome more easily using this positive experience and initial successful best practices. A “system of engagement” is not only about developing a mobile app for existing business processes. Completely new interactions with customers, partners and employees are involved. The combination of smart terminals, mobile applications, modern data analysis, data-based adaptation and end users connected to multiple networks prepares the ground for new business models and therefore for innovation. Yet CIOs are often completely absorbed by their daily routine and they lack the time and resources to stay up to speed with the latest technology stack.
This is especially true in the fast-moving mobile and online world. In any case, application development is often not the core expertise of an IT department. Too many different skills and competencies only rarely used in reality would need to be held in readiness to be efficient for business. This does not apply to a technology consultant who has specialised in application development. Through scaling and a clever combination of on-site and near or offshore resources, he can mobilise a group of experts and therefore take full responsibility for a new application from its development right through to its operation. The DevOps concept offers completely new options by creating an ideal mix of teams, tools and infrastructure for continuous delivery. The word, which is a combination of Development (Dev) and Operations (Ops), describes the continuous development of an agile process which emphasises direct interaction and greater responsibility taken by the team. Experience and skills from development, quality assurance and operations are combined. Continuous automation on an infrastructure level enables fast progress in releasing a functioning piece of software, which saves time and enhances quality. Development, integration, test and production environments are set up in the exact same way and can also be quickly reconfigured. This makes the fundamental difference between “systems of engagement” and “systems of record”. The latter are laid out mainly according to stability and longevity. Depending on the industry, they are regulated to various extents and appear rather as a closed system. In contrast, “systems of engagement” only fulfil their purpose if they are highly flexible, adaptable, interactive and experimental. The key word here is experiment – within this method of developing applications, decisions about enhancement and optimisation are not based on assumptions or opinions, but are as far as possible data- and user-based. The latest analytics tools allow measurable and therefore wellfounded statements to be made, e.g., in A/B testing in which a software version is tested against its slightly modified variants.
“You can only use the DevOps model correctly if you know how PaaS environments, UX/ usability, hypothesis-driven development and continuous delivery interact. Otherwise, it’s better to leave it to the specialists.”
Yet the key requirement is not only formed by the flexibility and availability of technologies and infrastructures; it also requires knowledge of the necessary methods, the approaches and lessons learned in project and process management. From the developer’s (Dev) perspective, it is the expertise regarding the huge opportunities provided by “hypothesis-driven development”: Closed user groups and continuous testing are no longer formed on a monthly basis, but if necessary weekly or even daily, which can lead to more usability, higher conversion rates, better performance or acceptance – and in general, more customer satisfaction and therefore commercial success. From an operational perspective, elements such as cloud and platform as a service models with their corresponding tech stacks, their scalability and their on-demand consumption need to be controlled. To this extent, a technology partner creates the maximum added value for the customer by DevOps in full outsourcing – along the lines of “DevOps as a Service”. This also includes providing a pool of trusted partners for the infrastructure and cloud environments, from which he selects the one who best fits the specific customer need. The customer can then continue to focus on its core business whilst receiving cuttingedge front-end solutions for interacting with its customers towards the highest business benefit. As a general contractor, the partner takes on responsibility for technical implementation and operation with the support of trusted technology providers.
Example 1: TAKING ON FULL RESPONSIBILITY AS A GENERAL CONTRACTOR
A company from the financial sector runs a web-based application which was initially used for internal purposes. This tool now needs to be expanded and updated with additional use cases. The app is, however, subject to technological restrictions and can no longer be developed in-house in the “systems of record”. For this reason, we are engaged as an external consultant, since we are known for our expertise and shoring skills from earlier projects. A technology concept is developed and the available tools are highlighted. The customer has only provided information on the features which the new platform must include, and has expressed its preferences regarding the technology chain. Essentially, the platform must be interoperable with the existing system, and it must remain controllable and fit into the technology matrix of the customer (FIG. 8). We act as a single point of contact to the customer. The infrastructure and PaaS services are provided and the 24/7 monitoring undertaken.
Example 2: CONTROLLING THE PROCESS BEHIND DEVOPS
A startup can host its PaaS environment. For the market entry, it constantly needs new features. It experiments to continuously modify and improve its web-based application. To be able to concentrate on its launch, it looks for a partner who knows the methods and technologies to enable new developments to go “live” quicker. The company is familiar with agile development and has already launched new versions, yet this process turned out to be plagued by errors. The existing process needs to be optimised and its susceptibility to errors reduced. By outsourcing, the customer secures method expertise and DevOps expertise from a technical perspective. An analysis is then performed to determine which requirements must be met for automated deployment at the provider and suitable concept is then developed. This then undergoes a UAT (User Acceptance Test). The tested version should be integrated unmodified into the production environment. Errors can be minimised by process automation and by avoiding manual intervention. In case of emergency, the version can work just as reliably as in the test. (FIG. 10)