So wirst du zu einem fantastischen agilen Entwickler

Gewohnheiten in Kultur verwandeln

Dan Radigan Dan Radigan
Themen durchsuchen

Bei der agilen Entwicklung geht es nicht nur um Entwickler.

Niemand möchte Software mit unzähligen Bugs und Performance-Problemen ausliefern, die Kunden nicht zufriedenstellt. Mit Continuous Integration und Code-Reviews lässt sich das verhindern, aber das erfordert Zeit … und wer hat die schon? Nun ja, Agile-Teams nehmen sich die Zeit.

Agile-Entwickler konzentrieren sich auf eine nachhaltige Entwicklung – nicht auf Heldentaten. Nachhaltigkeit bedeutet eine gute Schätzung, effektive Branching-Strategien für das Codemanagement, automatisierte Tests zum Schutz der Qualität und Continuous Deployment, um schnelles Feedback von Benutzern zu erhalten. Die Einführung von nachhaltigen Entwicklungsverfahren erfordert eine Disziplin, nach der die meisten von uns als Individuen zwar streben, die wir aber oft nur schwer erreichen. Das liegt daran, dass sich Agile-Methoden nicht in einem Vakuum umsetzen lassen. Die Kultur des gesamten Unternehmens muss darauf ausgerichtet sein. Projektleitern sollte die Qualität wichtiger sein als Umfang oder Zeitplanung – was bei der Einführung von Agile oft der schwierigste Teil ist.

Aber es lohnt sich! Entwickler erhalten die Freiheit und Verantwortung, Software nachhaltig zu entwickeln, aber gleichzeitig eine großartige Beziehung mit dem Unternehmen aufrechtzuerhalten. Und das Unternehmen bringt ein hochwertigeres Produkt auf den Markt, was diese großartige Beziehung mit der Entwicklung weiter verstärkt. Darüber hinaus (und das ist der beste Aspekt) erleben Agile-Entwickler nur selten "Todesmarsch-Projekte". Wenn die Entwicklung hinter der Zeitplanung zurückbleibt, weil die Aufrechterhaltung einer hohen Qualität mehr Aufwand als erwartet bedeutet, kann sich der Projektumfang des Magischen Dreiecks an diese Realität anpassen – und niemand muss seine Wochenenden opfern.

Alle Softwareentwickler kennen das "Magische Dreieck" des Projektmanagements: Projektumfang, Zeit und Qualität. Und die meisten von uns haben bereits an Projekten gearbeitet, bei denen der Projektumfang unflexibel war, die Zeit durcheinandergeriet und die Entwicklung durch wachsende technische Schulden überfordert war. Manchmal – um das Ganze noch zu verschlimmern – war das Endprodukt nicht einmal vom Markt gewünscht. Das ist frustrierend und kommt doch allzu oft vor.

Aber keine Sorge, es gibt gute Neuigkeiten.

Bei der Agile-Entwicklung wird der Projektumfang zu einer dynamischen Variablen, sodass Teams die Qualität schützen, eine lebhafte Entwicklungskultur aufbauen und eng mit dem Unternehmen verbunden bleiben können. Bei Atlassian steht Agile im Zentrum jedes Entwicklerteams (und vieler anderer Teams!). Und das aus gutem Grund.

Agile unterstützt die einzelnen Mitarbeiter mit Verfahren, die eine solide technische Grundlage für ihr Produkt und eine Kultur der Zusammenarbeit für ihr Team bedeuten. Entwickler in Agile-Teams sind engagierter, schreiben besseren Code und haben mehr Spaß.

Robuste Verbindungen für ein überzeugenderes Produkt

Bei agilen Methoden geht es um Teamarbeit, was nicht weiter überraschend ist, da die meiste Software heute von Teams entwickelt wird. Entwickler bauen robuste Beziehungen zu den Bereichen Produktmanagement, Design, QA und Betrieb auf, da das Schreiben von nachhaltigem Code bedeutet, mit allen Facetten des Projekts in Verbindung zu bleiben. Atlassian hat große Vorteile in Bezug auf die Codequalität und Entwicklerzufriedenheit erzielt, indem Entwickler unterstützt werden, direkt mit anderen Bereichen des Unternehmens zusammenzuarbeiten. Besserer Code, weniger "Überlastung" (d. h. doppelter Aufwand und/oder widersprüchliche Arbeitsabläufe) und effektivere funktionsübergreifende Arbeiten sind nur einige der Vorteile.

Agile Entwickler | Atlassian Agile Coach

Auch Mentoring spielt eine große Rolle. Die Mitglieder von Agile-Teams schulen einander, um dafür zu sorgen, dass alle Beteiligten in Bezug auf die Codebasis den gleichen Wissensstand haben. Code-Reviews sind beispielsweise eine gute Möglichkeit, die Qualität zu sichern und die Vertrautheit mit dem Code im gesamten Team zu fördern. Egal, wie das Wissen verbreitet wird – in Agile-Teams kommt es nicht so weit, dass Entwickler in kritischen Situationen auf ihren Urlaub verzichten müssen, weil nur sie einen bestimmten Bereich des Codes verstehen. Denn niemand möchte dieser Entwickler sein.

Entwickler in Agile-Teams können außerdem leichter als ihre Kollegen in Wasserfallmodell-Teams im gesamten Technologie-Stack ihres Produkts arbeiten, da Agile-Teams sich selbst organisieren und es ihren Mitgliedern ermöglichen, neue Kompetenzen zu erwerben. Es ist eine Tatsache, dass Entwickler, die Features – von der Benutzeroberfläche bis hin zur Datenbank – komplett bereitstellen, sich stärker für ihren Code verantwortlich fühlen. Bei Atlassian kultivieren wir Full-Stack-Entwickler, weil wir daran glauben, Wissen im gesamten Team und im gesamten Unternehmen zu teilen.

Programmieren, Kultur und Spaß an der Entwicklung

Eine Umstellung auf Agile bedeutet, innerhalb des Unternehmens eine starke Entwicklungskultur aufzubauen. Lies weiter, um mehr über effektive Branching-Strategien, automatisierte Testtechniken, Continuous Integration und den Aufbau wirkungsvoller Beziehungen mit anderen Bereichen des Unternehmens zu erfahren. In den nächsten Artikeln gehen wir näher auf die spezifischen Änderungen ein, die Tausende von Entwicklern während der Umstellung auf Agile vorgenommen haben, um ihren Erfolg zu sichern.

Die Agile-Entwicklung ist eine Reise, bei der wir dich auf Schritt und Tritt begleiten.