So wirst du zu einem fantastischen agilen Entwickler

Gewohnheiten in Kultur verwandeln

Dan Radigan Dan Radigan

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 agiler Methoden 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 agilen Entwicklung wird der Projektumfang zu einer dynamischen Variable, sodass Teams die Qualität schützen, eine lebhafte Entwicklungskultur aufbauen und eng mit dem Unternehmen verbunden bleiben können. Bei Atlassian stehen agile Methoden im Zentrum jedes Entwicklungsteams (und vieler anderer Teams!). Und das aus gutem Grund.

Sie unterstützen Einzelne mit Verfahren, die eine solide technische Grundlage für ihr Produkt und eine Kultur der Zusammenarbeit für ihr Team bedeuten. Entwickler in agilen 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. Agile Teams schulen einander teamübergreifend, 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 teamübergreifend zu fördern. Ganz gleich auf welche Art das Wissen verbreitet wird – in agilen Teams wird es nicht passieren, dass Entwickler in kritischen Situationen nicht in den Urlaub gehen können, weil sie die einzigen sind, die einen bestimmten Bereich des Codes verstehen. Denn niemand möchte dieser Entwickler sein.

Agile Entwickler können außerdem den Technologie-Stack ihres Produkts auf einfachere Weise als ihre Pendants in Wasserfallmodell-Teams abarbeiten, da agile Teams sich selbst organisieren und Mitgliedern ermöglichen, neue Kompetenzen zu erwerben. Es ist eine Tatsache, dass Entwickler, die alle Features – von der Benutzeroberfläche bis zur Datenbank – bereitstellen, ihren Code stärker in Besitz nehmen. 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 Methoden bedeutet, innerhalb des Unternehmens eine großartige 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 Methoden vorgenommen haben, um ihren Erfolg zu sichern.

Die agile Entwicklung ist eine Reise. Und wir stehen bei jedem Schritt auf deinem Weg hinter dir.