Unit Tests, die Maurerschnur der Software Entwickler

Das Zitat “die Unit Tests schreibe ich
immer zum Schluss” hat vermutlich schon jeder Entwickler von einem Kollegen hören müssen. Üblicherweise, wenn man bei einem schwerwiegenden Problem während der Implementierung helfen möchte. Ein kurzer Blick auf die Testergebnisse hilft dann enorm. Häufig zeigen die fehlgeschlagenen Unit Test direkt auf das Problem. Fehlen die Unit Tests, dann müssen sich die Entwickler solange durch GIT Historie und Debugger quälen, bis der eingeschleppte Fehler gefunden ist.

Kanban – alles fließt!

Viele Konzepte sind so einfach, dass man kaum Ideen findet um einen neuen Blickwinkel aufzuzeigen. Leider gibt es aber auch kein Konzept, das zu einfach für eine fehlerhafte Nutzung wäre.
Kanban ist eine beliebte Methode in der IT, weil ihre Einführung trivial ist und ein Nutzen schnell erkennbar wird.

Fehlerbehandlung aus der Hölle

Die Fehlerbehandlung in der Programmiersprache Java folgt einigen einfachen aber mächtigen Mustern. Dennoch zeigt sich immer wieder die Tendenz, auf erschreckende Weise davon abzuweichen.

Muda – die Mudda aller Missstände

In manchen Diskussionen versteigt sich der Software Entwickler ins Japanische und spricht von Kaizen, Mura und Muri, Seiri und Seiton. Diese Begriffe stammen alle aus dem Bereich des Lean-Managements, mit dem die japanischen Hersteller die Produktionsverfahren revolutioniert haben.

The Simplest Thing That Could Possibly Work

Die Anforderungen für einen Entwickler Team muss man sich als einen Baum vorstellen, bei dem zu Beginn nur der Stamm zu sehen ist. Der Rest des Baumes ist in Nebel gehüllt. Das dort oben eine Baumkrone vorhanden sein muss, ist dem Entwickler klar, und einige Äste sind im Nebel verschwommen zu erkennen.

Immutables

Pyramide

In der objektorientierten Softwareentwicklung können Objekte in zwei unterschiedliche Kategorien eingruppiert werden. Entweder sie sind nicht veränderbar (immutable) oder veränderbar (mutable).
Diese Unterscheidung hat nicht nur eine philosophische Größe, sie zeigt auch Konsequenzen in der tagtäglichen Programmierung. Der Großteil der Klassen, mit dem der Entwickler in Berührung kommt sind Mutables.

Das Geisterfahrer-Problem

“To be or not to be, that is the question” sprach Hamlet und legt damit allen Entwicklern die entscheidende Frage in den Mund “Ist das eine gute Idee oder mache ich hier Blödsinn?”. Die Frage ist leider oft nicht so einfach zu beantworten, es gibt zu viele Grautöne zwischen dem Schwarz und Weiß.

Eleganz

Für viele Entwickler und Manager ist das Thema Eleganz und Schönheit in der Software Entwicklung ein untergeordnetes Thema, falls sie sich überhaupt schon einmal Gedanken dazu gemacht haben. Häufig steht man diesen Begriffen mit einem gewissen Misstrauen gegenüber. Nicht umsonst gibt es den fatalen Aufruf “Schöner machen könnt Ihr später!”, dem in der Regel keinerlei Nacharbeiten folgen.

Immer Ärger mit Hierarchien

“Es dürfte Ihnen schwer fallen zu erklären, warum Sie eine Leiche vergraben, die Sie nicht getötet haben.” aus dem  Film “Immer Ärger mit Harry” In Scrum arbeiten selbstorganisierte, selbständige Teams an der Entwicklung der Software. Sie stellen am Ende eines jeden Sprints ein neues lauffähiges System für den Kunden bereit. Auf diesem System kann der … Weiterlesen

Kobayashi-Maru

Der Kobayashi-Maru-Test ist ein fiktives Übungsszenario, dass in mehreren Filmen und Episoden von Star Trek erwähnt wird. In dem Test wird geprüft, wie Kadetten in einer ausweglosen Situation handeln. Obwohl niemand diesen Test bestehen kann, hat der Kadett James T. Kirk den Test erfolgreich absolviert, indem er das Übungsszenario manipulierte. Der Begriff Kobayashi-Maru steht für ausweglose … Weiterlesen