Projektmanagement: Prozessmodelle



Ähnliche Dokumente
Projektmanagement: Prozessmodelle und Projektorganisation

Projektmanagement. Dokument V 1.1. Oliver Lietz - Projektmanagement. Wie kommt es zu einem Projektauftrag? Ausführung

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit

Das Wasserfallmodell - Überblick

Ziele. Projektmanagement: Projektverlauf und Prozessmodelle. Aufgabenfelder Projektmanagement. Vorbemerkung: Wann wie viel?

Wirtschaftsinformatik I Teil 2. Sommersemester Übung

IT-Projekt-Management


Grundlagen Software Engineering

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

IT-Projektmanagement Teil 2: Der Gegenstand von SW-Projekten Kaiserslautern, WS 2008/2009 Dr. Gerhard Pews

Der Projektmanager (nach GPM / IPMA) Fragen zur Selbsteinschätzung und für die Prüfungsvorbereitung. Kapitel B Vorgehensmodelle

Software-Lebenszyklus

Prozess-Modelle für die Softwareentwicklung

Softwaretechnik. Fomuso Ekellem WS 2011/12

Block E (SW-Prozess & Projektmanagement): Vorgehensmodelle Vorlesung Methoden des Software Engineering

Wir erledigen alles sofort. Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind.

Systemdenken und Gestaltungsmethodik Einführung und Grundlagen II

Softwareentwicklungsprozesse. 18. Oktober 2012

Referent: Alessandro Arrigo AAM1. Professor: Prof. Dr. Heindl. Furtwangen,

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

Übungsaufgaben zum Software Engineering: Management

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

SOFTWARETECHNIK. Kapitel 7 Vorgehensmodelle. Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing.

Lösungen zum Test objektorientierter Software

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

Praktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle

Informationssystemanalyse Lebenszyklusmodelle 3 1. Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen:

SPI-Seminar : Interview mit einem Softwaremanager

3.4 Unified Process Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process.

oose. Was (noch) klassische Projekte von Scrum & Co lernen können eine empirische Studie

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Konsolidierung und Neuimplementierung von VIT. Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt

Agile Software Development

Projektplan. Software Engineering Projekt. November 11 Fachbereich Informatik Software Engineering Projekt Sebastian Proksch 1

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I)

Entwicklungsmethoden

Extreme Programming: Überblick

Agile Softwareprozess-Modelle

Andrea Grass & Dr. Marcus Winteroll oose Innovative Informatik GmbH. Geschäftsprozessmanagement und Agilität geht das zusammen?

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

07. November, Zürich-Oerlikon

Software Systems Engineering

Softwareentwicklungsprozesse optimieren. wie Sie die Vorteile klassischer und agiler Methoden erfolgreich kombinieren

10 Jahre agile Softwareentwicklung Wie erwachsen sind wir geworden?

Agile Prozessverbesserung. Im Sprint zu besseren Prozessen

Test-Driven Design: Ein einfaches Beispiel

Vitaphone Software Entwicklung Vorgehensmodell 19. Oktober 2011 Berlin. Dr. Michael Hübschen

Usability Engineering in agilen Projekten

PROJEKTMANAGEMENT GRUNDLAGEN_2

ecambria experts IT-Projekte in der Krise Ursachen und Vermeidungsstrategien aus Sicht eines Gerichtssachverständigen

Software- Entwicklungsaktivitäten und Vorgehensmodelle. Lebenszyklusmodell

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Agile Softwareentwicklung in der Versicherungs-IT Fehlschlag oder Heilsbringer?

INFOGEM AG Informatiker Gemeinschaft für Unternehmensberatung. Robust und Agil gegeneinander oder miteinander?

Scrum for Management Praxis versus Theorie oder Praxis dank Theorie. ALM Day 26.Oktober 2011 Urs Böhm

Software-Entwicklung

Übung Einführung in die Softwaretechnik

Some Software Engineering Principles

Agile Software Entwicklung. Agile Software Entwicklung, DHBW Karlsruhe, SS-2009 Collin Rogowski

WSR Softwarewartung und Prozessmodelle in Theorie und Praxis. Urs Kuhlmann Andreas Winter

Softwaretechnik. Fomuso Ekellem WS 2011/12

Kapitel 2: Der Software-Entwicklungsprozess

Extreme Programming. Frank Gerberding LINEAS Informationstechnik GmbH Theodor-Heuss-Straße 2 D Braunschweig

Phasen. Gliederung. Rational Unified Process

Gliederung. Einführung Phasen Ten Essentials Werkzeugunterstützung Aktivitäten, Rollen, Artefakte Werkzeug zur patternorientierten Softwareentwicklung

Was versteht man unter einem Softwareentwicklungsmodell?

Software Engineering (SE) 2) Phasenübergreifende Verfahren

Agile Methoden. David Tanzer. Oliver Szymanski

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Herkömmliche Softwareentwicklungsmodelle vs. Agile Methoden

Gruppe 2: Rui Gu, Wei Zhu, Veysel Imamoglu, Dimitar Dimitrov, Karl Oppermann, Nathalie Hrycej, Markus Schnalke, Christoph Galler

Projektmanagement durch Scrum-Proxies

ITIL und Entwicklungsmodelle: Die zwei Kulturen

Vorlesung Methoden des Software Engineering. Martin Wirsing. Einheit E.1,

Informationssystemanalyse Grundlagen 1 1

The Rational Unified Process. Eine Einführung von T. Langer und A. Nitert

BDI-Agenten für agile zielorientierte Geschäftsprozesse

Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement

Probeklausur. Lenz Belzner. January 26, Lenz Belzner Probeklausur January 26, / 16

3. Vorgehensmodelle Software Engineering. Prof. Dr. Bernhard Humm Hochschule Darmstadt, 23. Oktober 2006

Extreme Programming. Universität Karlsruhe (TH) Fakultät für Informatik Lehrstuhl für Programmiersysteme. Forschungsuniversität gegründet 1825

Soft Skills als Erfolgsfaktoren im anforderungsorientierten, agilen Projektmanagement am Beispiel der IT- Softwareentwicklung

Änderungsmanagement bei iterativer SW-Entwicklung

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

m.e.d. concept methode erfolg datenverarbeitung V-Modell XT im Überblick 2 V-Modell XT Einführung - Analyse und Roadmap 3

Softwaretechnik (Allgemeine Informatik) Überblick

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Erfahrungen über den Einsatz einer agilen Entwicklungsmethode fürdie Produktentwicklung unterstützt durch Polarion ALM forsubversion

Projektmanagement im Wandel

Agile Softwareentwicklung

Chancen agiler Softwareentwicklung. Dipl.-Inform. Henning Wolf Geschäftsführer der akquinet agile GmbH

- Agile Programmierung -

Klausur Software-Engineering SS 2005 Iwanowski

Transkript:

Projektmanagement: Prozessmodelle Martin Wirsing Institut für Informatik Ludwig-Maximilians-Universität München WS 2006/07

Ziele Wichtige Prozessparadigmen und Vorgehensmodelle wiederholen und in Zusammenhang mit Projekten stellen: Sequentiell ( Wasserfall ), iterativ ( spiralförmig ), leichtgewichtig ( agil ). 2

Tätigkeiten bei der Software-Entwicklung Anforderungsanalyse & Fachliche Konzeption Technische Konzeption (Design, Entwurf) Realisierung Integration & Test Und deren Einordnung in Vorgehensmodelle 3

Das sequentielle Paradigma Das sequentielle Paradigma bezeichnet ein sequentielles Vorgehen mit klar definierten Phasen und Ergebnissen Bekannteste Vorgehensmodelle: - Wasserfall-Modell - V-Modell 4

Wasserfallmodell (schematisch) Eingeführt von Walker Royce 1970, Weiterentwicklung der stufenweisen Entwicklung ( stagewise development ) von Benington 1956. Ansatz: Top-down Stufenmodell mit eingeschränkter Rückkopplung Phasensynchronisation durch (Zwischen-) Produkte Geringer Managementaufwand Charakteristika: - Jede Aktivität muss beendet sein, bevor die nächste beginnt. - Jede Aktivität ist in der richtigen Reihenfolge und in voller Breite vollständig durchzuführen. - Am Ende jeder Aktivität steht ein fertiggestelltes Dokument. 5

Das sequentielle Paradigma: Vor- und Nachteile Gut anwendbar bei klarer, relativ fixer Funktionalität: System- und Basissoftware wie OS, DB, Web-Server; Branchen-Software wie SAP R/3. Notwendig bei hohen Qualitäts- und Zuverlässigkeitsanforderungen: eingebettete Systeme (Automotive, Maschinenbau, Medizinische Geräte, Anlagensteuerung, Aerospace, Defense,...); Telekommunikations-Systeme; rechtliche Anforderungen wie Revisionssicherheit oder Nachvollziehbarkeit. Vorteile einfach durchzuführen schränkt Freiheitsgrade stark ein, daher auch für sehr große Projekte anwendbar sehr effizient bei bekannten und konstanten Anforderungen ist gut zu vermessen (notwendig z.b. für Prozessverbesserung) Nachteile Risiken gesammelt am Schluss ( Big Bang ) starr während des Ablaufs 6

Das iterative Paradigma Iterativ heißt, dass der Entwicklungsprozess mehrfach iteriert wird: statt den Wasserfall einmal zu durchlaufen, werden kleine Wasserfälle hintereinander gesetzt. 7

Das iterative Paradigma Das iterative Paradigma ist eine Weiterentwicklung des sequentiellen Paradigmas aus der Erkenntnis, dass Software länger lebt als erwartet und auch vom Funktionsumfang her gepflegt werden muss. Das iterative Paradigma unterstützt inkrementelle Entwicklung, d.h. dass das zu erstellende System nicht in einem Rutsch freigegeben wird, sondern in mehreren Stufen. Bekannteste Modelle: Spiral-Modell (ein Meta-Vorgehensmodell) Unified Process (RUP) Das agile Paradigma ist eine Form des iterativen Paradigmas in Verbindung mit frühem Prototyping, bei der nicht alle Tätigkeiten iteriert werden. 8

Rational Unified Process (RUP) RUP ist eine Weiterentwicklung von Jacobsons Objectory RUP hat UML als Sprache voreingestellt RUP wird von Rational/IBM bezeichnet als inkrementell & iterativ, architekturzentriert, und anwendungsfa ll-getrieben. Business Modeling Requirements Analysis & Design Implementation Test Deployment Configuration Mgmt Management Environment Core Workflows Inceptio n Preliminary Iteration(s) Elaboration Iter. #1 Iter. #2 Phasen Construction Iter. #n Iter. #n+ 1 Iter. #n+ 2 Iterationen Transition Iter. #m Iter. #m+ 1 9

Das iterative Paradigma: Vor- und Nachteile Vorteile Risiken können früher erkannt werden volatile Anforderungen können besser berücksichtigt werden inkrementelle Auslieferung wird erleichtert Nachteile Mehrarbeit komplexeres Projektmanagement schwerer messbar 10

Das adaptive Paradigma Unter einem adaptiven SW-Prozess versteht man eine Weiterentwicklung des iterativen Paradigmas, bei der die Planung der Iterationen dynamisch erfolgt und von Anfang an Prototypen erstellt werden Charakteristikum: kontinuierliche Anpassung an Änderungen Prinzipien: Individuum und Interaktion (geht) vor Prozess und Werkzeug ausführbare SW vor vollständiger Dokumentation Zusammenarbeit mit Kunden vor Vertragsverhandlung Berücksichtigung von Änderungen vor Beharren auf Plan Bekannte Vorgehensweisen: XP SCRUM,... 11

XP (Extreme Programming) Merkmale XP arbeitet mit kleinen Releases, unterteilt in Iterationen und Arbeitspakete. Anforderungsanalyse Aufgaben und Anforderungen in Form von Stories Beschränkung auf wenige Anforderungen pro Iteration Pair Programming Zwei Personen vor einem Rechner, einer programmiert, der andere ist Sparringspartner Enthält Elemente des Prototyping, allerdings ohne Wegwerfen Auftraggeber wird mit besser eingebunden, kann konkrete Ergebnisse sehen Prozess: Test-first: Zuerst Tests (Spezifikation) schreiben, dann programmieren. Kontinuierliches Refactoring 12

Das adaptive Paradigma: Vor- und Nachteile Vorteile Gut einsetzbar bei unklaren Zielen und sich ändernden Anforderungen/Umgebung Verspricht besseres Kosten/Nutzen-Verhältnis Vermutlich durchschnittliche Code-Qualität besser Nachteile Ergebnis ist nicht vorhersagbar Qualitätseigenschaften können nicht garantiert werden Oft nicht nachvollziehbar, wie eine Funktion zustande kommt 80-90% aller Software läuft auf eingebetteten Systemen. Das bezieht sich z.b. auf Maschinen und Anlagen jeder Art und Größe, Verkehrsmittel, Militärische Anwendungen, Medizinische Geräte. Hier sind Fehler fatal - ein agiler Prozess kommt nicht (oft) in Frage. Refactoring geht nicht bei Nicht-oo-Sprachen. Aber ein Großteil (ca. 90%) der bestehenden Applikationen weltweit ist in Cobol, PL1, Assembler und C, und OO-Sprachen sind nicht immer optimal. 13

Wasserfallmodell versus Inkrementelle Software-Entwicklung Was ist besser? 14

Wasserfallmodell versus Inkrementelle Software-Entwicklung Wasserfall Iteratives Vorgehen Hohe Sicherheit für Software-Anbieter Früher Nutzen für Kunden Gesamtblick (aber: zu viele Details) Besseres, qualifizierteres Feedback Unüberschaubare Konzeptpapiere Kosten für Übergangslösungen Geringere Flexibilität, aber Change- Schwieriger zu managen Request-Verfahren Geringeres Einführungsrisiko Nutzen erst bei Einführung Deckel drauf bekommen Einfache Struktur, Qualitätssicherung zwischen Phasen Entspricht Denkweise: Geld für definierte Leistung 15

Verbesserung: Gestuftes Vorgehen Wasserfall als Vorgehen stößt an Grenzen Große Projekte werden handhabbar Verringern des Risikos Fachliches Risiko Technisches Risiko Die elegante Art, nein zu sagen: Stufen bedeuten, dass Anforderungen nicht oder erst später erfüllt werden Widerstände müssen überwunden werden: Management-Aufgabe 16

Gestuftes Vorgehen Bei Aufsetzen des Projekts Immer den Umfang des Projekts im Auge behalten Bei größerem Umfang Stufung versuchen Umfang niemals unterschätzen! Nach Fachkonzeption oder Studie Zusätzlicher Schnittpunkt für Stufenbildung (fachlich) Indizien für zu großen Projektumfang Umfang der Konzeptpapiere: größer als 200 Seiten? Feedback der Reviewer/externen Beteiligten: wirken sie noch mit, lesen sie die Papiere? 17

Beispiele für gestuftes Vorgehen im Projekt 18

Zusammenfassung (1) Das sequentielle Prozessparadigma (Wasserfall, klassisches V- Modell) ist einfach durchzuführen auch für sehr große Projekte anwendbar sehr effizient bei bekannten und konstanten Anforderungen ABER Risiken gesammelt am Schluss ( Big Bang ) und starr während des Ablaufs Das iterative Paradigma (RUP, Spiralmodell) erleichtert frühe Erkennung von Risiken Berücksichtigung sich ändernder Anforderungen inkrementelle Auslieferung ABER es erfordert Mehrarbeit, komplexeres Projektmanagement und ist schwerer messbar 19

Zusammenfassung (2) Das agile Prozessparadigma (XP) ist Gut einsetzbar bei unklaren Zielen und sich ändernden Anforderungen/Umgebung Verspricht besseres Kosten/Nutzen-Verhältnis Vermutlich durchschnittliche Code-Qualität besser ABER das Ergebnis ist nicht vorhersagbar Qualitätseigenschaften können nicht garantiert werden Ein gestuftes Vorgehen verbindet die Vorteile von sequentiellem und iterativem Vorgehen und vermeidet Nachteile wie Big- Bang und hohem Mehraufwand. 20