Software Projektmanagement - Cheatsheet
Definition der Projektziele und Erstellung eines Projektplans
Definition:
Projektziele definieren und einen Projektplan erstellen
Details:
- Projektziele: klare, messbare Ziele formulieren.
- SMART-Kriterien: Spezifisch, Messbar, Akzeptiert, Realistisch, Terminiert.
- Projektplan: Strukturierung in Phasen und Meilensteine.
- Aufgabenverteilung: Verantwortlichkeiten zuweisen (RACI-Matrix nutzbar).
- Ressourcenplanung: Zeit, Budget, Personal einplanen.
- Risikoanalyse: potenzielle Risiken identifizieren und bewerten.
- Gantt-Diagramm: Zeitplan visualisieren.
- Kontrollmechanismen: regelmäßige Reviews und Meilenstein-Meetings einplanen.
Aufwandsschätzung und Zeitplanung
Definition:
Aufwandsschätzung und Zeitplanung in Softwareprojekten zur Definition von Zeitrahmen und Ressourcenbedarf.
Details:
- Schätzmethoden: Expertenurteil, Analogiemethode, Parametrische Schätzung, COCOMO, Function Points, Story Points.
- Planungstechniken: Gantt-Diagramme, Netzplantechnik, Meilensteintrendanalyse.
- Formeln: Schätzungen für Personentage (PT): \[ PT = \frac{Gesamtaufwand}{Produktivität} \]
- Pufferzeiten berücksichtigen.
- Prüfen und Anpassen der Schätzungen im Projektverlauf.
Risikobewertung und Entwicklung von Notfallplänen
Definition:
Identifikation, Analyse und Bewertung potenzieller Risiken im Projekt; Entwickeln von Strategien, um auf unerwartete Ereignisse effektiv zu reagieren.
Details:
- Risikobewertung umfasst die Identifikation von Risiken, ihre Wahrscheinlichkeit und ihre Auswirkungen.
- Methoden: SWOT-Analyse, Monte-Carlo-Simulation, Risiko-Checklisten.
- Notfallpläne: Dokumente und Prozesse zur Minimierung der Auswirkungen von Risiken.
- Pläne beinhalten Kommunikationsstrategien, Verantwortlichkeiten und spezifische Maßnahmen.
- Periodische Überprüfung und Aktualisierung der Pläne.
Qualitätssicherung: Testmethoden und Fehlertracking
Definition:
Überwachung und Verbesserung der Produktqualität durch systematisches Testen und Nachverfolgen von Fehlern.
Details:
- Testmethoden: Unit-Tests, Integrationstests, Systemtests, Abnahmetests
- Fehlertracking-Tools: JIRA, Bugzilla, Mantis
- Testautomatisierung: Verwendung von Tools wie Selenium, JUnit, TestNG
- Teststufen und -strategien festlegen
- Klassifizierung und Priorisierung von Softwarefehlern
- Regelmäßige Reviews und Code-Inspektionen
Agile Methoden: Scrum und Kanban
Definition:
Agile Methoden: Scrum und Kanban - Frameworks zur flexiblen und inkrementellen Entwicklung von Software.
Details:
- Scrum: Ein iteratives Framework mit festen Rollen, Ereignissen und Artefakten.
- Rollen: Product Owner, Scrum Master, Entwicklungsteam
- Ereignisse: Sprint, Sprint Planning, Daily Scrum, Sprint Review, Sprint Retrospective
- Artefakte: Product Backlog, Sprint Backlog, Increment
- Kanban: Ein flexibles Managementframework zur Optimierung von Arbeitsprozessen.
- Prinzipien: Visualisiere den Arbeitsfluss, Begrenze die WIP (Work in Progress), Manage den Arbeitsfluss, Stelle klare Prozessregeln auf, Implementiere Feedback-Loops
- Kanban-Board: Spalten für Aufgabenstatus (z.B. To Do, In Progress, Done)
Kommunikationstechniken und Konfliktmanagement
Definition:
Kommunikationstechniken und Konfliktmanagement sind wesentliche Fähigkeiten in der Zusammenarbeit und Teamarbeit, um Missverständnisse zu vermeiden und Konflikte effektiv zu lösen.
Details:
- Aktives Zuhören: Empfänger gibt Rückmeldung, dass er verstanden hat
- Ich-Botschaften: Drücken persönliche Gefühle und Bedürfnisse aus, ohne zu beschuldigen
- Feedback-Regeln: Konstruktives Feedback ist konkret, zeitnah, und auf Verhaltensweisen bezogen
- Konfliktlösungsstrategien: Verhandeln (Ziel: Win-Win), Mediation, Moderation
- Eskalationsstufen nach Glasl: 9 Stufen der Konflikteskalation; Managementtechniken je nach Stufe
Projektmanagement-Software und Versionskontrollsysteme
Definition:
Projektmanagement-Software unterstützt die Planung, Durchführung und Überwachung von Projekten. Versionskontrollsysteme (VCS) verwalten Quellcode-Änderungen und ermöglichen Kollaboration.
Details:
- Bekannte PM-Tools: Jira, Trello, Microsoft Project
- PM-Software-Funktionen: Aufgabenverwaltung, Zeitplanung, Ressourcenverwaltung, Berichterstellung
- VCS-Typen: zentralisiert (z.B. SVN), verteilt (z.B. Git)
- Git-Kommandos:
commit
, push
, pull
, branch
, merge
- Branching-Strategien: Feature-Branch, Git-Flow, Trunk-Based Development
- Continuous Integration (CI): Automatisierte Builds/Tests, Tools: Jenkins, Travis CI
Automatisierung von Arbeitsabläufen
Definition:
Automatisierung von Arbeitsabläufen zielt darauf ab, wiederholbare Aufgaben und Prozessabschnitte durch Software oder Hardware zu automatisieren, um Effizienz zu steigern und Fehler zu reduzieren.
Details:
- Reduziert manuelle Eingriffe und Fehler
- Erhöht die Produktivität und Konsistenz
- Nutzt Skripte, Bots oder spezialisierte Software
- Kann Continuous Integration (CI) und Continuous Deployment (CD) umfassen
- Erfordert oft initiale Investitionen in Zeit und Ressourcen