The AMOS Project - Cheatsheet
Grundlagen der agilen Methodologien (Scrum, Kanban)
Definition:
Grundlagen der agilen Methodologien umfassen Scrum und Kanban, die zur Verbesserung der Effizienz und Flexibilität in der Softwareentwicklung verwendet werden.
Details:
- Scrum: Iterativer Ansatz, der in Sprints (zeitlich begrenzte Entwicklungsphasen) unterteilt ist.
- Rollen: Product Owner, Scrum Master, Entwicklungsteam
- Artefakte: Product Backlog, Sprint Backlog, Inkrement
- Ereignisse: Sprint Planning, Daily Scrum, Sprint Review, Sprint Retrospective
- Kanban: Visuelles System zur Steuerung des Workflows. Fokus auf kontinuierliche Lieferung.
- WIP-Limits setzen (Work in Progress)
- Kanban-Board zur Visualisierung
- Kontinuierliche Verbesserung
Sprint-Planung und -Durchführung
Definition:
Sprint-Planung und -Durchführung ist ein zentraler Bestandteil der agilen Softwareentwicklung, insbesondere im Scrum-Framework.
Details:
- Definition des Sprint-Ziels: Was soll bis zum Ende des Sprints erreicht werden?
- Backlog-Refinement: Auswahl und Klarstellung der User Stories für den Sprint
- Schätzung: Aufwandsschätzung der User Stories, z.B. mit Story Points
- Aufgabenteilung: Zerlegung der User Stories in einzelne Tasks
- Daily Scrum: Tägliches kurzes Meeting (15 Minuten) zur Synchronisation
- Review: Vorstellung der erzielten Ergebnisse am Ende des Sprints
- Retrospektive: Reflexion und Verbesserung des Prozesses nach jedem Sprint
User Stories und Product Backlog
Definition:
Kurze, einfache Beschreibungen einer Funktionalität, die aus der Perspektive des Nutzers geschrieben werden.
Details:
- User Stories: Beschreiben Anforderungen aus Nutzersicht
- Bestehen aus einer kurzen Beschreibung (Wer, Was, Warum)
- Formel: Als [Nutzerrolle] möchte ich [Ziel/Wunsch], um [Nutzen]
- Product Backlog: Liste aller User Stories und Aufgaben, die für das Produkt benötigt werden.
- Wird vom Product Owner gepflegt und priorisiert
- Ständige Anpassung und Erweiterung möglich
- Dient als Grundlage für Sprint-Planung
Paar-Programmierung und Code-Review-Prozesse
Definition:
Paar-Programmierung: Zwei Entwickler arbeiten gemeinsam an einem Computer. Ein Entwickler schreibt Code (Driver), der andere überprüft ihn (Navigator). Code-Review-Prozesse: Strukturierte Überprüfung und Verbesserung von Code durch Kollegen.
Details:
- Erhöht Code-Qualität und Wissenstransfer.
- Fördert gemeinsames Problemlösen und Fehlererkennung.
- Ziel ist die Verbesserung der Softwarequalität und das Finden von Fehlern vor der Produktion.
Einrichtung und Nutzung von CI/CD-Pipelines
Definition:
Einrichtung und Nutzung von Continuous Integration/Continuous Deployment (CI/CD)-Pipelines zur Automatisierung von Code-Integration und -Bereitstellung.
Details:
- Erstellung und Konfiguration einer CI/CD-Pipeline z.B. mit Jenkins, GitLab CI/CD oder Travis CI
- Automatisiertes Testen von Code bei jedem Commit mit Unit-Tests, Integrationstests
- Bereitstellung neuer Versionen in Staging-/Production-Umgebungen
- Verwendung von \texttt{Docker}, \texttt{Kubernetes} für Containerisierung und Orchestrierung
- Definition von Pipelines in YAML-Dateien (z.B. \texttt{.gitlab-ci.yml})
- Monitoring und Logging zur Sicherstellung der Pipeline-Funktionalität
Risikomanagement und -bewertung in Softwareprojekten
Definition:
Risikomanagement und -bewertung zielt darauf ab, potenzielle Risiken in Softwareprojekten frühzeitig zu identifizieren, zu analysieren, zu bewerten und zu mitigieren.
Details:
- Identifizierung: Potenzielle Risiken erkennen und dokumentieren.
- Analyse: Bewertung der Wahrscheinlichkeit und Auswirkung der identifizierten Risiken.
- Bewertung: Risiken priorisieren und kategorisieren nach ihrer Kritikalität.
- Mitigation: Strategien entwickeln und implementieren, um Risiken zu minimieren oder zu vermeiden.
- Überwachung: Risikoüberwachung und Anpassung von Maßnahmen bei Bedarf.
- Methoden: SWOT-Analyse, Brainstorming, Checklisten, historische Daten.
Werkzeuge zur Projektverfolgung (Jira, Trello)
Definition:
Werkzeuge zur Projektverfolgung wie Jira und Trello unterstützen Teams bei der Verwaltung von Aufgaben und Projekten.
Details:
- Jira: Umfangreiches Tool für Softwareentwicklung, bietet Funktionen wie Backlog-Verwaltung, Scrum- und Kanban-Boards, und Fehlerverfolgung.
- Trello: Einfaches, visuelles Tool zur Aufgabenverwaltung mit anpassbaren Boards, Listen und Karten.
- Beide Tools ermöglichen die Zusammenarbeit im Team und die Transparenz des Projektstatus.
- Integration mit anderen Werkzeugen und Plattformen zur Automatisierung und Erweiterung der Funktionalitäten möglich.
Techniken zur effektiven Präsentation von Projektergebnissen
Definition:
Techniken zur effektiven Präsentation von Projektergebnissen - Präsentationsmethoden und -tipps, um die Ergebnisse eines Projekts klar und überzeugend darzustellen.
Details:
- Strukturierung: Klare Einteilung in Einleitung, Hauptteil und Schluss.
- Visualisierung: Einsatz von Diagrammen, Grafiken und Bildern zur Veranschaulichung.
- Klarheit und Prägnanz: Wichtige Punkte hervorheben, unnötige Details vermeiden.
- Technologische Hilfsmittel: Nutzung von PowerPoint, Prezi, etc.
- Interaktive Elemente: Einbau von Fragen und Diskussionen zur Einbindung des Publikums.
- Proben: Mehrfaches Üben der Präsentation zur Sicherheit und Zeitkontrolle.