Auf einen Blick: Software-Projektmanagement ist entscheidend für die Entwicklung hochwertiger Softwareprodukte, die in vier Phasen strukturiert sind: Inception, Elaboration, Construction und Transition. Jede Phase umfasst spezifische Aufgaben, um eine erfolgreiche Projektabwicklung innerhalb von Zeit-, Qualitäts- und Kostenvorgaben sicherzustellen.
- Ein strukturierter Ansatz verbessert die Produktlieferung und kontinuierliche Verbesserung.
- Phasen leiten den Prozess von der Projektplanung bis zur Freigabe und Schließung.
Da immer mehr Organisationen zu Softwarefabriken werden, die ihre eigenen Softwareprodukte entwickeln und an Kunden veröffentlichen, ist Software-Projektmanagement eine wesentliche Praxis. In diesem Artikel betrachten wir die Praxis des Softwareprojektmanagements, einschließlich des vierphasigen Ansatzes, der es Organisationen ermöglicht, hochwertige Software – im großen Maßstab und im Rahmen des Projektumfangs – zu entwickeln.
Was ist Softwareprojektmanagement?
Projektmanagement ist die Disziplin, bei der Projektziele definiert und erreicht werden, während während des Lebenszyklus eines Projekts auf Ressourcenbeschränkungen optimiert wird. Als Teilbereich des Projektmanagements ist Softwareprojektmanagement die Praxis der Planung und Durchführung von Softwareentwicklungsprojekten innerhalb von Variablen wie:
- Zeit
- Qualität
- Kosten
- Der größere Umfang
Das Softwareprojekt folgt dem End-to-End-Software Development Lifecycle (SDLC), der viele Schritte umfasst – vom Sammeln von Anforderungen über Entwicklung und Test, bis hin zur Produktveröffentlichung und schließlich der laufenden Wartung. (Sehen Sie, wie das Produktmanagement die IT-Organisation unterstützt.) Kommen wir nun zu den vier Phasen.
Phase 1: Inception
Abgrenzung und Begründung eines Projekts
In der ersten Phase des Softwareprojektmanagements identifizieren IT-Organisationen die Anforderungen, Produktmerkmale, Risiken, Einschränkungen und den Umfang des Entwicklungsprojekts. Ihr Team erstellt einen Plan, um das beabsichtigte Budget zu erreichen und den technischen sowie geschäftlichen Fall des Endprodukts zu unterstützen. Dieser Plan definiert folgende Aufgaben:
- Definition des Softwareprozesses. Definition der SDLC-Modelle, Frameworks und der Rollen von Teams und Einzelpersonen, die die Lieferung eines hochwertigen Produkts unterstützen.
- Anforderungsentwicklung. Dokumentation detaillierter Spezifikationen und Anforderungen für die Entwicklungs- und Betriebsprozesse. Entwicklung eines Systemmodells, das die notwendigen funktionalen und nicht-funktionalen Anforderungen erfüllt.
- Planung und Budgetierung. Nutzen Sie den Projektumfang, um Ihr Budget, Ihren Zeitplan und Ihre benötigten Ressourcen zu definieren. Entwickeln Sie Meilensteine, um diese Ziele zu erreichen. Seien Sie jedoch darauf vorbereitet, dass trotz sorgfältiger Planung die tatsächlichen Zahlen wahrscheinlich von den ursprünglichen Schätzungen abweichen werden.
Phase 2: Ausarbeitung
Definition der Bedürfnisse
In der zweiten Phase des Software-Projektmanagements werden Sie den Projektplan und das architektonische Design fertigstellen und validieren. Anschließend identifizieren Sie etwaige Risiken und steuern sie entsprechend. Sie haben bereits der Projektvision und den Anforderungen zugestimmt, daher folgen Sie diesen Aufgaben, um die Projektziele zu erreichen:
- Risikomanagement übernehmen. Verstehen, wie Risiken gemindert und gemanagt werden können. Entwickeln Sie ein Handbuch, das wahrscheinliche Risikobereiche und bewährte Reaktionsrichtlinien abdeckt.
- Modellierung und Design. Visualisieren oder simulieren Sie die System- und Umweltmodelle des Technologiestacks, der Produktarchitektur und des SDLC-Frameworks. Das Modell berücksichtigt alle Interaktionen zwischen den Systemkomponenten und geeignete externe Faktoren. Einige der beliebten SDLC-Modelle sind DevOps und Agile.
- Umsetzung des Projektplans. Zuweisen Sie die Rollen und Verantwortlichkeiten für Teams, Manager und Mitarbeiter zu. Identifizieren Sie die benötigten Werkzeuge und Dienstleistungen und stellen Sie sie durch einen systematischen Governance-Rahmen bereit.
Phase 3: Bau
Verwaltung der Ressourcenbereitstellung
Die dritte Phase des Softwareprojektmanagements befasst sich direkt mit dem Entwicklungsprozess. Überwachen Sie den Fortschritt des Entwicklungsprozesses anhand der definierten Anforderungen und Nutzererwartungen – stellen Sie sicher, dass Sie Zeitpläne und Erwartungen einhalten. Hier können Sie auch den Mitarbeitern der Projektunterstützung notwendige Schulungen, Schulungen und Unterstützung bieten. Wichtige Aufgaben, die in dieser Phase befolgt werden, sind:
- Die Details entwerfen. Beschreiben Sie, wie die Dokumentation und das architektonische Design die Entwicklung von Softwareprodukten, Builds und Funktionen leiten. Erklären Sie die Designmuster und folgen Sie ihnen systematisch.
- Qualitätsmanagement. Identifizieren Sie die Aktivitäten sowie die qualitativen und quantitativen Messgrößen der Softwarequalität. Verstehen Sie, welche Kennzahlen im Softwaretestprozess analysiert werden können, um eine hohe Qualität wie beabsichtigt zu erreichen.
(Entdecken Sie gängige Qualitätskennzahlen für Software.)
Phase 4: Übergang
Veröffentlichung des Produkts
In der letzten Phase des Softwareprojektmanagements validierst du den endgültigen Produktaufbau anhand aller technischen und geschäftlichen Anforderungen. Du erfüllst die notwendigen Artefakte und das Entwicklungsteam muss sich auf die nächste Iteration des Softwareentwicklungszyklus vorbereiten. Du hast bereits aus der ersten Iteration gelernt, also wende diese an, um kontinuierliche Verbesserungen zu unterstützen. Je nach verwendeter SDLC-Methodik kannst du bestimmte Feature-Updates, Komponenten oder das komplette Produkt an Endnutzer freigeben. Wichtige Aufgaben in der Übergangsphase sind:
- Weiterentwickeln. Beschreibt, wie Softwareentwicklungsteams zur nächsten Iteration des Projekts übergehen können. Die Iteration kann je nach gewähltem SDLC-Framework einen Software-Build oder eine funktionierende Feature-Komponente erzeugen.
- Feedback einholen. Identifizieren Sie die Chancen und Herausforderungen, die Sie während früherer Iterationen erlebt haben, und wenden Sie die Lehren in der nächsten Phase des SDLC an. Die DevOps-Rückkopplungsschleife ist dafür perfekt. Für Organisationen, die Agile- und DevOps-SDLC-Frameworks folgen, ist der Feedback-Prozess ein integraler Bestandteil des SDLC-Prozesses. In nachfolgenden Iterationen des Entwicklungsprozesses kann es begrenzte, aber fortlaufende Verbesserungen und Änderungen der Anforderungen geben. Vorkehrungen für solche Änderungen sollten bereits in den ersten drei Phasen des Software-Projektmanagementmodells enthalten sein.
- Abschluss des Projekts. Der Erfolg wird nach Abschluss des Projekts gemessen. Projektmanager sind verpflichtet, die Projektleistung zu identifizieren und festzustellen, ob die Projektziele innerhalb des vereinbarten Umfangs und der vereinbarten Rahmenbedingungen (Zeit, Kosten, Qualität und sonstiges) erreicht wurden. Anschließend dokumentieren Sie den Projektabschluss und führen eine Überprüfung nach der Umsetzung durch. Berücksichtigen, umzuteilen oder ungenutzte Ressourcen für zukünftige Projektimplementierungen abzurufen. Abschließend werden die relevanten Teams über die Projektleistung und -entwicklung befragt.
(Vergleichen Sie die Software-Implementierung mit der Veröffentlichung.)
Softwareprojektmanagement unterstützt den Erfolg
Das Ziel einer strukturierten Projektmanagementpraxis für Software ist es nicht, mehr Arbeit hinzuzufügen. Stattdessen geht es darum, die Arbeit durch eine Reihe von Schritten und Aufgaben zu führen, die die Produktbereitstellung innerhalb der deinen Grenzen unterstützen. Jedes Framework sollte deine Fähigkeit unterstützen – nicht behindern –, dass du qualitativ hochwertige Projekte pünktlich und im Budget liefern kannst. Wenn nicht, schau dir an, in welcher Phase des Softwareprojekts du versäumst, und verbessere dich von dort aus.
Verwandte Literatur
- BMC DevOps Blog
- Einführung in Agile mit Scrum: 4 Tipps zum Einstieg
- Testautomatisierung erklärt: Warum und wie man Tests automatisiert
- Qualitätssicherung (QA) im Softwaretesting: QA-Ansichten und Best Practices
- IT als Produkt managen – kein Projekt
- Das Projektmanagementbüro (PMO) und seine Rolle in IT-Organisationen
Diese Beiträge sind meine eigenen und spiegeln nicht unbedingt die Position, Strategien oder Meinung von BMC wider.