Definition „PSP“ Was bedeutet Personal Software Process?

Von Gedeon Rauch |

Anbieter zum Thema

Der Personal Software Process ist eine Methode für Software-Entwicklerinnen und -Entwickler, ihre eigenen Fähigkeiten zu schärfen. Dabei handelt es sich selbst um einen strukturierten Entwicklungsprozess.

Der Personal Software Process soll Programmcode verbessern, indem er Developern Werkzeuge zur Selbstoptimierung an die Hand gibt.
Der Personal Software Process soll Programmcode verbessern, indem er Developern Werkzeuge zur Selbstoptimierung an die Hand gibt.
(Bild: Elf-Moondance / Pixabay)

Wenn es um Optimierung im Bereich der IT geht, dann geht es meist um Code. Doch was ist mit jenen, die den Code schreiben? Der Personal Software Process beschreibt einen Prozess der Softwareentwicklung, der nicht nur optimierten Code produzieren soll, sondern Developern auch dabei hilft, besser zu werden.

Diese Entwicklungsmethode ist darauf ausgelegt, auch ohne externe Prüfstellen eine stringente Linie zwischen Erwartung und Resultat zu ziehen und gibt Entwicklern und Entwicklerinnen auch dann Werkzeuge zur Selbstoptimierung an die Hand, wenn diese als Einzelpersonen oder Selbständige arbeiten und ansonsten keine Form der Kontrolle haben.

Die Ziele des Personal Software Process erläutert

Die Zielsetzungen des Personal Software Process (kurz PSP) sind klar definiert. Es geht nicht um eine vage Selbstoptimierung, sondern um spür- und messbare Verbesserungen für Developer.

Durch PSP sollen Developer:

  • ihre Fertigkeiten beim Planen und Einschätzen verbessern
    lediglich Vereinbarungen treffen, die sie auch einhalten können
    die Qualität ihrer eigenen Projekte selbst verwalten
    die Zahl der Fehler in ihrer Arbeit reduzieren

Bereits hieran wird ersichtlich, dass es sich beim Personal Software Process um einen umfassenden Optimierungsprozess für Developer handelt, der sowohl die Qualität und Optimierung beim Programmieren umfasst, aber auch Aspekte der Projektplanung anspricht. Er ist damit sowohl fachlich wie auch wirtschaftlich orientiert.

Der Personal Software Process in der Praxis

In der Ausführung folgt PSP einem relativ rigiden System, so dass die Ergebnisse messbar und quantifizierbar sind.

PSP0: Die erste Phase, PSP0, wird in drei weitere Phasen unterteilt: Das Planen, die Entwicklung (Designen, Coden, das Compiling und das Testen) und das sogenannte Post Mortem. Im Post Mortem stellen Entwickelnde die korrekte Aufzeichnung und Analyse der Daten sicher.

PSP0.1: Dieser auf PSP0 folgende Zwischenschritt dient der persönlichen Verbesserung, Codes und Umfang der Arbeit werden festgelegt und Zeiteinheiten gemessen. Aus diesen Messgrößen wird ein persönlicher Verbesserungsplan (PIP für Personal Improvement Plan) festgelegt.

PSP1: Basierend auf den Daten und Vergleichswerten aus PSP0 und PSP0.1 können Entwicklerinnen und Entwickler in PSP1 herleiten, wie groß ein folgendes Projekt sein wird und wie viel Zeit dieses in Anspruch nehmen wird.

PSP1.1: Das Messen der tatsächlichen Zeit dient der besseren Planung und präziseren Schätzung folgender Aufgaben.

PSP2: Durch Design Review und Code Review stellen ein funktionales und optimiertes System sicher. Der Fokus von PSP2 liegt auf dem Entfernen von Fehlern und Schwachstellen und dem Verhindern neuer Probleme mit dem Code/Programm/System.

Gemessen wird, wie viele Fehler in einem gegebenen Zeitraum entfernt werden und wie viele in der gleichen Phase hinzukamen.

PSP2.1: In dieser Phase werden Designspezifikationen hinzugefügt und Analysetechniken entwickelt.

Anforderungen an Developer

Der Personal Software Process basiert auf bestehenden Daten, um bessere Aussagen über zukünftige Arbeit zu erstellen. Bessere Fertigkeiten beim Planen und Anlegen eines Projektes erlauben Entwicklerinnen und Entwicklern eine genauere Abschätzung des Arbeitsumfangs und mehr Planbarkeit für ein Projekt.

Gebunden ist die Präzision der Vorhersage allerdings an die Qualität und Aktualität der Daten. Über statistische Abweichungen lassen sich so in PSP Tools gewisse Normwerte errechnen, die eine bessere Annäherung an die tatsächlich erwartete Arbeitszeit haben.

Das Ziel des Personal Software Process ist aber nicht nur mehr Planbarkeit, sondern auch qualitativ hochwertigere Software, indem die Software frei von Defekten ist. Was den Personal Software Process hierbei so besonders macht, ist das zeitnahe Entfernen von Defekten. Fehler sollten also möglichst zeitnah beseitigt werden, da dies effizienter und ökonomischer ist.

Personal Software Process und Agile Development

PSP und Agile Development haben viele Gemeinsamkeiten und lassen sich aufgrund ihrer Schnittmengen durchaus auch mischen. Zu den größten Gemeinsamkeiten zählen das Anlegen von Entwicklungszielen und Standards, das Planen der Arbeit, die präzise Schätzung der Aufgaben und das Anlegen realistischer Arbeitspläne.

Während agiles Development jedoch adaptiv ist, sich also während des Entwicklungsprozesses immer wieder neu anpasst, ist Personal Software Process ein prädiktiver Prozess. Hierbei soll jeder Arbeitsschritt möglichst genau vorhergesagt werden.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Da die Anpassungen im Agile Development nahezu live passieren und Teammitglieder so stets nachjustieren können, ist die präzisere Dokumentation nicht so wichtig. Beim Personal Software Process hingegen ist die Dokumentation essentiell, um bessere Vorhersagen liefern und diese laufend präzisieren zu können.

Etwas Obacht ist jedoch beim Gebrauch der Begriffe Personal Software Process und des dazugehörigen Kürzels PSP gefragt. Entwickelt wurde der Prozess von Watts S. Humphrey, dem „Vater der Software Quality“ und einem der Pioniere der Softwareprozessoptimierung, inzwischen wird die Methode als geschützter Begriff von der Carnegie Mellon University geführt.

(ID:48655295)