1
 
 
Profil
In deinem persönlichen Profilbereich kannst du den Status deiner Bewerbung einsehen, unvollständige Bewerbungen zwischenspeichern und aktuelle News und Events einsehen

Über Leitlinien, Orientierung, Ausrichtung, Unabhängigkeit und Entscheidungsfreiheit.

OTTO ist auf dem Weg zu einem technologieorientierten Unternehmen. Unsere Software ist geschäftsbezogen, nicht abstrakt. Unter Einhaltung der Anforderungen unserer Einkaufsabteilung ist es uns gelungen, eine großartige Plattform für Kunden, Partner und Lieferanten zu schaffen.

Der Ansatz des Domain-Driven Design (DDD) hilft uns, uns auf bestimmte Geschäftsbereiche zu konzentrieren. Aus einer Gesamtperspektive betrachtet, implementiert er die wichtigsten Belange und gibt uns die Möglichkeit, neue Teams auszugliedern, wenn es einen Geschäftsbereich gibt, den wir angehen müssen.

Seit einigen Jahren ist dieser Ansatz recht erfolgreich bei der Bildung von Produktteams mit einem klaren Geschäftsfokus und der Möglichkeit, eigene Entscheidungen zu treffen. Die Aufteilung unserer Plattform in unabhängige Geschäftsbereiche und die Wahlfreiheit der Teams bei den technischen Schichten führt zu einer höheren Geschwindigkeit bei der Bereitstellung. Wir haben uns jedoch gefragt, ob dieses Vorgehen auch Nachteile hat. Es bringt sicherlich ein geringeres Maß an technischer Ausrichtung mit sich und könnte zu weniger Synergien führen. Wenn Teams ohne technische Richtlinien arbeiten, kann eine nicht wartbare Umgebung die Folge sein. Die Einstellung von Entwicklern könnte sich als schwierig erweisen, wenn jedes Team völlig unterschiedliche technische Stacks verwendet. Gegenseitige Hilfe wird unmöglich, wenn es keine Parallelen zwischen den Teams gibt.

Es ist ein schmaler Grat zwischen Freiheit und Flexibilität und Steuerung und Anpassung. Wir wollten den Korridor für die besten Lösungen nicht einengen. Ein gewisses Maß an Angleichung sollte unseren Technikern helfen, eine gemeinsame Sprache zu sprechen und ähnliche (nicht gleiche) Lösungen für gemeinsame Probleme zu finden.

Inspiriert von den technischen Ausrichtungsstrategien anderer Unternehmen (u.a. Scout24, john lewis und Zalando), griffen wir die Idee auf, ein technisches Manifest zu erstellen . Es sollte wenige, aber klare Regeln enthalten . Wann immer technische Entscheidungen auf Teamebene diskutiert werden, gibt das Manifest Anleitung und Unterstützung, um zu einer Entscheidung zu gelangen. Es sollte kein Satz strenger Regeln sein, der die Freiheit der Teams einschränkt, sich für ihre eigenen Lösungen zu entscheiden. Die Anleitung ist als Unterstützung für die Entscheidungsfindung gedacht, um schneller voranzukommen und eine gemeinsame Denkweise zu entwickeln.

Die Beteiligung und der Beitrag aller unserer technischen Mitarbeiter ist der Schlüssel zum Erfolg. Wir haben uns überlegt, welche Themen und Bereiche in das Manifest aufgenommen werden sollen. Um zu einem allgemein akzeptierten Regelwerk zu gelangen, waren alle Entwickler eingeladen, einen Beitrag zu leisten und zu diskutieren, was genau in das Manifest aufgenommen werden sollte. Die Menschen neigen dazu, kollektives Eigentum an solchen Artefakten anzunehmen, vorausgesetzt, dass jede einzelne Person die Möglichkeit hatte, einen Beitrag zu leisten, und eingeladen wurde, alle Themen zu diskutieren.

Die erste Version wurde 2018 erstellt, als wir unsere Reise in die Tiefsee begannen. Seitdem haben wir eine jährliche Überprüfung eingeführt, um Änderungen einzubeziehen und alle Themen, die für das Manifest von Interesse sind, abzudecken.

Das Manifest besteht aus zwei Hauptsegmenten: Werte und Grundsätze. Die Werte beschreiben unsere Denkweise. Wir wollten darlegen, welche Themen uns wichtig sind, vor allem um Nicht-Technikern einen Überblick darüber zu geben, wie wir arbeiten wollen. Nach mehreren Diskussionen haben wir uns für diese fünf Werte entschieden :

Tech follows Business


Wir wollen unser Geschäft voranbringen, nicht nur Software entwickeln. Alle erforderlichen technischen Entscheidungen sollten in irgendeiner Weise mit den geschäftlichen Anforderungen zusammenhängen. Bei der Entwicklung von Geschäftsideen lieben wir den Ansatz eines ganzen Teams. Wir konzentrieren uns auf die Produktentwicklung und sind der Meinung, dass wir eher (Software-)Produkte als Software-Artefakte schaffen.

Schnelles Handeln, schnelles Scheitern


Wir wollen die Zykluszeiten in einem Build -> Measure -> Learning-Zyklus reduzieren. Mit einer offenen Fehlerkultur empfehlen wir nachdrücklich , Dinge in realen Umgebungen auszuprobieren, anstatt darüber zu diskutieren, was die beste Lösung sein könnte. Die Wahrung der Autonomie der Teams bei gleichzeitiger lockerer Zusammenarbeit soll es den Teams ermöglichen, Inkremente zu liefern und die Erfolgsrate eines Features regelmäßig zu überprüfen, anstatt sich an einen statischen Release-Plan zu klammern.

Niedrige technische Hürden


Bei der Entwicklung unserer Produkte werden weithin anerkannte Open-Ork-Standards verwendet. Wir mögen die Idee der Unterstützung und wollen die Barrieren niedrig halten. Wir bieten Austausch und unterstützen das Show-and-Tell-Konzept, indem wir unsere Mitarbeiter anleiten, wie sie bestimmte gemeinsame Anforderungen umsetzen können.

Abdeckung der nichtfunktionalen Aspekte


Wir wollen eine Umgebung schaffen, in der unsere Software auf unbestimmte Zeit gepflegt werden kann, ohne dass in naher Zukunft ein großes Migrations-/Transformationsprojekt ansteht. Deshalb fordern wir unsere Teams auf, nicht-funktionale Aspekte wie Skalierung und Aktualität des gewählten Tech-Stacks im Auge zu behalten.
Qualität ist eine unbestreitbare Komponente in unserer Denkweise und wir akzeptieren keine schlechte Qualität aufgrund von Druck. Die Entwicklung von Produkten wird als ganzheitliche Disziplin betrachtet und nicht nur als Code-Schreiben.

Volles Eigentum und klare Verantwortung


Getreu dem berühmten Zitat von Werner Vogel "You build it, you run it" sind sich die Teams über die Verantwortung, die sie übernehmen, im Klaren. Unsere Teams sind während des gesamten Lebenszyklus für ihre Produkte verantwortlich. Die Teams müssen selbst entscheiden, welche Prioritäten sie setzen: ob sie technische Probleme angehen, Kosten optimieren oder neue Funktionen liefern.

Neben den Werten, die bei der Beschreibung einer Denkweise mehr oder weniger übergeordnet sind, haben wir die technischen Prinzipien gesammelt, die wir in diesen drei Bereichen beobachten :

  • Architektur
  • Betriebliche
  • Technologie und Praktiken

Aufgepasst! Passt unsere Arbeitsweise zu deiner Vorstellung von der Entwicklung genialer Softwareprodukte? Entdecke spannende neue Herausforderungen in unserer Stellensuche.

Das vollständige Manifest ist hier veröffentlicht, ich werde jetzt nur einige der Grundsätze herausgreifen, die das zugrunde liegende Konzept am besten beschreiben. Diese Grundsätze bieten Tech-Teams Ratschläge für alltägliche Entscheidungen. Wenn Teams mit einem Thema kämpfen, können diese Prinzipien hilfreich sein, um zu einem Ergebnis zu kommen.

Nicht-blockierende Kommunikation


Technische Autonomie ist etwas, das unsere Systeme ausfallsicher macht und die Zeit bis zur Wiederherstellung verkürzt. Lose Verbindungen in der blockierungsfreien Kommunikation führen dazu, dass wir Systeme implementieren, die robuster sind. Wir nehmen negative Aspekte in Kauf, wie die Speicherung redundanter Daten oder das inhärente Risiko, einem Partner, Kunden oder Mitarbeiter veraltete Daten zu zeigen. Wir implementieren eine ereignisgesteuerte Architektur und schaffen stattdessen eine REST-Kommunikation zwischen den Systemen.

Kleine und einfache Microservices


Der Unix-Ansatz, eine Sache pro Dienst zu tun, aber diese Sache wirklich gut zu machen, ist etwas, das wir in unserer technischen DNA verankern wollen. Ein Microservice implementiert eine Geschäftsfunktion, keine technische Lösung. Ein Microservice als solcher kann aus mehreren technischen Diensten bestehen (z. B. Anti-Korruptionsschichten, API-Schichten, UI-Schichten) - wobei alle Dienste als gemeinsame geschäftsbezogene Microservices fungieren. Wir vermeiden es, Dienste zu haben, die mehr als nur eine einzige Geschäftsdomäne behandeln.

Cloud-nativ


Durch die Nutzung von Cloud-Anbietern wie AWS oder GCP haben wir die Möglichkeit, unseren operativen (Betriebs-)Aufwand zu minimieren. Auf dieser Grundlage haben wir eine Prioritätenliste erstellt, die sich mit der Auswahl und Integration von Basisdiensten wie Warteschlangen, Datenbanken oder Laufzeitumgebungen befasst, und zwar in der folgenden Reihenfolge:

  1. Wir bevorzugen Cloud-Dienste, die vom primären Cloud-Anbieter im Team bereitgestellt werden.
  2. Wenn nichts verfügbar ist, nutzen wir Angebote eines Drittanbieters als Software-as-a-Service Service
  3. Nur wenn es nichts gibt, was unseren Anforderungen entspricht, bauen oder betreiben wir einen eigenen Dienst innerhalb unseres Cloud-Kontos in folgender Priorität

    a. Selbsthosten einer aktiven Open-Source-Lösung
    b. Selbsthosten einer kostenpflichtigen Lösung eines Drittanbieters
    c. Selbstimplementierung und Hosting einer Lösung

Entscheidungen in der Öffentlichkeit treffen


Teamübergreifende Entscheidungen sind oft schwer zu treffen. Wir halten es für hilfreicher, teamübergreifende Belange in einer offenen Diskussion zu klären und die Ergebnisse für alle Betroffenen klar und transparent zu dokumentieren. Schriftlich festgehaltene Ergebnisse verdeutlichen die Konsequenzen, anstatt "ungeschriebene" Gesetze zu haben, die jedes Team nach seiner eigenen Interpretation befolgt.

Sinnvolle Vorgaben


Standardeinstellungen sollten einen Überblick über weit verbreitete Technologien geben. Sie sind hilfreich, weil die Teams sehen können, welche Technologie verwendet wird, anstatt selbst nachzuforschen. Sie können unzählige Arbeitsstunden in das Ausprobieren verschiedener Lösungen investieren, und für jedes technische Problem gibt es oft zahlreiche vielversprechende Lösungen. Wir führen einen Technik-Radar, um Transparenz zu schaffen und die Möglichkeit zu bieten, sich einen Überblick zu verschaffen und herauszufinden, welches Team bei bestimmten Problemen zu kontaktieren ist. Änderungen werden vierteljährlich eingearbeitet, um die Liste der Vorgaben auf dem neuesten Stand zu halten.

Ich persönlich habe die Zeit und die Arbeit, die in die Erörterung des Manifests gesteckt wurde, genossen. Es zeigt auf, was aus technischer Sicht wichtig ist , und schafft Transparenz für unsere Geschäftsleute und das Management, indem es die Konzepte auflistet, auf denen wir unsere Arbeit aufbauen wollen. Ich freue mich besonders über die Tatsache, dass alle Ingenieure unserer technischen Gemeinschaft eingeladen sind, einen Beitrag zu leisten. Dieser Ansatz gibt mir das Vertrauen, dass die aufgestellten Regeln sowohl von den Betroffenen akzeptiert werden als auch in der täglichen Arbeit für unsere Teams sinnvoll und nützlich sind.

Wenn diese Themen für dich interessant klingen, würden wir dich gerne in unserem Team begrüßen.

0Noch keine Kommentare

Dein Kommentar
Antwort auf:  Direkt auf das Thema antworten

Geschrieben von

Marco Hutzsch
Marco Hutzsch
(ehemaliger) Software Engineer at OTTO

Ähnliche Beiträge

We want to improve out content with your feedback.

How interesting is this blogpost?

We have received your feedback.

Cookies erlauben?

OTTO und drei Partner brauchen deine Einwilligung (Klick auf "OK") bei einzelnen Datennutzungen, um Informationen auf einem Gerät zu speichern und/oder abzurufen (IP-Adresse, Nutzer-ID, Browser-Informationen).
Die Datennutzung erfolgt für personalisierte Anzeigen und Inhalte, Anzeigen- und Inhaltsmessungen sowie um Erkenntnisse über Zielgruppen und Produktentwicklungen zu gewinnen. Mehr Infos zur Einwilligung gibt’s jederzeit hier. Mit Klick auf den Link "Cookies ablehnen" kannst du deine Einwilligung jederzeit ablehnen.

Datennutzungen

OTTO arbeitet mit Partnern zusammen, die von deinem Endgerät abgerufene Daten (Trackingdaten) auch zu eigenen Zwecken (z.B. Profilbildungen) / zu Zwecken Dritter verarbeiten. Vor diesem Hintergrund erfordert nicht nur die Erhebung der Trackingdaten, sondern auch deren Weiterverarbeitung durch diese Anbieter einer Einwilligung. Die Trackingdaten werden erst dann erhoben, wenn du auf den in dem Banner auf otto.de wiedergebenden Button „OK” klickst. Bei den Partnern handelt es sich um die folgenden Unternehmen:
Google Ireland Limited, Meta Platforms Ireland Limited, LinkedIn Ireland Unlimited Company
Weitere Informationen zu den Datenverarbeitungen durch diese Partner findest du in der Datenschutzerklärung auf otto.de/jobs. Die Informationen sind außerdem über einen Link in dem Banner abrufbar.
Du kannst deine Einwilligung auch jederzeit grundlos mit Wirkung für die Zukunft widerrufen, indem du auf den Button "Cookie-Einstellungen" im Footer der Website und "Cookies ablehnen" klickst.