Direkt zum Hauptbereich

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.

Kommentare

Beliebte Posts aus diesem Blog

Outlook-Aufgabenliste: bitte nicht die Aufgaben des ganzen Teams!

Am Tag der Arbeit kommt eine Lösung, nach der ich schon so oft gefragt wurde: Wie schaffe ich es, dass meine Outlook-Aufgabenliste nur meine eigenen Aufgaben anzeigt und nicht auch die E-Mails, die meine Kollegen gekennzeichnet haben oder Aufgaben, die einfach in einem gemeinsamen Postfach stehen?

Kategorien in Outlook - für das Team nutzen

Kennen Sie die Kategorien in Outlook? Nutzen Sie diese? Wenn ja wofür? Wenn ich diese Fragen im Seminar stelle, sehe ich oft hochgezogene Augenbrauen. Kaum jemand weiß, was man eigentlich mit diesen Kategorien machen kann und wofür sie nützlich sind. Dieser Blogartikel stellt sie Ihnen vor.

Das Ubongo Flow Game

Spiele bieten eine gute Gelegenheit, zeitliche Erfahrungen zu verdichten und gemeinsam zu lernen. Karl Scotland und Sallyann Freudenberg haben im Mai 2014 das Lego Flow Game veröffentlicht. Wir haben die Spielidee übernommen, aber das Spielmaterial gewechselt. Statt Legosteinen benutzen wir Material aus Grzegorz Rejchtmans Ubongo-Spiel. Hier präsentieren wir die Anleitung für das Ubongo Flow Game.

Beispiel für eine Partyplanung mit Scrum

Wer sich neu mit Scrum beschäftigt, ist vielleicht überwältigt von den ganzen Fachbegriffen. Dann sieht man vielleicht gar nicht, wie einfach die einzelnen Elemente von Scrum sind. Deshalb hier ein einfaches Beispiel für die Vorbereitung einer Party mit Hilfe von Scrum.

E-Mail-Vorlagen gemeinsam nutzen (Outlook)

Mittlerweile wird praktisch alle Routine-Korrespondenz in Outlook erledigt. Was liegt da näher, als ein gutes Set von Vorlagen zu erstellen und diese gemeinsam in Team zu nutzen? Leider hat Microsoft vor diesen – an sich simplen – Wunsch einige Hürden gebaut.

Tooling #5: Die gute alte Systemtheorie

Gelegentlich fragen mich Menschen nach den wichtigsten Tools und Herangehensweisen für meine Arbeit. Einige davon habe ich hier im Blog bereits vorgestellt (und zwar  hier ). Heute möchte ich über ein weiteres, vielleicht sogar DAS entscheidende Basiswerkzeug sprechen: Die gute alte Systemtheorie.

Protokolle in OneNote - neue Ideen für's neue Jahr

Protokolliert Ihr Team seine Besprechungen in OneNote? Das geht einfach, schnell ist teamfähig und hat eine exzellente Suchfunktion. Die beliebte Fragen "Wann haben wir eigentlich beschlossen, dass..." ist so schnell beantwortet. Darum wird OneNote an dieser Stelle immer beliebter. In meinen Seminaren dazu sind gute Ideen entstanden, die ich hier weitergeben will.

Scrum und Kennzahlen (KPIs, Metriken)

In regelmäßigen Abständen hören wir die Frage, welche Kennzahlen (neudeutsch KPIs) bei Scrum sinnvoll sind. Zeit für einen längeren Beitrag, auf wichtige Ressourcen zu verweisen. Der Scrum-Guide selbst gibt dazu keine erschöpfende Auskunft. Und das hat seine Gründe.

Ich bin ganz oben (mit Kanban und Outlook)

Mit einem Kommentar zu einem lesenswerten Artikel von Thomas Mauch /1/ habe ich es an die Spitze der Trefferliste bei Google geschafft. Suchen Sie mal nach „Kanban Outlook“. Kanban ist eine alte Idee, aber immer noch der Renner unter den Produktivitätswerkzeugen. (There is an English version of this post.)

OneNote Prinzipien: Zugriffsrechte und Speicherorte

OneNote ist praktisch – ohne jeden Zweifel. OneNote ist auch einfach und intuitiv zu bedienen… Ja… so am Anfang. Doch früher oder später kommen Fragen wie: - wer genau hat eigentlich wie Zugriff auf die Daten? Wie ist das mit Synchronisation zwischen Büro-PC und Smartphone oder iPad? Wie funktioniert OneNote auf dem SharePoint? Auf diese Fragen findet sich die Antwort nicht ganz so leicht. Ich versuche hier die nicht ganz so offensichtlichen Zusammenhänge deutlich zu machen und "gern genommene" Fallen zeigen.