© saicle/Shutterstock.com
Agile Methoden

Kolumne: A2 - alles Agile


Agile Softwareentwicklung ist aus der heutigen IT-Landschaft nicht mehr wegzudenken. Immer mehr Unternehmen haben die Vorteile dieses Ansatzes erkannt und setzen ihn vermehrt nicht nur in der Softwareentwicklung sondern im gesamten Unternehmen ein. In diesem Teil werden wir einen Blick auf agile Methoden im Allgemeinen werfen.

Die agile Softwareentwicklung unterteilt sich vornehmlich in drei Teilbereiche: dem agilen Prinzip, den agilen Methoden und den agilen Prozessen. Agile Prinzipien sind im agilen Manifest zusammengefasst, welches aus zwölf Unterpunkten besteht. So sind z. B. die Selbstorganisation und die Selbstreflexion der Teams essenziell für die agile Softwareentwicklung. Für mich der wichtigste Punkt im agilen Manifest ist die Zufriedenheit des Kunden, bzw. der Stakeholder, welche dadurch erreicht wird, schnell und zuverlässig gute Software bereitzustellen. Diese zwölf Prinzipien werden unter anderem dadurch erreicht, dass agile Methoden angewandt werden, welche ich im folgenden anreißen möchte.

Viele dieser Methoden spielen ihre Stärken auch deshalb aus, weil sie die Kommunikation zwischen beteiligten Parteien fördern oder forcieren. Aus eigener Erfahrung kann ich vermehrt feststellen, dass schlechte Software auch deshalb entsteht, weil an den entscheidenden menschlichen Schnittstellen zu wenig oder zu unstrukturiert kommuniziert wird. Oft kommt es vor, dass Anforderungen interpretiert werden, wo eine konkrete Nachfrage vonnöten wäre – eine Nachfrage aber aus dem Grund ausbleibt, da die betreffende Person nicht als „schwer von Begriff“ dastehen möchte. Nachfragen bleiben auch deshalb aus, weil die Notwendigkeit nicht erkannt wurde; es vermeintlich eindeutig ist. Das Kommunikationsproblem kann durch zwei Methoden verbessert werden: dem Pair Programming und den Code-Reviews. Bei beiden Methoden arbeiten immer zwei Entwickler an einer konkreten Implementierung und reflektieren sich gegenseitig.

Pair Programming

Beim Pair Programming arbeiten zwei Entwickler gleichzeitig an der Implementierung definierter Softwarefeatures. Hierbei sitzen zwei Entwickler physisch vor einem Rechner, wobei ein Entwickler den Code schreibt und der zweite Entwickler über die Problemstellung reflektiert und den geschriebenen Code direkt kontrolliert. Fallen dem zweiten Entwickler Fehler im Code oder Missverständnisse beim Feature/Requirement auf, können sie sofort angesprochen und diskutiert werden. Diese Eigenschaft des Pair Programming steigert sofort die Kommunikation...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang