Agiles Mindset – aber bitte nur zu 100%

Es überrascht mich immer wieder wie viele Hardliner der agilen Welt darauf pochen, zu 100% und damit bedingungslos alle Aspekte des agilen Manifests bzw.  der jeweiligen Methodik umzusetzen. Meist quittiert mit dem Urteil:

„Sonst bist du nicht agil!“ oder „Andernfalls funktioniert Agile nicht!“

Irgendwie stellen sich mir dann die Nackenhaare. Warum? Weil Hardlinertum meiner Ansicht nach kontraproduktiv für agile Denkweisen ist. Denn es werden zwei wichtige Aspekte außer Acht gelassen: Die Sichtweise und die Reife des Teams!

Agiles Mindset vs. Dogmen

Im agilen Manifest werden meiner Ansicht nach Werte und Prinzipien beschrieben, die notwendig sind, um auf Veränderung mutig und selbstbewusst reagieren und gemeinsam im Team Großes leisten zu können. Passend dazu die ersten Worte im Agilen Manifest.

Individuals and interactions over processes and tools

Und dennoch wird von einigen schon fast dogmatisch das Gegenteil  gefordert. 100 %ige Umsetzung aller Regeln und Prinzipien! Klingt das nicht nach einem Dogma und damit nach einem Verstoß gegen dieses schön formulierte Prinzip? Ich finde schon!

Gestaltungsfreiräume und Lernkultur fordern und fördern

Um mit Veränderung klarzukommen ist es nötig, dass das Team eigene Strukturen und die Strukturen in ihrem Umfeld so mitgestalten kann, dass der gemeinsame Leistungs- und Lernwille sowie die Motivation auf einem hohen Niveau gehalten und damit die gemeinsame Mission als Teamaufgabe in den Vordergrund gestellt werden kann. Doch das ist alles andere als einfach.

Das Team muss zunächst lernen, dass man sehr wohl mit Veränderungen & Unsicherheiten gut leben kann, wenn man die Voraussetzungen dafür schafft. Diese können beispielsweise durch regelmäßige, kleine Veränderungen wie bspw. ein Rollentausch oder Übernahme neuer Aufgaben geübt und damit die notwendige Routine im Umgang mit Veränderung geschaffen  werden.

Es ist nicht leicht Veränderungen & Unsicherheiten zu akzeptieren

Die meisten von uns wachsen in fest vorgegebenen Strukturen auf. Grundschule, weiterführende Schule, Ausbildung & Studium. Innerhalb dieser vordefinierten Pfade gibt es Lehrpläne und Curricula, die wiederum genau vorgeben, was der/die Lernende zu lernen, welche Prüfungen er oder sie zu absolvieren und welche Jobaussichten er/sie schließlich zu erwarten hat. Das ist auch nicht zwingend schlecht! Denn diese Strukturen schaffen Sicherheit und damit Vertrauen in unserer komplexen Welt.

Doch kaum ist der Abschluss in der Tasche und der erste Job beginnt, fällt das ganze Kartenhäuschen in sich zusammen. Plötzlich ist Selbstorganisation & Verantwortung gefordert und Veränderungen sollen einen nicht mehr aus der Bahn werfen. Irgendwie verständlich, dass man sich da erst einmal schwer tut, oder?

Was brauchen wir denn eigentlich?

Wir brauchen keine Dogmen sondern ein lernfreundliches, auf Veränderungen und Kollegialität ausgelegtes Umfeld, das gemeinsame Erfahrungen, Erfolge, Misserfolge und – man traut es sich ja kaum auszusprechen- auch organisatorische Führung in Einklang bringt.

Insofern also ein Agiles Mindset … aber zu 100%!

Ich freue mich über Kommentare & Anregungen!

Nix mit grüne Wiese! Berufseinstieg als Softwareentwickler meistern

Als Teamleiter erlebe ich häufig, wie sich selbst ausgezeichnete Studenten  der Wirtschafts- und Angewandten Informatik beim Berufseinstieg als Java Softwareentwickler schwer tun.  Warum der Einstieg so schwer fällt, hängt vermutlich damit zusammen, dass die Notwendigkeit durch viele Klassen und Projekte zu navigieren und damit die Fähigkeit Software effektiv zu analysieren im Studium oft nachrangige Behandlung findet.

„Nix mit grüne Wiese! Berufseinstieg als Softwareentwickler meistern“ weiterlesen

Refactoring? – Papperlapapp! Es läuft doch!

Das folgende Szenario erleben Softwareentwickler insbesondere zu Beginn ihrer Karriere häufig. Vielleicht hilft dir diese Geschichte, den Wert von Refactoring, TDD und Clean Code besser einschätzen zu können.

Eine vielleicht nicht ganz unbekannte Geschichte

Endlich geschafft! Du hast dich tagelang gequält und nun funktioniert endlich das Modul, das schon seit langem fertiggestellt sein sollte. Durch Versuch und Irrtum hast du viele Varianten durchgespielt. „Keine Zeit mehr für Aufräumarbeiten“ denkst du dir, checkst den Code ein und lieferst das Modul aus.

Die neue Klasse hat zwar 1000 Zeilen, ist zuständig für den Aufbau der Datenbankverbindung und weitere 100 Dinge aber was soll’s? Es läuft und Änderungen an diesem Modul sind sowieso unwahrscheinlich!

„Refactoring? – Papperlapapp! Es läuft doch!“ weiterlesen

Statische Methoden testen – Es müssen ja nicht Mocks sein!

Statische Methoden testen ist nicht so schwer wie man denkt! Liest man jedoch Artikel oder betrachtet man Videos zu statischen Methoden und JUnit, werden meist Mocking Frameworks als Lösung diskutiert. Beispielsweise wenn man die Diskussion bei stackoverflow.com verfolgt.

„Statische Methoden testen – Es müssen ja nicht Mocks sein!“ weiterlesen

Vom Absolvent zum Java Software Craftsman

Du stehst kurz vor dem Abschluss deines Studiums / deiner Ausbildung! Sehr gut! Deine Karriere als handwerklich versierter Softwareentwickler (vgl. Software Craftsmanship) kann nun Fahrt aufnehmen. Doch was zeichnet nun einen professionellen Softwareentwickler aus?

Um ein guter Softwareentwickler zu sein, muss man sich ständig weiterentwickeln. Nicht nur die Technik im Sinne von Betriebssystemen, Browsersoftware und Hardware entwickelt sich ständig weiter, auch Best Practices sind einem ständigen Wandel unterlegen. Um Software effizient zu entwickeln, bedarf es der Kenntnis aller Möglichkeiten innerhalb eines Technologieökosystems. Nur so lassen sich die richtigen Entscheidungen treffen und die besten Ergebnisse erzielen (Quelle: Björn Weinbrenner)

Diese Aussage von Björn Weinbrenner trifft meiner Meinung nach den Nagel auf den Kopf. Du musst Werkzeuge, Methoden und Technologien kennen, um deren Tauglichkeit in der Praxis einschätzen zu können (vgl. Abschnitt „Lese kontinuierlich…„). Für erste möchte ich dir ein paar Tipps mit auf den Weg geben, wie du diesem hohen Anspruch näher kommst.

„Vom Absolvent zum Java Software Craftsman“ weiterlesen