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 … Weiterlesen

Conway’s law

Any piece of software reflects the organizational structure that produced it.

Conway’s law

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 … Weiterlesen

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 … Weiterlesen

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 … Weiterlesen

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 … Weiterlesen

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 … Weiterlesen

Nur noch assertThat in Unit Tests

“Ein entschlossener Mensch wird mit einem Schraubenschlüssel mehr anzufangen wissen als ein unentschlossener mit einem Werkzeugladen.“ Emil Oesch Mit JUnit 4.4 wurde die Hamcrest Bibliothek über die unscheinbare Methode assertThat Bestandteil des Test Frameworks. Obwohl schon einige Zeit vergangen ist, haben viele Entwickler das Potential dieser Ergänzung noch nicht entdeckt. Bislang werden in den Unit … Weiterlesen

Cargo Cult Programming

Manche Entwickler halten Copy&Paste für das schlimmste Anti-Pattern in der Software Entwicklung. Leider muss man ihnen sagen, dass es noch schlimmer geht. Cargo Cult Programming ist die Verwendung von Pattern ohne sie zu verstehen. Dabei kopieren die Entwickler bestehenden Programmcode in der oft irrigen Annahme, dieser Programmcode wäre notwendig. Der folgende Programmcode entstammt einer tatsächlichen existierenden … Weiterlesen