Exkurs: Vorgehensmodelle

Warum brauchen wir Vorgehensmodelle?

  • (Professionelle) Software-Entwicklung ist keine reine ProgrammiertĂ€tigkeit

  • Erstellung von (professioneller) Software ist IngenieurtĂ€tigkeit

  • Kunden / Auftraggeber (auch intern) zahlen Geld fĂŒr ein Produkt

  • Bei der Erstellung sind (sehr) viele Personen beteiligt

  • Es gibt Termin- und ZeitplĂ€ne (die meist utopisch sind)

  • Es gibt mehr WĂŒnsche als umgesetzt werden können (sollten)

  • Software-Entwicklung wird (unweigerlich) zu einem Prozess

Probleme bei der Entwicklung komplexer Software-Systeme

  • Systeme werden immer komplexer

  • Tools entwickeln sich immer schneller

  • Entwicklung wird immer komplizierter

  • Wartung wird immer aufwĂ€ndiger

  • SchĂ€tzungen werden immer schwerer

  • Es wird immer schwerer den Überblick zu behalten

Anforderungen an die Software-Entwicklung

  • ZeitrĂ€ume werden immer kĂŒrzer

  • Anforderungen wachsen

  • Anforderung an QualitĂ€t steigt

  • Sicherheitsanforderungen steigen

  • Betriebs- und Wartungskosten sollen sinken

✅ Ein Plan muss her!

Was ist ein Vorgehensmodell?

Das meint Wikipedia:

Ein Vorgehensmodell zur Softwareentwicklung ist ein fĂŒr die Softwareentwicklung angepasstes Vorgehensmodell bei der professionellen („ingenieursmĂ€ĂŸigen“) Anwendungsentwicklung. Es dient dazu, die Softwareentwicklung ĂŒbersichtlicher zu gestalten und in der KomplexitĂ€t beherrschbar zu machen.

Vorgehensmodell

  • Vorgehensmodelle beschreiben einen allgemeinen Rahmen fĂŒr den organisatorischen Prozess der Software-Entwicklung

  • Vorgehensmodelle bestehen aus:

    • DurchzufĂŒhrende AktivitĂ€ten

    • Reihenfolge der AktivitĂ€ten und Phasen

    • Definition der Teilprodukte und Ergebnisse

    • Fertigstellungskriterien

    • Verantwortlichkeiten und Kompetenzen

    • Eventuell Mitarbeiterqualifikationen

    • Anzuwendende Standards, Richtlinien, Methoden und Werkzeuge

Ziele von Vorgehensmodellen

  • Kontrolle von Zeit, Budget und QualitĂ€t

  • Planbarkeit durch strukturierte und standardisierte Vorgehensweise

  • Optimieren des Entwicklungsprozesses

  • Vermeidung von Leerlaufzeiten und unnötigen Arbeiten

  • Minimierung von Projektrisiken

  • GewĂ€hrleistung der QualitĂ€t

  • Verbesserung der Kommunikation innerhalb und außerhalb des Projekts

  • Automatisierung durch Werkzeuge

Last updated