CodeGym /Kurse /C# SELF /Produkte erstellen: Wie moderne IT-Produkte entstehen

Produkte erstellen: Wie moderne IT-Produkte entstehen

C# SELF
Level 8 , Lektion 6
Verfügbar

1. „Menschen werden nicht geboren, sie werden gezüchtet“

Na gut, da du noch hier bist, machen wir weiter. „Und ich zeige dir, wie tief die Kaninchenhöhle ist“ © 🐇

Lass mich dir erzählen, wie der Prozess der Produktentwicklung abläuft — wir gehen die Schritte vom höchsten globalen Level bis zum alleruntersten — dem Schreiben von Code. Ich denke, du wirst einige interessante Entdeckungen machen…

Moderne IT-Produkte werden nicht mehr geschrieben, sie werden geschaffen. Sie werden aus Bibliotheken, Frameworks, Drittanbieter-Programmen und -Produkten zusammengesetzt oder sogar durch entfernte kostenpflichtige oder kostenlose Internet-Services genutzt 🧩.

Ein modernes Produkt ist ein ganzer Zoo an Technologien, Services, Lösungen und Prozessen. Ein Teil der Arbeit wird von Menschen gemacht, ein anderer automatisiert, und die restlichen 90% werden überhaupt von Cloud-Services in Data-Centern ausgeführt ☁️. Die Welt ist nicht mehr die, die sie früher war.

Aber das Erste, worauf du achten wirst — das sind die ständigen Änderungen. Du schreibst nicht mehr Programme, du machst Änderungen daran.

2. Ständige Änderungen

Du kommst zur Arbeit und schließt dich einem Team aus 20 Leuten an, das seit 5 Jahren an einem Produkt arbeitet. Jetzt ist die 7. Version für die Nutzer verfügbar. Und deine Aufgabe wird sein, Änderungen an diesem Produkt vorzunehmen. Kleine, damit die aktuellen aktiven Nutzer nicht abgeschreckt werden.

Und das wird nicht einfach, denn das Produkt läuft schon. Es hat Kunden, und sie bezahlen 💰. Deshalb darf man nichts kaputt machen. Änderungen an einem bereits funktionierenden Produkt sind viel komplizierter als bei einem neuen. Dafür gibt es spezielle Standards, Migrationsprotokolle und Utilities. Hier fällt mir sofort ein Witz ein:

Zwei alte Freunde treffen sich: Einer ist Mechaniker, der andere Chirurg... Jeder hat sein Leben, seine Sorgen, seine Freuden... Sie erzählen sich alles, und dann geht’s um Gehälter. Der Mechaniker sagt: „Na, ich bekomme 30 Euro im Monat und bin sehr zufrieden damit, und du?“ Der Herzchirurg sagt: „Na, ich mache ungefähr 100K pro Operation...“. Der Mechaniker ist interessiert: „Komisch, warum ist der Unterschied so groß? Wir machen doch dasselbe — Ersatzteile wechseln.“ Und der Chirurg sagt: „Na, komm zum Auto, starte es...“. Der Mechaniker startet das Auto, der Chirurg öffnet die Motorhaube und sagt zum Mechaniker: „Siehst du, der Motor läuft? Tausche!“ 😂

Selbst wenn ein Wunder passiert und dein Team ein ganzes Jahr lang ein Produkt von Grund auf neu geschrieben hat und es erst danach released — weißt du, was dann passiert? Wenn dein Produkt erfolgreich wird, will der Product Owner es weiterentwickeln. Eine neue Version rausbringen, neue Funktionalitäten hinzufügen. Oder zumindest ein paar Experimente machen. Und was folgt darauf? Änderungen 🙈

3. Wert des Produkts

Aus Sicht der modernen Entwicklung hat nur der Code Wert, der bereits released ist, und die Funktion, die von den Nutzern benutzt wird. Wenn du Code geschrieben hast, er irgendwo gespeichert ist, läuft, aber nicht genutzt wird, ist sein Wert fast null. Deshalb muss der ganze Code so früh wie möglich auf production kommen 🚀

Dein Code muss folgende Phasen durchlaufen:

  • ✔️ Du hast ihn geschrieben und sichergestellt, dass er funktioniert.
  • 🔍 Dein TeamLead hat ihn geprüft und in den main branch in Git gemerged.
  • 🧪 Die Tests beim Build haben gezeigt, dass du nichts Wichtiges kaputt gemacht hast.
  • 🧩 Integrationstests haben bestätigt, dass das Produkt wie gewünscht funktioniert.
  • 🛡️ Der Tester hat den Code geprüft und das Release genehmigt.
  • 📦 Dann muss eine neue Version des Produkts gebaut und auf den Server deployed werden.
  • 🐳 Die neue Version muss in Docker Images gepackt und deployed werden.
  • 🗄️ Vielleicht müssen Migrationsskripte ausgeführt und Änderungen an Datenbanken und anderen externen Lösungen gemacht werden.
  • 📊 Danach müssen Logs auf dem Server gesammelt werden, um sicherzustellen, dass alles richtig läuft.
  • ⏪ Im Notfall, wenn etwas kaputt geht, muss das Deployment zurückgerollt werden, der vorherige Stand der Datenbank wiederhergestellt und die Aktionen der Nutzer, die während der Störung gemacht wurden, nicht verloren gehen.

In den meisten Firmen sind diese Aufgaben heute schon gelöst: Neue Prozesse sind etabliert, spezielle Leute eingestellt, Sicherheitsprotokolle und Qualitätsstandards eingeführt. Je größer das Unternehmen, desto kürzer ist die Zeit vom Code-Schreiben bis zum Release auf production und der Wertschöpfung — also der Nutzen für die Menschen.

In den meisten Firmen dauert dieser Weg zwei Wochen. Es gibt aber auch Firmen, die jede Woche oder sogar jeden Tag releasen. Die absoluten Spezialisten machen das mehrmals am Tag.

Geschriebener Code ist wertlos. Wert hat nur der Code, der auf production läuft.

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION