3. Vorgehensmodelle und Entwicklungsprozesse Flashcards

1
Q

Was ist ein Wasserfallmodell?

A

Ein lineares Vorgehensmodell in Phasen zur Softwareentwicklung, bei dem jede Phase klar definierte und dokumentierte Ergebnisse erzielt, bevor die nächste Phase startet. Rückschritte sind strenggenommen nicht vorgesehen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Welche Phasen im Wasserfallmodell gibt es?

A
  1. Anforderungsanalyse: Erhebung und Dokumentation der funktionalen und nicht-funktionalen Anforderungen (z. B. im Lastenheft).
  2. Design/Spezifikation: Erstellung eines Pflichtenhefts, das die genaue Umsetzung der Anforderungen beschreibt.
  3. Implementierung: Programmierung der Software basierend auf den Spezifikationen; enthält erste Modultests.
  4. Systemtests: Gesamtprüfung der Software, einschließlich Datenaustausch und Schnittstellen.
  5. Inbetriebnahme und Wartung: Bereitstellung der Software und langfristige Wartung zur Fehlerbehebung und Anpassung.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Welche Vorteile hat Wasserfallmodell?

A
  • Einfachheit und Verständlichkeit: Das Modell ist leicht zu erklären und zu verstehen.
  • Klare Dokumentation: Jede Phase erfordert eine klare Dokumentation, was die Nachvollziehbarkeit fördert.
  • Transparenter Fortschritt: Der Projektfortschritt ist durch den strukturierten Ablauf gut erkennbar und kontrollierbar.
  • Planbarkeit: Ermöglicht eine umfassende Aufwands-, Kosten- und Zeitplanung, sofern die Anforderungen zu Projektbeginn stabil sind.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Welche Nachteile hat Wasserfallmodell?

A
  • Unflexibilität bei Änderungen: Änderungen in den Anforderungen sind schwer umzusetzen, da das Modell keine Rückschritte erlaubt.
  • Späte Ergebnisvisualisierung: Die Anforderer sehen das fertige System erst spät im Prozess, wodurch unklare Anforderungen erst spät erkannt werden.
  • Hohe Anpassungskosten: Fehlerkorrekturen und Änderungen sind aufwändig, wenn sie erst in späten Phasen entdeckt werden.
  • Mangelnde Agilität: Das starre, lineare Vorgehen eignet sich schlecht für dynamische Projekte, in denen Anforderungen oft angepasst werden müssen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was ist eine agile Vorgehensweise?

A

Agile Vorgehensweise ist ein iterativer Entwicklungsprozess, bei dem die Software Schritt für Schritt verbessert wird. Ziel ist, frühzeitig funktionsfähige Prototypen bereitzustellen und diese kontinuierlich zu erweitern.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Welche Kernprinzipien hat agile Vorgehensweise?

A
  • Flexibilität bei Anforderungen: Änderungen sind jederzeit möglich, auch spät im Entwicklungsprozess.
  • Kurze Entwicklungszyklen: Regelmäßige Sprints (meist 2–4 Wochen) führen zu funktionsfähigen Softwareversionen.
  • Kundennähe und Feedback: Kunden und Anforderer können nach jedem Sprint Feedback geben, was die Anwenderakzeptanz erhöht.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Welche Beispiele gibt es für Agile Methoden?

A
  • Scrum: Ein strukturiertes agiles Framework mit klaren Rollen (Product Owner, Development Team, Scrum Master), definierten Ereignissen (Sprint, Daily Scrum) und Artefakten (Product Backlog, Sprint Backlog, Increment) für regelmäßige und iterative Produktentwicklung.
  • Kanban: Ein flexibles, visuelles System zur Optimierung von Arbeitsabläufen; Teams organisieren Aufgaben auf einem Kanban-Board und begrenzen laufende Arbeiten (Work in Progress), um den Entwicklungsfluss zu verbessern.
  • Extreme Programming (XP): Fokus auf technische Exzellenz und agile Prinzipien wie häufige Releases, Paarprogrammierung und Test-getriebene Entwicklung (TDD), um eine hohe Codequalität und schnelle Anpassungen an Kundenwünsche sicherzustellen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Welche Vorteile haben agile Vorgehensweisen?

A
  • Anpassungsfähigkeit: Agile Methoden erlauben flexible Anpassungen an veränderte Anforderungen.
  • Frühe und regelmäßige Softwareversionen: Durch die kurzen Sprints entstehen kontinuierlich funktionale Versionen.
  • Ständige Rückkopplung: Erhöht die Relevanz und Akzeptanz der Software.
  • Transparenz und Teamkommunikation: Regelmäßige Meetings fördern die Zusammenarbeit.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Welche Nachteile haben agile Vorgehensweisen?

A
  • Unklare Ziele zu Beginn: Fehlende Projektziele können zu Orientierungsproblemen führen.
  • Planungs- und Kostenschätzungsschwierigkeiten: Fehlende langfristige Planung erschwert Kostenschätzung und Zeitpläne.
  • Abhängigkeit von Kundenfeedback: Der Erfolg hängt von regelmäßiger Kundeneinbindung ab.
  • Teamdisziplin und Selbstorganisation: Agile Methoden verlangen hohe Eigenverantwortung und Disziplin im Team.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Welche Unterschiede gibt es zwischen Wasserfallmodellen und agilen Methoden?

A

Vorgehensweise:
- Wasserfallmodell: Sequenzielles Vorgehen mit klar definierten Phasen.
- Agile Methoden: Iteratives Vorgehen mit kurzen Entwicklungszyklen (Sprints).

Phasenübergänge:
- Wasserfallmodell: Jede Phase muss abgeschlossen und dokumentiert sein, bevor die nächste beginnt; Rückschritte sind nicht vorgesehen.
- Agile Methoden: Jede Iteration liefert eine lauffähige Softwareversion, die ständig weiterentwickelt wird.

Planbarkeit und Flexibilität:
- Wasserfallmodell: Gut planbar und kontrollierbar, jedoch unflexibel bei sich ändernden Anforderungen.
- Agile Methoden: Flexibel und anpassungsfähig, da Anforderungen laufend angepasst werden können.

Feedback:
- Wasserfallmodell: Feedback ist meist erst am Ende möglich, wenn das Produkt nahezu fertig ist.
- Agile Methoden: Kontinuierliches Kundenfeedback nach jedem Sprint, was die Relevanz und Qualität des Endprodukts erhöht.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was sind hybride Vorgehensmodelle?

A

Kombinieren Elemente von Wasserfall- und agilen Modellen, um die Vorteile beider Ansätze zu nutzen und deren Nachteile zu vermeiden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was ist ein typischer Ablauf bei hybriden Vorgehensmodellen?

A
  • Wasserfall für Planung: Zu Beginn werden Planung und Anforderungsdokumentation nach Wasserfallprinzipien erstellt, was als Basis für Festpreisangebote dienen kann.
  • Agile Implementierung: Während der Implementierung wird iterativ und agil vorgegangen, mit häufigen Feedbackschleifen, um die Kundenerwartungen besser zu erfüllen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wie sind hybride Modelle in der Praxis?

A

Viele Projekte nutzen hybride Modelle, da sie flexibel auf Faktoren wie Teamfähigkeiten und Änderungshäufigkeit der Anforderungen reagieren können, statt strikt einem Modell zu folgen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Welche Faktoren spielen eine Rolle bei der Auswahl eines Vorgehensmodells?

A
  • Klarheit der Anforderungen: Wie gut sind die Anforderungen zu Projektbeginn definiert?
  • Stabilität der Anforderungen: Wie wahrscheinlich sind Änderungen der Anforderungen während des Projekts?
  • Wissen und Erfahrung: Welche Kenntnisse haben Fachabteilungen, Projektmanagement und Entwicklungsteam über agile und klassische Vorgehensweisen?
  • Ergebniserwartungen: Werden schnell erste Ergebnisse gewünscht, oder ist ein vollständiges Endprodukt das Ziel?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Praxisbeispiel für CRM-Projekt und Argumente für Wasserfallmodell vs. agiles Vorgehen

A

Argumente für das Wasserfallmodell:
- Hohe Erfahrung im Unternehmen: Sowohl IT-Mitarbeiter als auch der Fachbereich sind an Wasserfallprojekte gewöhnt.
- Einfache Vertragsgestaltung: Für die externe Unterstützung erleichtert das Wasserfallmodell die Erstellung klarer Vertragsbedingungen.
- Dokumentation und Analyse: Eine umfassende Anforderungsdokumentation unterstützt die Auswahl einer passenden Standardsoftware-Lösung.

Argumente für ein agiles Vorgehen:
- Erfahrungen aus der Vergangenheit: Frühere IT-Projekte nach dem Wasserfallmodell haben häufig Termin- und Budgetziele überschritten.
- Unsichere Anforderungen: Die Anforderungsunsicherheiten und Meinungsunterschiede zwischen der Zentrale und den internationalen Standorten deuten darauf hin, dass agile Anpassungsmöglichkeiten sinnvoll wären, um flexibel auf Änderungen reagieren zu können.

Maßnahmen für Erfolgschancen für agiles CRM-Projekt:
- Schulungen in agilen Methoden: Projektmitglieder sollten in agilen Vorgehensweisen geschult werden, um ein gemeinsames Verständnis und die nötigen Fähigkeiten zu entwickeln.
- Stakeholder-Verständnis fördern: Projektstakeholdern wird die agile Vorgehensweise erklärt, um realistische Erwartungen und ein Verständnis für die iterative Arbeitsweise zu schaffen.
- Transparente Vertragsgestaltung mit Dienstleister: Der Vertrag mit dem externen Dienstleister sollte flexibel und transparent gestaltet sein, um Anpassungen im agilen Prozess zu unterstützen.
- Initiale Anforderungserhebung: Trotz des agilen Ansatzes ist eine umfassende Erhebung der grundlegenden Anforderungen zu Beginn sinnvoll, um die Auswahl der Standardsoftware zu erleichtern und das Projekt strukturiert zu starten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly