Das Gift der Legacy Software

Jeder kennt Software die unter dem Euphemismus Legacy Software in vielen Firmen ihr Unwesen treibt. Obwohl in einer Hochsprache geschrieben, spürt man ihre Verwandtschaft mit Assembler Routinen und Shell Skripten. Generationen von missgelaunten Programmierern, Aushilfen und Praktikanten haben einen, vor Jahren noch recht ansehnlichen Entwurf, in etwas abgrundtief hässliches verwandelt. Das Problem mit dieser Software … Read more

Noch mehr Besucher

Im vorherigen Beitrag wurde das Visitor Pattern auf ein Enum angewendet, um das Enum nicht mit vielen Methoden zu überfrachten. Wie andere Klassen sollte ein Enum nicht gegen die Prinzipien des objektorientierten Designs verstoßen. Die vorgestellte Lösung funktioniert zwar sehr gut, aber was soll der Entwickler machen, wenn neue Klassen die Bühne betreten? Nachdem er also ein … Read more

Zu Besuch bei den Enums

Die Enums in Java sind eine typsichere Alternative zu den früher verwendeten Konstanten. Mit solchen Konstanten hat man die üblichen Probleme, dass man sie überall fehlerhafter Weise einsetzen oder anstelle der Konstanten andere Werte des Typs verwenden kann. Besser also der Einsatz von Enums, die als echter Typ nur die definierten Konstanten zulassen. Enums erlauben … Read more

Zauberei mit Wahrheiten

Haben Sie manchmal auch das Gefühl, dass ihre Kollegen Angst vor boolschen Ausdrücken haben? So mancher scheint die De Morganschen Gesetze wie die dunklen Zauberkünste einer Morgan le Fay zu fürchten. So bleiben dann auch Ausdrücke, wie der folgende, für Ewigkeiten im Programmcode. Häufige verweisen die Entwicklern auf den Optimierungen des Compilers, wenn sie ihre boolschen Ausdrücke … Read more

Die Impediments mit Aber

Die Theorie hinter Scrum ist recht einfach, dennoch scheinen einige Konsequenzen den Beteiligten nicht klar zu sein. Impediments sind in Scrum Störungen aller Art, die ein Team behindern. Behindert wird das Team, wenn es seine geplanten Aufgaben nicht erledigen kann. Die Impediments sind zahlreich und sehr unterschiedlich, fehlende Lizenzen, kaputte Klimaanlage, geschwätzige Kollegen. Manche Impediments … Read more

Lasst uns mal rausgehen!

Was hat ein Familienausflug mit agilen Teams zu tun? Vielleicht schauen wir einmal zwei Familien dabei zu. Die erste Familie spaziert durch den Wald, die begeisterten Kinder laufen vor und fallen zurück, aber der gesamte Tross ist stetig und  zügig unterwegs. Die Stimmung locker und alle gut gelaunt. Obwohl die Kinder auch immer wieder hinter … Read more

Brooks’ law

“Adding manpower to a late software project makes it later.”

Neue Mitarbeiter in Projekte hineinzustecken bedeutet immer zusätzliche Kommunikation und die Produktivität des Teams wird reduziert, weil es die neuen Mitarbeiter einarbeiten muss. Wenn das Team dann schon dem Zeitplan hinterherläuft, wird die Situation nur schlimmer. Außerdem ist oft das Team schon groß genug und die Entlastung durch neue Mitarbeiter geringer als der Einarbeitungsaufwand. Für ausreichend große Teams gibt es daher folgende lustige Variante dieser Regel

“Eine Frau braucht neun Monate um ein Baby zu bekommen; neun Frauen auch”

Hierarchien

Schon bemerkt, dass auf jeder Konferenz folgender Vortrag erscheint? Scrum eingeführt Enttäuschung wegen fehlender positiver Effekte Externer Berater streicht die Hierarchien Die Firma nimmt fahrt auf Verfolgt man diese Vorträge, dann ist es offensichtlich was falsch läuft. Die alten Hierarchien regieren weiter und die positiven Effekte von Scrum können nicht zum Tragen kommen. Verwunderlich ist … Read more

Tolle Tests

schaut man in die Ansammlungen von Unit Tests, die sich im Laufe der Zeit in Projekten anhäufen, stellt man häufig folgendes fest: Es ist nicht klar, was alles getestet wird. Weder der Name noch der Inhalt der Methode lassen direkt auf den Zweck schließen Die Konstruktion der Testdaten ist in andere Klassen ausgelagert Der Abgleich … Read more