Freitag, 25. Oktober 2019

Wir können nicht jeden Sprint Software ausliefern.

Scrum funktioniert, weil es mit jedem Sprint Feedback gibt. Die Kunden können sich die neue Produktversion ansehen. Sie zeigen, was gefällt und was ihnen fehlt. Aber was ist, wenn ich nicht jeden Sprint eine neue Version liefern kann oder der Kunde das auch gar nicht will? In diesem Beitrag verweise ich nochmal auf ein paar Klassiker für den agilen Buchklub.



Wie verändere ich Softwarecode?

Michael Feathers hat dazu das Buch "Working Effectively with Legacy Code" geschrieben./1/ Legacy Code ist für ihn Software, für die es keine Tests gibt. Hauptsächlich sucht er Techniken, mit denen er Abhängigkeiten im Code durchbrechen kann, um Stück für Stück mehr Tests zu integrieren. Da gibt es Wrapper Classes und Fake Objects usw. Mit seinen Techniken sucht man praktisch den Saum, an dem man den Code auftrennen und verändern kann.

Ola Ellnestam und Daniel Brolund bieten mit ihrer "Mikado Method" zusätzliche Hilfe zum Vorgehen./2/ Mit ihrer Methode setzt man sich Ziele, experimentiert und erstellt dazu Grafiken. Anschließend bringt man den Code zunächst in den alten Zustand zurück.

Wer die Bücher noch nicht anschaffen möchte, findet bei Youtube Vorträge.

Muss ich alle Systeme anpassen?

Selten steht ein System für sich allein. Viele sind mit anderen verbunden und stehen in einem ständigen Austausch. Wenn wir etwas verändern, so die Denkweise, müssen wir alle Systeme anpassen.

Mit solchen Problemen hat sich Jez Humble beschäftigt und dazu das Buch "Continuous Delivery" veröffentlicht./3/ Dort lernt man verschiedene Techniken, um Abhängigkeiten zwischen System zu reduzieren. In diesem Beispiel wird einem System beigebracht, mehrere Dialekte zu sprechen. So kann man alte und neue Schnittstellen gleichzeitig bedienen.

Wenn man weiß, was man tun will, gibt es viele gute Hinweise, die einem helfen, Software und Plattformen umzubauen.

Literatur:

  • /1/ Feathers, Michael: Working Effectively with Legacy Code, 1. Aufl.. New Jersey: Prentice Hall Professional, 2004
  • /2/ Ellnestam, Ola ; Brolund, Daniel: The Mikado Method. Pap/Psc. Birmingham: Manning Publications Company, 2014.
  • /3/ Humble, Jez ; Farley, David: Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. 01. Aufl.. Amsterdam: Pearson Education, 2010.

Keine Kommentare:

Kommentar veröffentlichen