Auf einen Blick: Paarprogrammierung beinhaltet zwei Entwickler, die zusammenarbeiten, um die Produktivität zu steigern, Fehler zu reduzieren und Lernen zu fördern. Dieser Ansatz ist vorteilhaft für Schulungen, Problemlösung und die Erhöhung der Codesicherheit, indem Fehler und Hintertüren minimiert werden.
- Steigert die Produktivität und reduziert Fehler
- Erhöht die Sicherheit durch Minimierung von Fehlern und Hintertüren
- Ideal für Lehre und funktionsübergreifende Ausbildung
Agile Softwareentwicklung ist die Organisation von Menschen, die eigenständig arbeiten, eigene Entscheidungen treffen und zum größeren Ganzen beitragen. Natürlich ist der übergeordnete Zweck der agilen Entwicklung, Teams zu ermöglichen, sich schneller an die Anforderungen des Marktes anzupassen. Paarprogrammierung hat sich als nützliches Werkzeug im Werkzeugkasten der agilen Softwareentwicklung etabliert.
Nachteile der Alleinarbeit
Traditionell arbeiten Programmierer allein, bauen eine Funktion oder eine einzelne App. Aber das ist nicht immer ideal. Alleine zu arbeiten kann monoton sein, aber umgekehrt – mit einer großen Gruppe von Menschen zu arbeiten – schränkt die individuelle Autonomie ein. In Gruppen größer als vier dominiert meist die Intelligenz einer Person. Für viele Programmierer ist es also genau richtig, als Paar zu arbeiten.
Paarprogrammierung: Zwei Köpfe sind besser
Paarprogrammierung bedeutet, absichtlich zwei Entwickler zusammenzubringen, um eine Aufgabe zu erfüllen. Sowohl die Geschäftsleiter als auch die Entwickler selbst schätzen diesen Zwei-Personen-Ansatz, aber oft aus unterschiedlichen Gründen.
Für die Geschäftsleiter, die KPIs im Blick haben, glauben sie, dass Paarprogrammierung die Produktivität steigert. Paarprogrammierung:
- Reduziert Fehler
- Schafft mehr, schneller
- Ermöglicht es dem Unternehmen, bei Problemen zu handeln.
- Stärkt die Moral der Programmierer
Für die Programmierer: Paarprogrammierung:
- Ermöglicht es dir, mit einem Partner zu sprechen.
- Ermöglicht es Ihnen, Ihre Schwierigkeiten und Erfolge beim Lösen eines Problems zu teilen
- Fördert kontinuierliches Cross-Training
- Aufbau von Team- und Programmiererbeziehungen
- Fördert sowohl das Lernen als auch das Lehren und erweitert so deinen Wertbereich
Für den Programmierer kann sich Paarprogrammierung so anfühlen, als würde man dem Mann eine Überzeugung verschaffen und dem Paar ein Gefühl von Sinn geben. Denn während die Unternehmensleiter glauben, dass diese Arbeitsweise die Produktivität steigert, was zutreffen mag, hat der Programmierer mehr Spaß.
Wie Paarprogrammierung funktioniert
Paarprogrammierung ist eine Praxis, bei der zwei Programmierer zusammenarbeiten. Oft schreibt einer Code, während der andere den Code überprüft. Sie wechseln ihre Rollen ab, ähnlich wie bei British Primary Pedagogy (Klassen mit mehreren Altersgruppen), und dürfen sowohl Spieler als auch Trainer sein. Sowohl der Autor als auch der Rezensent. Oder, in den Worten des Paares, der Fahrer und der Navigator. Die Paarungsmethode ist großartig zum Lernen. Entwickler, die zu zweit programmieren, berichten, dass sie:
- Lerne schneller
- Weniger Fehler machen
- Verbringe weniger Zeit mit kleinen Problemen und mehr Zeit mit großen Problemen
Während der Fahrer seine Talente zeigen oder einfach persönliche Aufmerksamkeit von einem anderen bekommt, um zu lernen, fühlt sich jeder als Paar besonders. Wie und wann Pausen gemacht werden, liegt im Ermessen des Paares. Improvisieren; auf die Instinkte vertrauen. Wenn das Vertrauen verloren geht, wurde recherchiert, und manche schwören auf die Pomodoro-Technik oder die 52/17-Methode , um ihr Arbeits-zu-Pausen-Verhältnis zu definieren.
Paarprogrammierung erhöht die Sicherheit
Vielleicht ist der größte Vorteil von Paarprogrammierung, dass es die Sicherheit dessen erhöht, was man baut. Das resultierende Produkt bietet gerne Sicherheitsvorteile wie:
- Weniger Bugs
- Interne Prüfung von Hintertüren
Weniger Bugs
Durch Paarprogrammierung erkennt ein zusätzliches Paar Augen potenzielle Fehler im Code. Wir wissen, wenn Code funktioniert, ist er ausgezeichnet. Aber Code kann aus vielen, vielen Gründen funktionieren. Auf diese Weise kann der Code funktionieren, er kann seine Aufgabe auch auf ahnungslose Weise erfüllen. Wenn Code so funktioniert, wie ein Entwickler es will, aber viele Arbeitsweisen hat oder aus den falschen Gründen funktioniert, wird dies zu einer Schwachstelle für Gegner. Cheats, oder Hacks, werden erstellt. Wenn Mama sagt: "Geh um 20 Uhr ins Bett" und ihre einzige Bestätigung für die Uhrzeit im Haus wäre, dann ist es möglich, alle Uhren im Haus so zu stellen, dass die Schlafenszeit später ist. Wenn mehrere Augen Code betrachten, können sie einfache Fehler erkennen und besseren Code schreiben, um einfache Hacks zu verhindern, bevor sie auftreten.
Minimale Hintertüren
Während jedes Paar die Arbeit des anderen überprüft, kann es auch bemerken, ob das andere eine Hintertür in die Software eingebaut hat. Sofern sie kein Duo von George Clooney und Brad Pitt sind, hat Paarprogrammierung eine eingebaute Sicherheitsmethode, die die Gesellschaft Verantwortlichkeit oder Integrität nennt, die sicherstellt, dass der eingereichte Code sauber ist.
Wann man Paarprogrammierung verwenden sollte
Nicht jede Aufgabe oder jedes Projekt eignet sich gut für Paarprogrammierung. Paarprogrammieren ist hervorragend für das Training. Der Dialog hin und her hilft dem Paar, ein neues Konzept oder die Herkunft eines anderen zu verstehen. Es baut Teams und Vertrauen zwischen den Teams auf. Paarprogrammierung ist daher ideal für:
- Lehrende Schüler
- Schulung von neuem Personal
- Lösung querfunktionaler Probleme
- Förderung kontinuierlicher funktionsübergreifender Schulung
- Ideen entwickeln und innovieren
Aber wenn die Aufgabe vor uns liegt, ist sie klar definiert, der Sprint muss gemacht werden und jeder weiß, was er tut – manchmal ist es der gute altmodische Kopfhörer-auf--Kaffee-bereit-Grind, den ein Programmierer machen muss, um die Aufgabe zu erledigen.
Zusätzliche Ressourcen
Mehr zu diesem Thema finden Sie im BMC DevOps Blog oder lesen Sie diese Artikel:
Diese Beiträge sind meine eigenen und spiegeln nicht unbedingt die Position, Strategien oder Meinung von BMC wider.