The AMOS Project (SD Role, VUE 10 ECTS) - Cheatsheet
Grundprinzipien der agilen Softwareentwicklung
Definition:
Grundlegende Werte und Prinzipien, die agile Methoden leiten.
Details:
- Individuen und Interaktionen über Prozesse und Werkzeuge
- Funktionierende Software über umfassende Dokumentation
- Zusammenarbeit mit dem Kunden über Vertragsverhandlungen
- Reagieren auf Veränderungen über das Befolgen eines Plans
Rollen und Verantwortlichkeiten im Scrum-Team
Definition:
Rollen und ihre Verantwortlichkeiten innerhalb eines Scrum-Teams.
Details:
- Scrum Master: Verantwortlich für die Einhaltung von Scrum-Regeln und für die Optimierung des Teamprozesses.
- Product Owner: Zuständig für das Product Backlog, priorisiert Aufgaben und stellt sicher, dass das Team wertvolle Funktionen liefert.
- Entwicklungsteam: Implementiert die vom Product Owner priorisierten Aufgaben, selbstorganisierend, cross-funktional.
- Stakeholder: Wichtige Interessenten, die Anforderungen und Feedback liefern.
Architekturmuster und -stile
Definition:
Architekturmuster und -stile sind grundlegende Organisationsprinzipien beim Entwurf von Softwaresystemen.
Details:
- Architekturmuster: z.B. Schichtenarchitektur, Microservices, Event-Driven Architecture
- Architekturstile: z.B. REST, SOAP, MVC
- Dienen der Strukturierung und Organisation von Systemkomponenten
- Ermöglichen Wiederverwendung bewährter Lösungen
- Verbessern Wartbarkeit, Skalierbarkeit und Flexibilität
Effektive Kommunikationstechniken
Definition:
Werkzeuge und Strategien, um klar und effizient Informationen auszutauschen.
Details:
- Aktives Zuhören: Aufmerksamkeit schenken, Feedback geben.
- Klarheit und Präzision: Vermeide Mehrdeutigkeit, nutze klare Sprache.
- Nonverbale Kommunikation: Körpersprache und Mimik bewusst einsetzen.
- Feedback geben und empfangen: Konstruktive Rückmeldung und Offenheit für Kritik.
- Kontextbewusstsein: Kommunikationsstil und -mittel dem Kontext anpassen.
- Empathie: Sich in das Gegenüber hineinversetzen.
Projektmanagementwerkzeuge: JIRA und Trello
Definition:
Projektmanagementwerkzeuge zur Aufgabenverfolgung und Kollaboration in Softwareprojekten.
Details:
- JIRA: Verwendet für Issue-Tracking und Projektmanagement. Bietet erweiterte Funktionen wie Sprints, Backlogs, und erweiterbare Workflows.
- Trello: Einfache, visuelle Aufgabenverwaltung mit Boards, Listen und Karten. Ideal für kleinere Teams und Projekte.
- Beide Tools unterstützen agile Methoden und Sprintplanung.
- Erlauben Integration mit anderen Entwicklungstools wie Confluence, Bitbucket und GitHub.
Kanban-Boards und ihre Anwendung
Definition:
Visuelles Tool zur Arbeitssorganisation und Produktivitätssteigerung.
Details:
- Einfaches Prinzip: To-Do, In Progress, Done-Listen.
- Konzentration auf minimale Implementierung und kontinuierliche Verbesserung.
- Erlaubt schnelle Identifizierung von Engpässen und Workflow-Optimierung.
- Flexibel anpassbar an unterschiedliche Projektanforderungen.
- Sichtbarkeit fördert Team-Kollaboration und Verantwortlichkeit.
- Gängig in agilen Methoden wie Scrum integriert.
Evaluierung und Auswahl von Architekturansätzen
Definition:
Prozess zur Bewertung und Entscheidung einer geeigneten Softwarearchitektur für ein Projekt.
Details:
- Bewertungsmatrix erstellen (Kriterien festlegen)
- Architekturansätze sammeln und beschreiben
- Kriterien: Skalierbarkeit, Wartbarkeit, Performanz, Kosten
- Nutzenmatrix anwenden (Gewichtung der Kriterien)
- Prototyping und Proof-of-Concept (optional)
- Risikoanalyse durchführen
- Entscheidung basierend auf analysierten Daten treffen
Konfliktmanagement im Team
Definition:
Prozess der Identifikation und Lösung von Konflikten innerhalb eines Teams, um Zusammenarbeit und Produktivität zu fördern.
Details:
- Frühzeitiges Erkennen von Konflikten
- Offene Kommunikation fördern
- Verwendung von Konfliktlösungsmethoden wie Mediation
- Klare Rollen und Verantwortlichkeiten festlegen
- Regelmäßiges Feedback geben und einholen