Did you know that one of the world’s most promising open-source products for Kubernetes management at scale is being developed at SAP Labs Bulgaria? Or that the local unit has introduced a cross-team peer code review community whose concept is adopted in Germany and Israel? Looking back to the first years of the Sofia office in the early 2000s, engineers here also created a memory analyzer tool for Java applications that today is used by millions of developers worldwide. All these innovations are happening next to the focus on constant improvements in the SAP Cloud Platform, a platform-as-a-service (PaaS) that to date has enabled over 17,000 enterprise customers to develop or extend applications in a secure cloud computing environment managed by SAP. The idea for which was also born in Bulgaria and now a big part of the local team is working on this product.
So, how is SAP Labs Bulgaria creating this impact on an international scale? What are the technologies, processes, and practices behind? These are exactly the topics we are going to explore in this article.
Pretty much since the very beginning, the team of SAP Labs Bulgaria has been active in the open-source community – in terms of contributions but also integrations of open-source solutions within SAP products.
“About 80% of SAP Cloud Platform is based on open-source. On the infrastructure level, we are working a lot with Kubernetes and with that, next to Java, Golang is becoming more and more important for us. When it comes to databases, we are using PostgreSQL, Redis, MongoDB, for a web server – Apache Tomcat. In total, I believe that we have integrated over 300 open-source tools across our projects. However, the contributions we are making to the open-source community are the more interesting part,” tells us Stoyan Vellev, Sr. Manager of Development Teams at SAP Labs Bulgaria.
Gardener is an open-source solution for fully-managed Kubernetes clusters at hyperscale that has been created in collaboration between the SAP Labs locations in Bulgaria and Germany. It can be used to automate the management of thousands of heterogeneous Kubernetes clusters across multiple clouds, for example, Google Cloud, AWS, Azure, and vSphere.
“All major cloud platforms offer Kubernetes as a Service (KaaS). However, there are many businesses that need to easily configure, install, and monitor, not 1, 2, or 10 Kubernetes instances, but hundreds or thousands of instances. Until recently, there was no open-source product that allowed you to solve this problem. So, together with our colleagues in Germany, we decided to create one. Now, about one-third of it is developed in Bulgaria and I personally believe that this is one of the most promising innovation projects of SAP worldwide,” shares Stoyan.
Other examples for innovative open-source tools built with active Bulgarian participation are OpenUI5 – a front-end JS library for the development of scalable, modern-looking web applications, and a Java Memory Analyzer that helps developers find memory leaks and reduce memory consumption.
Knowledge-sharing for the win
Another key mentality adopted at SAP Labs Bulgaria is knowledge sharing. Internally, senior teammates are regularly delivering training and everyone is ready to help others with mentoring or sharing advice on certain topics. At the same time, there are about 200 people at the company who volunteer to spend their free time working on external educational initiatives, teaching university courses, or talking to the broader dev community at meetups. SAP Labs Bulgaria is behind ‘Robotics for Bulgaria’, a program that helps teachers build robotics clubs at schools by providing equipment, tutoring, and opportunities for students to take part in robo-competitions. Another interesting project is SAP GeekyCamp – a free IT academy for high school students.
Translating this attitude towards learning and continuous improvement on a more operational level, SAP Labs Bulgaria has created the so-called tech excellence community. The mission of this group is to increase the technical level of all engineers in the company through independent peer reviews and documentation of good and bad practices.
“Each piece of code is reviewed independently by two colleagues from two different teams – it brings a more serious degree of objectivity and, in a large company like SAP, it helps with the sync up between teams – people get to know what the others are working on. We started with this initiative many years ago and over time it attracted the attention of SAP managers in Germany and Israel who got interested in having their engineers join,” explains Stoyan.
From idea to launch and beyond
One of SAP’s greatest competitive advantages today is that the multinational organization has been a market leader in the development of business applications for decades. So, the company can go to potential new customers and show them that it’s been successfully optimizing the business operations of the best players in a given industry.
In that respect, many of SAP’s new products are born through co-innovation with customers. At the earliest stages, this happens through multiple channels – from technology and business events where SAP customers give feedback on ideas to more targeted initiatives for learning what problems clients have and want to solve.
“You can’t innovate without meeting the people whose problems you’re trying to solve,” states Stoyan. Customer-centric methodologies like design thinking are also put to work at SAP, featuring workshops with clients, iterative prototyping, and tests with real users.
Once a product has been launched SAP continues to collect tons of feedback. Some classic methods include customer interviews, surveys, and software testing. Users can also share their opinions on specific product components while using the product. All this feedback collection results in huge volumes of data as SAP’s cloud solutions have hundreds of millions of users. So, it’s becoming an interesting machine learning challenge – how to analyze all this information, how to filter it, how to see things that matter, and to prioritize them later.
Once the product is invented there is a scaled agile process that’s employed for the delivery of continuous improvements. Given the scale of SAP’s products, usually it takes multiple teams from multiple locations to develop together on one product. For example, 1400 people across Bulgaria, Germany, Israel, and India are working on just the core of the SAP Cloud Platform, with another few thousand contributing to the overall product – all following the lean-agile methodology in, probably, its purest form. Bulgaria was one of the pilot countries within SAP to adopt the Agile methodologies – as early as 2006. “One of the coolest things is the extremely fast feedback loop – every iteration lasts for two weeks, so every 14 days, you see value increment and a new version of the platform is released” tells us Stoyan.
In terms of organizational structure, SAP has three levels of product owners. The Chief Product Owner is responsible for the vision and strategy of the entire product, and then every product area has its own product owner who works with several development teams, each of which has its own product owner.
At SAP Labs Bulgaria, teams are created in a cross-functional manner – pretty much all necessary roles for the development of a product are at the same place – product owner, scrum master, solution architects, developers, UI designers, QAs – all with an entrepreneurial spirit and on a mission to deliver high-quality software products.