CodeGym /Kurse /JAVA 25 SELF /Produktentwicklung: wie moderne IT-Produkte entstehen

Produktentwicklung: wie moderne IT-Produkte entstehen

JAVA 25 SELF
Level 8 , Lektion 6
Verfügbar

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

Nun denn, wenn Sie noch hier sind, machen wir weiter. „Und ich werde Ihnen zeigen, wie tief der Kaninchenbau reicht“ © 🐇

Lassen Sie mich Ihnen erklären, wie der Prozess der Produktentwicklung abläuft – wir gehen die Schritte vom obersten, globalen Level bis zum untersten – dem Schreiben von Code – durch. Ich denke, es erwarten Sie ein paar interessante Erkenntnisse …

Moderne IT-Produkte werden nicht mehr einfach „geschrieben“, sie werden gebaut. Man setzt sie aus Bibliotheken, Frameworks, Fremdprogrammen und -produkten zusammen oder nutzt gleich externe, kostenpflichtige oder kostenlose Internetdienste 🧩.

Ein modernes Produkt ist ein ganzer Zoo aus Technologien, Services, Lösungen und Prozessen. Ein Teil der Arbeit wird von Menschen erledigt, ein Teil ist automatisiert, und die übrigen 90 % werden ohnehin von Cloud-Services in Rechenzentren erledigt ☁️. Die Welt ist nicht mehr wie früher.

Aber das Erste, was Ihnen auffällt, sind die ständigen Veränderungen. Sie schreiben keine Programme mehr, Sie nehmen Änderungen daran vor.

2. Ständige Veränderungen

Sie kommen zur Arbeit und stoßen zu einem 20-köpfigen Team, das seit 5 Jahren an dem Produkt arbeitet. Den Nutzern steht aktuell die 7. Version zur Verfügung. Ihre Aufgabe wird es sein, an diesem Produkt Änderungen vorzunehmen. Kleine – um die aktuellen aktiven Nutzer nicht zu verschrecken.

Und das wird nicht einfach sein, denn das Produkt läuft bereits. Es hat Kunden, und sie zahlen Geld 💰. Also darf nichts kaputtgehen. Änderungen an einem bereits laufenden Produkt einzubringen ist um ein Vielfaches schwieriger als bei einem neuen. Dafür gibt es spezielle Standards, Migrationsprotokolle und Tools. Da fällt mir ein Witz ein:

Zwei alte Freunde treffen sich: der eine wurde Mechaniker, der andere – Chirurg … Jeder hat sein eigenes Leben, Sorgen, Freuden … Sie erzählen sich alles, und schließlich kommt das Gespräch auf die Gehälter. Der Automechaniker sagt: „Nun, ich bekomme 30 k im Monat und bin sehr zufrieden damit, und du, wie viel?“ Der Herzchirurg sagt: „Nun, ich bekomme ungefähr 100 k pro Operation …“. Da wird der Automechaniker neugierig: „Komisch, warum ist der Unterschied so groß? Wir machen doch eigentlich dasselbe – Ersatzteile wechseln.“ Darauf der Chirurg: „Na gut, gehen wir zum Auto, starte …“. Der Mechaniker startet den Wagen, der Chirurg öffnet die Motorhaube und sagt zum Mechaniker: „Siehst du, der Motor läuft? Wechsel ihn aus!“ 😂

Selbst wenn ein Wunder geschieht und Ihr Team ein ganzes Jahr lang ein Produkt von Grund auf neu entwickelt und es erst danach gereleast hat – wissen Sie, was als Nächstes passiert? Wenn Ihr Produkt erfolgreich wird, will der Product Owner es weiterentwickeln. Eine neue Version herausbringen, irgendeine Funktionalität hinzufügen. Oder zumindest ein paar Experimente durchführen. Und wissen Sie, was darauf folgt? Veränderungen 🙈

3. Produktwert

Aus Sicht moderner Entwicklung hat nur der Code Wert, der bereits releast ist, und die Features, die von Nutzern verwendet werden. Wenn Sie Code geschrieben haben, er irgendwo liegt und sogar läuft, ihn aber niemand nutzt, ist sein Wert nahezu null. Daher sollte der gesamte Code so früh wie möglich in die Produktivumgebung gelangen 🚀

Ihr Code muss diese Stationen durchlaufen:

  • ✔️ Sie haben ihn geschrieben und sich vergewissert, dass er funktioniert.
  • 🔍 Ihr Teamlead hat ihn reviewt und in den Haupt-Branch in Git aufgenommen.
  • 🧪 Build-Tests haben gezeigt, dass Sie nichts Wichtiges kaputt gemacht haben.
  • 🧩 Integrationstests haben gezeigt, dass das Produkt wie gewünscht funktioniert.
  • 🛡️ Ein Tester hat diesen Code geprüft und ihn für den Release freigegeben.
  • 📦 Dann muss eine neue Version des Produkts gebaut und auf dem Server gereleast werden.
  • 🐳 Die neue Version des Produkts muss in Docker-Images verpackt und gereleast werden.
  • 🗄️ Gegebenenfalls müssen Migrationsskripte ausgeführt und Änderungen an der Datenbank und/oder anderen Drittlösungen vorgenommen werden.
  • 📊 Dann müssen die Logs auf dem Server gesammelt werden, um sicherzustellen, dass alles wie erwartet funktioniert.
  • ⏪ Im Störfall – falls Sie etwas kaputt gemacht haben – muss der Build zurückgerollt werden, der frühere Zustand der Datenbank wiederhergestellt werden, und die Aktionen der Nutzer, die während der instabilen Version stattfanden, dürfen nicht verloren gehen.

In den meisten Unternehmen sind diese Aufgaben heute gelöst: Es wurden neue Prozesse etabliert, spezielle Leute eingestellt sowie Sicherheitsprotokolle und Qualitätsstandards eingeführt. Je größer das Unternehmen ist, desto weniger Zeit vergeht vom Schreiben des Codes bis zu dem Moment, in dem er in die Produktivumgebung gelangt und zu Wert wird – also beginnt, den Menschen Nutzen zu bringen.

In den meisten Unternehmen legt der Code diesen Weg in zwei Wochen zurück. Es gibt jedoch Unternehmen, die wöchentlich oder sogar täglich releasen. Besondere Unikate – mehrmals am Tag.

Geschriebener Code ist nichts wert. Wert stiftet nur Code, der in der Produktivumgebung läuft.

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