Programmieren im Team: Vorgehensmodelle

Programmieren im Team – Vorgehensmodelle

Was ist denn ein Vorgehensmodell? Damit in deinem Programmierer-Team nicht alles schief läuft, müsst ihr euch auf bestimmte Regeln einigen. Regeln, die bestimmten wie Ihr zusammenarbeitet und wer welche Arbeit macht. Heutzutage wird Software kontinuierlich entwickelt, das heißt ist eine Version erstmal veröffentlicht, wird gleich an der nächsten Version gearbeitet. Dabei wird nicht alles neuprogrammiert, es werden Fehler behoben und neue Features eingebaut. Damit das auch einwandfrei klappen kann, kann nicht jeder Programmierer einfach an dem arbeiten wo er grad Lust drauf hat. Hier muss strukturiert und geplant vorgegangen werden und hier sind wir letztendlich wieder beim Begriff Vorgehen. Das Vorgehensmodell schlägt Regeln vor, wie ein Team in der Softwareentwicklung zusammenarbeiten sollte. Es gibt sehr viele Vorgehensmodelle für Teams, ich möchte dir kurz 3 davon vorstellen.

Extreme Programming (XP)

Dieses Modell setzt Kommunikation im Team an die vorderste Stelle. Es wird davon ausgegangen, dass man zu anfangs noch nicht weiß, was alles programmiert werden soll. Also versucht man so schnell wie möglich eine einsatzfähige Software zum Nutzer zu bringen. Dieser kann seine Rückmeldung geben und kann somit direkt auf die Programmierung Einfluss nehmen.

Ein wichtiger Bestandteil ist die Verwaltung von Anforderungen. Das heißt zum einen das Gespräch mit dem Nutzer, welche Funktionen er benötigt. Diese Anforderungen müssen dann in die Planung aufgenommen werden. Dabei wird geplant welche Funktionen in welche Version der Software hineinkommen, welche Funktionen letztendlich in eine Version hineinkommen, wird unter anderen mit der Kundenzufriedenheit entschieden. Die Funktionen die in einer Version gemacht werden, werden dann in User-Stories beschrieben. Jede User-Story wird abgeschätzt,das heißt es wird geschätzt wie lange der Programmierer für diese Funktion braucht.

Die Entwicklung läuft dann ungefähr so: Jeden Tag trifft man sich kurz und spricht über den aktuellen Arbeitsstand. Danach wird programmiert, allerdings gemeinsam. Dies nennt sich Pair-Programming, es sitzen immer zwie Entwickler an einem Platz und wechseln sich ständig ab. Dies ist ist sicherlich noch nicht alles über Extreme Programming aber für den ersten Einblick sollte dies reichen.

Scrum

Mikroschaubild der ScrumprozessesScrum geht davon aus, dass die Programmierung einer Software zu komplex ist um alles bis ins kleinste Detail durchzuplanen. Es müssen immer wiederkehrende Schleifen durchlaufen werden um sich langsam an das anzunähern was der Nutzer eigentlich haben will. Dabei werden alle Features in ein Product-Backlog geschrieben, welches vom Product Owner gepflegt wird. Dann geht es zu den Sprints. Ein Sprint ist eine immer gleich lange Zeitspanne, zunächst wird in einem Sprint-Backlog festgelegt welche Features erfüllt werden sollen. Die Entwickler können dann starten in einem Sprint alle Features zu erfüllen, dabei treffen diese sich täglich um kurz zu sprechen. Dieses Daily-Scrum dauert ca. 15 Minuten, es wird geklärt was im letzten Tag erledigt wurde, Wo es Probleme gab, und was bis zum nächsten Tag erledigt wird.

Ist der Sprint durch, wird im Sprint-Review präsentiert, welche Features nun entwickelt worden sind. Mit einer Sprint Retrospektive wird besprochen was im letzten Sprint gelernt wurde und was sich verbessern lässt.

Das das Scrum auch gelebt wird, wird von einem Scrum-Master geprüft. Er hilft dem Entwicklerteam durch Führen durch Dienen.

Kanban

Neben dem eigentlichen Kanban-Vorgehen werden sogenannte Kanban-Boards (ein normales Whiteboard) verwendet, auf welchen alle Aufgaben und Probleme in Form von Karteikarten oder Post-Its gesammelt werden. Dabei wird der gesamte eigene Entwicklungsprozess auf dem Kanban-Board in Spalten visualisiert. Die bestehenden Karteikarten werden in die jeweils passenden Spalten einsortiert.

Danach wird festgelegt wie hoch der Work-In-Progress sein darf. Was bedeutet das? Pro Spalte wird festgelegt wie viele Karteikarten maximal in diese Spalte landen dürfen. Diese Grenzen bewirken, dass man alle Probleme anpackt und nichts liegen bleibt. Es wird also nicht mehr drumherum gearbeitet.

Dieser Flow führt beim richtigen und konsequenten Einsatz dazu, dass eine kontinuierliche Verbesserung der Arbeit im Entwicklungsteam stattfindet.

Fazit

Diese Kurzbeschreibung der Vorgehensmodelle sollte nur ein kleinen Einblick in das Geben, was dir bei der Arbeit im Team so vor die Augen kommen wird. Diese Vorgehensmodelle werden bei der professionellen Programmierung eingesetzt. Auch zu erwähnen: Diese Vorgehensmodelle schließen sich nicht gegenseitig aus! Es ist durchaus möglich, dass ein Team mit Scrum und einem Kanban-Board arbeitet und gleichzeitig noch Ansätze aus dem Extreme Programming nutzt. Wie sieht es bei dir aus? Hast du bereits Erfahrungen mit Vorgehensmodellen für die Arbeit im Team?

 

Das könnte dich auch interessieren

1 Antwort

Trackbacks & Pingbacks

  1. […] Es gibt eine handvoll etablierter Vorgehensweisen für Teams: Heutzutage wollen alle agile Software entwickeln. Dazu gehören: Extreme Programming, Scrum oder Kanban. Hier lernt man professionelle Softwareentwicklung. Hier gibt es eine kleine Einführung zum Thema Vorgehensmodelle. […]

Dein Kommentar

An Diskussion beteiligen?
Hinterlasse uns Deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.