With every new technology innovation, software functionality, and application enhancement, software developers have the power to shape the future. But to keep serving as transformative change agents, they too must evolve with a mindset that readily embraces the right tools and processes to continuously improve the cloud application lifecycle.
One of the most rewarding aspects of my job is watching people of various skills and experiences work together to positively change the world. SAP software developers bring a level of brilliance, ingenuity, and empathy when creating and delivering the innovations, pace of change, and outcomes that our customers desire.
There is no limit in sight to what our software development teams can produce. However, that fact does not mean that they should not evolve. Businesses now operate in an environment that is quickly shifting away from traditional on-premise software toward more modern cloud-based solutions. And as SAP customers adopt a cloud mindset from their digital transformations, developers should too.
This realization recently came to life with a breakthrough approach to development. When SAP customers began strategically migrating their on-premise infrastructures to the cloud, we knew the time was rapidly coming when a cloud-based application lifecycle management (ALM) solution would be needed. Delivering this offering – now called SAP Cloud ALM – helped optimize customers’ relationships with its existing and new SAP solutions and its chosen cloud providers and support partners.
Evolving Software Development for True Cloud Transformation
Developing SAP Cloud ALM was vastly different from our typical on-premise projects.
Traditionally, we implement a solution over months and then make it available for download to customers. But even while our customers are using the solution in a productive environment, the technology is updated and re-released as a new version when a critical mass of improvements are made – potentially impacting tens of thousands of installations across our customers’ and partners’ data centers or cloud environments running on SAP HANA Enterprise Cloud.
With the cloud, SAP can now stop moving applications to various data centers and offer a holistic service that enables customers to realize the speed, agility, standardization, and consolidated intelligence that the cloud promises.
Our global team of developers had to shift its design and delivery paradigm as quickly as possible to be successful. This meant transforming themselves with the right tools and processes for delivering impactful, cloud-based innovations with a flexible mindset.
Based on the advice and best practices of development executives from innovation leaders such as Netflix and Facebook, we underwent four fundamental cultural shifts.
Transform from On Premise to Cloud
Standard delivery of on-premise software is focused on the general availability of new software, completely updated versions, and service packs. Whether these offerings are released annually or biannually, these deliverables feature a bundle of functionalities designed, coded, tested, and quality assured by a team of 200 people. This model may have been profitable, but bug fixes, broken integrations, and requested modifications are inevitable.
The cloud environment requires a much more purposeful and swift development process. Now, the goal is the daily delivery of new capabilities and updates. SAP runs smaller, more frequent iterations with a defined road map and a portfolio of relevant innovation practices, analytics tools, and process automation – from DevOps to testing and delivery.
Evolve Hierarchies to Networks
In most software development teams, the organizational chart features more than 15 roles and various siloed teams focused on a specific offering, solution capability, or user experience element. Most projects require everyone in the group to be involved – each one with well-defined responsibilities and approval authority.
By flattening the hierarchical structure, we release developers from the pressure of answering to various people with different opinions and experiences. They are now empowered to do what they do best – engineering. In addition to creating software, developers are taking care of the end-to-end process, including testing, quality assurance, and production.
Accelerate from Static to Dynamic
To help ensure the team stays on track and delivers valuable outcomes for customers consistently, we conduct spot checks throughout the development process. The inclusion of automation into the daily delivery model allows developers to collaboratively structure features by working on small pieces synchronously and integrating their deliverable continuously until all requirements are fulfilled. Ultimately, developers have clear ownership of the feature or version they produce, which is increasing the overall quality and speed of the development process.
Delivering small changes avoids big bang releases and, therefore, improves availability. For example, massive simplification of code lines is now possible due to this single-trunk approach. Going from 20 code lines to just one is a significant time-saver. Fixes can also be done in 60 minutes, including testing and rolling them out to all customers.
From Yearly Planning to Continuous Innovation
Daily delivery of new software functionalities and upgrades removes the risk of difficult-to-resolve surprises that often happen with on-premise software. SAP customers’ users can submit a note immediately through the software, detailing where a feature may not work as well, a dashboard could be improved, or an interface could be more seamless. SAP’s development team receives this information in real time, assesses the request, and assigns the appropriate developer to resolve it.
This design-thinking mindset gives SAP space to listen to customers carefully, understand their needs thoroughly, and deliver on expectations quickly. This methodology prevents the investment of time, money, and resources on features or upgrades that are not used or relevant to customers. By optimizing the balance between nice-to-have capabilities with those that customers must have, SAP can optimize the value and agility of its cloud solutions.
By offering a minimally viable feature first, customers have a say in how the solution behaves and appears. Then, SAP iterates development in a steady cadence of small increments until customers’ requirements and desires are fully addressed. This approach gives them the freedom to try out new features or upgrade and provide feedback for further refinement and adaptation to the solution based on their needs.
Elevating the Purpose of Development
Let’s face it: software providers cannot afford to stick with traditional, on-premise development. Old approaches may be familiar and comfortable, but they do not work in an era where cloud-centric innovations and updates are expected to be delivered continuously, consistently, and quickly. No customer can afford surprises – such as release delays and quality issues – and wait for the next release, months later, to have them resolved.
So much has changed for SAP’s development team over the last year. The initial motivation may have been a native-cloud project, but everything from the way SAP looks at its projects to the company’s delivery approach has been forever improved. In fact, the term “developer” does not fully describe what SAP’s talented team members do. They are engineers creating a better future for every business and person.
Andreas Heckmann is the executive vice president and head of Customer Solution Support and Innovation, SAP Product Engineering for SAP SE.