CodeGym /Java Kurs /Python SELF DE /Produktentwicklung

Produktentwicklung

Python SELF DE
Level 64 , Lektion 0
Verfügbar

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

Na gut, da ihr immer noch hier seid, machen wir mal weiter. „Und ich werde euch zeigen, wie tief das Kaninchenloch ist“ ©

Lass mich dir erzählen, wie der Prozess der Produktentwicklung abläuft – wir gehen die Schritte vom obersten globalen Level bis ganz nach unten zum Code-Schreiben durch. Ich denke, es erwarten dich ein paar interessante Entdeckungen…

Moderne IT-Produkte werden nicht mehr geschrieben, sie werden erschaffen. Sie werden aus Bibliotheken, Frameworks, Drittanbieter-Programmen und -Produkten zusammengesetzt oder man verwendet gleich entfernte kostenpflichtige oder kostenlose Internetdienste.

Ein modernes Produkt ist ein regelrechter Zoo aus Technologien, Diensten, Lösungen und Prozessen. Ein Teil der Arbeit wird von Menschen erledigt, ein Teil ist automatisiert und die restlichen 90 % werden von Cloud-Diensten in Rechenzentren ausgeführt. Die Welt ist nicht mehr, was sie früher war.

Aber das erste, worauf du achten wirst, sind die ständigen Veränderungen. Du schreibst keine Programme mehr, du bringst Veränderungen in sie ein.

1.2 Ständige Veränderungen

Du kommst zur Arbeit und schließt dich einem Team von 20 Leuten an, das schon seit 5 Jahren an einem Produkt arbeitet. Derzeit ist die 7. Version für Nutzer zugänglich. Und deine Aufgabe wird es sein, an diesem Produkt Veränderungen vorzunehmen. Kleine, um die aktuellen aktiven Nutzer nicht abzuschrecken.

Und das wird nicht einfach sein, denn das Produkt läuft bereits. Es hat Kunden, die dafür zahlen. Deshalb darf nichts kaputtgehen. Veränderungen an einem bereits laufenden Produkt vorzunehmen ist um ein Vielfaches schwieriger als an einem neuen. Dafür gibt es spezielle Standards, Migrationsprotokolle und Tools. Da fällt einem sofort ein Witz ein:

Zwei alte Freunde treffen sich: einer ist Mechaniker geworden, der andere Chirurg... Jeder hat sein eigenes Leben, Sorgen, Freuden... Sie erzählen sich alles, und dann kommt das Gespräch auf die Gehälter. Der Automechaniker sagt: "Nun, ich bekomme 30 im Monat und bin sehr zufrieden damit, und du, wie viel?". Der Herzchirurg sagt: "Nun, ich bekomme ungefähr 100 K pro Operation...". Da interessiert sich der Mechaniker: "Komisch, warum so ein großer Unterschied? Wir machen doch scheinbar das Gleiche - Teile wechseln". Und der Chirurg sagt zu ihm: "Nun, lass uns zum Auto gehen, starte es...". Der Mechaniker startet das Auto, der Chirurg öffnet die Motorhaube und sagt zum Mechaniker: "Siehst du, der Motor läuft? Wechsle ihn! :)"

Selbst wenn ein Wunder geschieht und dein Team ein ganzes Jahr lang ein Produkt von Grund auf neu schreibt und es erst dann released, weißt du, was als Nächstes passiert?

Wenn dein Produkt erfolgreich wird, wird der Product Owner es weiterentwickeln wollen. Eine neue Version herausbringen, eine Funktionalität hinzufügen. Oder zumindest ein paar Experimente durchführen. Und weißt du, was darauf folgt? Veränderungen.

1.3 Der Wert des Produkts

Aus der Sicht der modernen Entwicklung hat nur derjenige Code Wert, der bereits released ist, und nur jene Features, die von den Nutzern verwendet werden. Wenn du Code geschrieben hast, er irgendwo gespeichert ist, funktioniert, aber nicht benutzt wird, dann liegt sein Wert nahe Null. Deshalb sollte der gesamte Code so schnell wie möglich in die Produktion gehen.

Dein Code sollte folgende Phasen durchlaufen:

  • Du hast ihn geschrieben und sichergestellt, dass er funktioniert.
  • Dein TeamLead hat ihn reviewed und in den Main Branch in Git integriert.
  • Tests während des Builds haben gezeigt, dass du nichts Wichtiges kaputt gemacht hast.
  • Integrationstests haben gezeigt, dass das Produkt wie gewünscht funktioniert.
  • Ein Tester hat diesen Code überprüft und das Go für den Release gegeben.
  • Dann muss die neue Version des Produkts gebaut und auf dem Server released werden.
  • Die neue Version des Produkts muss in Docker Images verpackt und released werden.
  • Möglicherweise müssen Migrationsskripte gestartet und Änderungen in der Datenbank und/oder anderen externen Lösungen vorgenommen werden.
  • Dann müssen Logs auf dem Server gesammelt werden, um sicherzustellen, dass alles wie gewünscht funktioniert.
  • Im Falle eines Notfalls, wenn du etwas kaputt gemacht hast, musst du das Build zurücksetzen, den vorherigen Stand der Datenbank wiederherstellen und die Aktionen nicht verlieren, die die Nutzer während der Arbeit mit der instabilen Version des Produkts durchgeführt haben.

In den meisten Unternehmen sind diese Aufgaben jetzt gelöst: Neue Prozesse wurden etabliert, spezielle Personen eingestellt, spezielle Sicherheitsprotokolle und Qualitätsstandards eingeführt.

Je größer das Unternehmen, desto weniger Zeit vergeht vom Schreiben des Codes bis zu dem Moment, in dem er in die Produktion geht und zum Wert wird – beginnt, den Menschen Nutzen zu bringen.

In den meisten Unternehmen durchläuft der Code diesen Weg in zwei Wochen. Es gibt jedoch Unternehmen, die jede Woche oder sogar jeden Tag Releases machen. Besondere Unikate – mehrmals täglich.

Geschriebener Code ist nichts wert. Wert bringt nur Code, der in der Produktion läuft.

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