1
 
 
Account
In your account you can view the status of your application, save incomplete applications and view current news and events
wMetadata:title
May 03, 2018

OTTO's journey to become a platform

What is this article about?

Hey, you've probably already heard. OTTO wants to open up to partners even more than before and become a platform.

Oh yes, everyone wants a platform, you think. But for OTTO, the business is not entirely new and OTTO already has more than 6.6 million customers in Germany alone and continues to grow every year.

But this blog is mostly about software development, so I recommend these links for more information about why:

https://www.otto.de/unternehmen/de/newsroom/news/2018/OTTO-erfindet-sich-neu-und-waechst-zum-achten-Mal-in-Folge.php

https://neuhandeln.de/weihnachtsgeschaeft-otto-profitiert-von-neuer-plattform-strategie/

The change of the business model naturally also requires a change of the IT landscape. We will report about this process in this and the next articles.

#NoWaterfallProject:

OTTO is divided into many areas, which in turn have diverse agile, cross-functional teams working on individual components, such as order processing. The challenge now is to develop together in the same direction. After all, OTTO has over a thousand employees in IT and related areas, and so naturally has a lot of clout when everyone is pulling in the same direction.

That is of course extremely challenging, but also very exciting.

You could perhaps work on this according to a waterfall-like project process, in which we then spend a few years specifying exactly what we want to develop. But anyone who has ever worked on such a project knows that it takes a long time to get feedback and that you end up building something that you no longer want.

That's why we take an agile approach. In many small iterations, we want to gradually develop executable software and go live.

However, so that we can still start in parallel in many teams and so that each team knows its area of responsibility, we develop an initial product design beforehand, which the teams will then gradually fill with life.

In the Scrum-Scrum process, this is the initial planning:

First and foremost, we will identify rough functions, components, and domain objects in cross-team workshops based on the customer journey and develop new ideas for the platform business model in the process. For the Order2Cash area (order processing and payment), this has actually just been largely completed. In the process, about 30 people spent a week working on these topics in workshops and subgroups. In just as short a time, we then want to work out a domain section in order to identify the software products to be developed. This will then be the basis for the agile teams to get to work on the basis of the identified specialist domains. And agile means developing executable software first and as quickly as possible.

We will see how this actually works in the coming weeks and months.

#ModernSoftwareArchitecture

Parts of OTTO's software landscape still consist of the dreaded monoliths. Large application servers in which an application runs that is developed jointly by several teams. Software has not been developed in this way at OTTO for years. Instead, we rely on distributed systems and microservice architectures. We have had a great deal of success with this, particularly in the redevelopment of our web store LHOTSE. Of course, we are now applying this experience throughout the company.

At this point, I would like to announce our technical manifesto. It describes the architecture guidelines we give ourselves. In particular, there are macro-architecture guidelines that apply to all of us, but there is also a micro-architecture that is decided by the teams. For example, the teams themselves should decide which technologies are most suitable for their technical problems. So the teams have a lot of freedom but also responsibility. To ensure loose coupling between the systems, we rely heavily on asynchronous data delivery patterns like Atom feeds or messaging systems like Kafka or Kinesis.

More on this in one of our next blog articles. Here are already a few impressions on twitter.

#Technology

OTTO has been developing all systems for the cloud for about a year now. We rely primarily on AWS. The main reason for this was the high flexibility and the fact that we can concentrate on software development and less on operating hardware. As described above, the teams have a lot of autonomy, so the operation of the software is also done in the teams. To keep this manageable, we rely on InfrastructureAsCode and deploy our infrastructure entirely with Cloudformation or Terraform.

The majority of the teams rely on Java. But there are also teams that use Scala, Clojure, Go or NodeJs, for example. As persistence technologies relational databases but also e.g. MongoDB, ElasticSearch or DynamoDB are used. This may sound like a whole zoo of technologies and some managers may think that a developer could never change the team again because he would not master the technology. However, many of my colleagues would be rather embarrassed if they didn't have the ability to learn new technologies in a short period of time.

In recent years, the topic of machine learning using neural networks has come a long way. Otto has already built up a lot of know-how in this area and, along with serverless, this will probably be the most disruptive change in the tech stack for software development in the next few years.

So much for this first insight on our way to the platform. As you can see, it will be an exciting journey.

Feel free to ask questions and stay tuned for the next articles.

1Comments

  • 04.10.2018 16:41 Clock

    […] ereignisreichen Jahr ist nun die Grundlage für die immer wachsenden Anforderungen – z.B. das Plattformprojekt – […]

Write a comment
Answer to: Reply directly to the topic

Written by

Christian Finckler
Christian Finckler
(former) Technical Architect at OTTO

Similar Articles

We want to improve out content with your feedback.

How interesting is this blogpost?

We have received your feedback.

Allow cookies?

OTTO and three partners need your consent (click on "OK") for individual data uses in order to store and/or retrieve information on your device (IP address, user ID, browser information).
Data is used for personalized ads and content, ad and content measurement, and to gain insights about target groups and product development. More information on consent can be found here at any time. You can refuse your consent at any time by clicking on the link "refuse cookies".

Data uses

OTTO works with partners who also process data retrieved from your end device (tracking data) for their own purposes (e.g. profiling) / for the purposes of third parties. Against this background, not only the collection of tracking data, but also its further processing by these providers requires consent. The tracking data will only be collected when you click on the "OK" button in the banner on otto.de. The partners are the following companies:
Google Ireland Limited, Meta Platforms Ireland Limited, LinkedIn Ireland Unlimited Company
For more information on the data processing by these partners, please see the privacy policy at otto.de/jobs. The information can also be accessed via a link in the banner.