Effektive Code-Reviews mit Atlassian-Werkzeugen

Software-Entwicklung dreht sich um individuelle Beiträge in einem kollaborativen Umfeld. Code entsteht, wenn ein Entwickler an seinem Arbeitsplatz arbeitet. Daher ist es so wichtig, Zusammenarbeit und Wissenstransfer zu fördern, damit das Team als Einheit agieren kann. Code-Reviews bilden einen exzellenten Weg, um das gesamte Team einzubeziehen. Die Tools von Atlassian bieten sehr gute Voraussetzungen dafür.

Warum sind Code-Reviews sinnvoll?

Weniger Anfälligkeit des Teams
Wenn ein einzelnes Teammitglied die alleinige Verantwortung für einen Code-Bereich trägt, ist das gesamte Team anfällig. Es bietet sich die Analogie zu einem wichtigen Server an: Diesen betreibt man auch nicht mit einer einzelnen Festplatte; stattdessen verteilen RAID-Systeme die Daten auf mehrere Festplatten für den Fall, dass eine ausfällt.

Schnellere Integration neuer Teammitglieder
Code-Reviews stimulieren Konversationen über die Code-Struktur, den Stil und die Architektur als natürliche Bestandteile des Arbeitstages. Neue Teammitglieder können effizienter und organisch in die Teamkultur hineinwachsen.

Bugs aufdecken
Code-Reviews sind eine gute Methode für den Entwickler und den Reviewer, Bugs aufzudecken. Das Prüfen eines anspruchsvollen Code-Bereichs erfordert, dass beide Parteien den logischen Fluss verstehen und die Lösung validieren.

Das ganze Team einbinden
Kein Team ist statisch. Je mehr ein Team in sein Produkt investiert, desto besser werden die Entwicklungs-Paradigmen. Code-Reviews binden das ganze Team mit ein und helfen, Best Practices allen zugänglich zu machen. Entwickler verbinden sich auf einer sinnvollen technischen Ebene und produzieren bessere Software. Code-Reviews können Schwachstellen in der Logik aufdecken, da ein weiteres Augenpaar Dinge findet, die der ursprüngliche Entwickler nicht berücksichtigt hat.

Effektive Code-Reviews mit Atlassian-Tools

Sind Code-Reviews teuer? Bremsen Code-Reviews Teams? Sicher kosten Code-Reviews Zeit. Doch diese Zeit sollte als Investition in das Team und in die Code-Basis angesehen werden. Die Herausforderung liegt darin sicherzustellen, dass Code-Reviews das Team nicht hemmen, sondern verbessern.

Code-Reviews asynchron strukturieren
Unterbrechungen sind Produktivitätskiller. Als Faustregel gilt: Einmal unterbrochen, dauert es rund 15 Minuten, bis der Entwickler wieder im Flow ist. Die Nutzung eines Tools minimiert Störungen: Pull-Requests in Git ermöglichen es, Code-Reviews asynchron anzufragen.

Code-Reviews 1

Code "inline" reviewen
Das beste Feedback ist Feedback im Kontext des fraglichen Codes. Ein Werkzeug, das Inline-Code-Reviews unterstützt, erlaubt es dem Reviewer, auf den Code fokussiert zu bleiben. Zudem kann der ursprüngliche Entwickler Kommentare exakt dort sehen, wo ein Problem aufgetreten ist.

Code-Reviews 2

Alle Ressourcen direkt zugänglich
Ein Code-Review ist mehr als das Reviewen von Code. Ein effektiver Reviewer benötigt Zugang zum Original-Issue, zu den relevanten Konversationen während der Entwicklung, zum Feature-Branch-Status, zu Testergebnissen und zu den Notizen aus früheren Code-Reviews. Das Entwicklungs-Panel in JIRA aggregiert all die Informationen, die ein Reviewer für ein optimales Code-Review benötigt.

Code-Reviews 3

Code-Reviews als Teil des Issue-Workflows
Manche Teams möchten Code-Reviews zu einem Teil des Issue-Workflows machen. Stash erlaubt es einem Repository-Owner, mindestens eine Freigabe als Voraussetzung fürs Mergen zu definieren. JIRA kann Code-Reviews mithilfe von Crucible im Issue-Workflow verpflichtend machen, sodass ein Vorgang ohne Code-Review nicht abgeschlossen werden kann.

Sichtbarer Status
Einer der größten Produktivitätskiller ist die Frage nach einem Status. Die Änderungen im neuen Workflow-Designer von JIRA machen es einfach, den Fluss von "neu" zu "abgeschlossen" zu sehen. Neue Vorgänge sind blau, in Arbeit befindliche Vorgänge gelb, abgeschlossene Vorgänge grün.

Code-Reviews 4

Das Reviewen von Code unterscheidet sich stark von der Entwicklung von Code. Wenn es in JIRA keinen Status gibt, der Code-Reviews trackt, ist es sowohl für Stakeholder als auch für Entwicklungsleiter schwer zu sehen, wie nahe ein Vorgang an der Fertigstellung ist. Dieses JIRA-Agile-Board verdeutlicht das:

Code-Reviews 6

Man sieht pauschal alle aktiven Arbeiten, mit denen das Entwicklungsteam gerade beschäftigt ist. Ein zweites Board bietet schon mehr Transparenz:

Code-Reviews 7

Hier ist klar, welche Vorgänge in der aktiven Entwicklung sind und welche auf Reviews warten; Projektmanager und Entwicklungsleiter wissen viel mehr über den Entwicklungsstand.

Fazit

Das Atlassian-Tool-Set für Entwicklungsteams umfasst alle Werkzeuge und Features, um Code-Reviews effektiv und effizient in die Software-Entwicklung zu integrieren. Das Git-Repository-Managementsystem Stash unterstützt Pull-Requests und Inline-Kommentare mit einer intuitiven Oberfläche, das neue Development-Panel in JIRA schafft größtmögliche Transparenz, die Boards von JIRA Agile bieten die nötige Flexibilität, um den gesamten Flow eines Vorgangs durch den Entwicklungsprozess abzubilden.

Weiterführende Infos

Sie möchten Atlassian-Tools neu einführen oder Lizenzen verlängern? Sie haben Fragen zu technischen oder organisatorischen Punkten? Als offizieller Atlassian-Vertriebspartner und einer der größte Atlassian Experts Partner weltweit mit Erfahrungen aus Hunderten Atlassian-Projekten unterstützen wir Sie gerne bei allen Aspekten rund um das gesamte Produktportfolio des australischen Software-Herstellers. Sprechen Sie uns einfach unverbindlich an.

Echte Integration: Das Zusammenspiel von JIRA, Stash und Bamboo
Branch-basierte Git-Workflows mit Stash adaptieren
Das Entwicklungs-Panel in JIRA
Stimmen von führenden Atlassian-Mitarbeitern über //SEIBERT/MEDIA