Prozesse und Projekte



Ähnliche Dokumente
Projektmanagement iterativer Projekte

IT-Projekt-Management

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


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

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

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

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Grundlagen Software Engineering

Wieviel Wasserfall braucht die Softwareentwicklung?

Erfolgreiche Realisierung von grossen Softwareprojekten

3.2,,Eichung von Function Points (Berichtigte Angabe)

Benötigen wir einen Certified Maintainer?

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

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

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

Einführung in das Scrum Framework & welche 10 Praktiken helfen, Scrum wirklich gut zu machen

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

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

Vorgehensmodelle zur Softwareentwicklung

Wirtschaftsinformatik I Teil 2. Sommersemester Übung

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle

Dokumentation für die Software-Wartung

Kapitel 2: Der Software-Entwicklungsprozess

Der Rational Unified Process

Abschnitt 16: Objektorientiertes Design

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

SPI-Seminar : Interview mit einem Softwaremanager

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

Usability Engineering in agilen Projekten

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Prozess-Modelle für die Softwareentwicklung

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

Agile Werkzeuge für den Produktmanagementzyklus vom Konzept bis zur Auslieferung

Qualitätsmanagement im Projekt

Zusammenfassung der Vorlesung

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

Extreme Programming: Überblick

SERVICE SUCHE ZUR UNTERSTÜTZUNG

Qualitätssicherung im Lebenszyklus des itcs. Anspruch und Wirklichkeit.

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

MyProcess AG Kurzprofil

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

Software Projekt 2 / Gruppe Knauth Lernziele:

Übungsaufgaben zum Software Engineering: Management

Scrum. Übung 3. Grundlagen des Software Engineerings. Asim Abdulkhaleq 20 November 2014

Requirements Engineering für die agile Softwareentwicklung

Fachhochschule für Technik und Wirtschaft Berlin FB4: Wirtschaftsinformatik

Agile Softwareentwicklung

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

Oktober 2014 PRODUKTENTWICKLUNG. Dr. Ralf Lauterbach

Machbar? Machbar!

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

Ausgangslage, Rolle und Auftrag

IT-Beratung: Vom Geschäftsprozess zur IT-Lösung

Die Welt der SW-Qualität Ein Streifzug in 30 Minuten! Johannes Bergsmann Eigentümer

Unsere These: Meilensteindefinitionen sind wichtig für die Projektplanung und die Bewertung des Projektstatus.

Fallbeispiel. Auswahl und Evaluierung eines Software- Lokalisierungstools. Tekom Herbsttagung 2004 Angelika Zerfaß

Einführung und Motivation

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

READY-STEADY-DONE! Der Product Owner are you READY for agile?!

ITIL und Entwicklungsmodelle: Die zwei Kulturen

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

Reference Migration Process ReMiP

SO WERDEN LÖSUNGEN HÖCHSTEN ANSPRÜCHEN

Agilität selbst erfahren. Agile Softwareentwicklung in der Praxis: Jetzt bewerben für das erste Agile Code Camp 2013!

BDI-Agenten für agile zielorientierte Geschäftsprozesse

Modul 5: Service Transition Teil 1

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

Dr. Wolfgang Göbl Raiffeisen Solution

Scrum. Agile Software Entwicklung mit. Agile Software Entwicklung mit. Scrum. Raffael Schweitzer 18. November 2003

Modul 3: Service Transition

GI Fachgruppentreffen RE 2015

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

Experience. nr.52. ERNI Erfahrungsberichte rund um Management-, Prozess- und Technologiethemen. märz 2012

Projektmanagement Vorlesung 14/ 15: Wiederholung ausgewählter Themen zur Klausurvorbereitung. Prof. Adrian Müller, PMP, PSM-1, CSM FH Kaiserslautern

Software Systems Engineering

Praktische Erfahrungen beim Einsatz des Vorgehensmodells "SCRUM" bei AGFA HealthCare

Auswahl alter Klausuraufgaben aus einer ähnlichen Vorlesung Maßgeblich für die Prüfung sind die Vorlesungsinhalte!

17 Architekturentwurf Vorgehen und Dokumentation

Der Business Analyst in der Rolle des agilen Product Owners

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

Software- Entwicklungsaktivitäten und Vorgehensmodelle. Lebenszyklusmodell

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Software Engineering. Dokumentation. Wintersemester 2005/06. Kapitel 21. Universität Zürich Institut für Informatik

Meetings in SCRUM. Leitfaden. Stand:

SLA Einführung bei der Stuttgarter Volksbank AG - Ein Praxisbericht -

Projektmanagement Vorlesung 12/ 13

Klausur Softwaretechnik Feb. 2008

Trotz Agilität nicht ins Abseits geraten Modellierung in einem agilen Umfeld. Susanne Mühlbauer, Philip Stolz, HOOD GmbH MID Insight 2012

6. Programmentwicklung

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

Agile for Mobile. Erfahrungen mit der agilen Entwicklung von Anforderungen für mobile Business Applikationen. Ursula Meseberg microtool GmbH, Berlin

RUP Analyse und Design: Überblick

Formwerk AG. Die Sicherstellung konsistenter Nutzungserlebnisse über den gesamten SW-Produktlebenszyklus durch Human Centered Design.

Lehrplan: Grundlagen der industriellen So4ware- Entwicklung. paluno

Unsere Kunden erzählen keine Geschichten. Ursula Meseberg microtool GmbH Berlin

Transkript:

Universität Stuttgart 30.04.08 Prozesse und Projekte Planung unter schwierigen Randbedingungen Matthias Wetzel wetzelms@informatik.uni-stuttgart.de Abteilung Software Engineering 1 / 24

Agenda Inhalt der Vorlesung: Grundlagen Prozesse Kritische Punkte im Projektverlauf Lösungsansätze 2 / 24

Begriffsdefinition Prozess process. (1) A sequence of steps performed for a given purpose; for example, the software development process. (2) An executable unit managed by an operating system scheduler. See also: task; job. (3) To perform operations on data. software development process. The process by which user needs are translated into a software product. The process involves translating user needs into software requirements, transforming the software requirements into design, implementing the design in code, testing the code, and sometimes, installing and checking out the software for operational use. Note: These activities may overlap or be performed iteratively. See also: incremental development; rapid prototyping; spiral model; waterfall model. IEEE Std. 610.12-1990 A process describes who is doing what, how, and when. Kruchten, Rational Unified Process: An Introduction 3 / 24

Prozess-Paradigmen Das Prozess-Paradigma bezeichnet die Vorgehensweise, die einem Prozess oder einem Prozessmodell zugrundeliegt: diese kann wasserfallartig oder iterativ sein: Wasserfall Prozess Business modelling Requirements Analyse und Design Iterativer Prozess Implementierun g Modultest Integrations- Test Produktreife Auslieferun g Configuration Management 4 / 24

Wasserfallmodell nach Royce (vereinfacht) 5 / 24

Wasserfallmodell und Phasenmodell Wasserfallmodell (aktivitätszentriert): Software-Entwicklung ist sequentielle Folge von Aktivitäten, die durch Teilergebnisse (Dokumente) gekoppelt sind. Reihenfolge der Aktivitäten ist fest definiert. Rücksprünge (möglichst) vermeiden Vom Wasserfallmodell zum Phasenmodell: Einführung von Meilensteinen (Strikt sequentielle) Phasen sind durch Meilensteine getrennt Unterschied Aktivität Phase: Phasen zeitlich begrenzt und überlappungsfrei (Evtl.) Mehrere Aktivitäten in einer Phase 6 / 24

Iteratives Vorgehen: Rational Unified Process Rational 7 / 24

Ablauf einer einzelnen Iteration Iteration n - 1 Detail Planung für Iteration n Zielfestlegung Achtung: Erfolgsmessung soll möglich sein! 2 6 Wochen Startup Meeting Evaluationsfolgen wie z.b. Nacharbeit, Fehlerbeseitigung, Iteration n Geplante Iterationen Tasks Evaluation der Zielerreichung Detail Planung für Iteration n + 1 Zeit Evaluation Meeting Evaluation / Acceptance Iteration n + 1 8 / 24

Projektfortschritt bei iterativem Vorgehen Prozessbeschreibung Evaluation GUI Prototyp Benutzer Akzeptanz Architektur- Durchstich für einen Geschäftsprozess Last-Tests, Technologie und Performance Evaluation V 0.5 Betatest... V 0.7 Betriebs-Übergabe, Pilotbetrieb V 0.8 Anwender-Training V 0.9 Probebetrieb Configuration Management 9 / 24

Vergleich der Prozess-Paradigmen (1) Hauptnachteil beim Wasserfall: Vollständige, konsistente Spezifikation vor Beginn der Implementierung unrealistisch [Brooks, Balzer, Boehm, Gilb, Parnas] Das heißt aber natürlich nicht, dass man überhaupt keine Spezifikation schreiben sollte! Weitere Nachteile: [Boehm]: A prototype is worth 100.000 words (IKIWISI) Review von 5.000+ Seiten nicht machbar Gold plating [Mills]: Projekte zu groß für intellektuelle Kapazität [Kruchten]: Umfangsänderungen schwer realisierbar 10 / 24

Vergleich der Prozess-Paradigmen (2) Nachteile iterativen Vorgehens: [Boehm]: Inflexible point solutions High-risk downstream capabilities (z.b. Sicherheit, Fehlertoleranz etc.) Off-target initial release [Schmidberger]: Schwierigere Untervergabe an Subcontractors Schwierigere Aufwandsschätzung klassisches Festpreisprojekt auf Basis einer vollständigen Spezifikation nicht möglich [Wetzel]: Extreme Abhängigkeit vom Kunden (möglichst) 11 / 24

Inkrementelles Vorgehen / Treppenmodell Inkrementelles Vorgehen: Realisierung in Ausbaustufen Erste Stufe ist Kernsystem Ausbaustufen erweitern das System i.d.r. eigene Projekte; Vorgehen iterativ oder wasserfallartig Treppenmodell: Hauptunterschied Inkrementelles Vorgehen Treppenmodell: Treppenmodell: parallele Entwicklung durch Teilteams Inkrementelles Vorgehen: sequentielle Entwicklung durch 1 Team 12 / 24

Gruppenarbeit Sie sollen als Projektleiter ein 12-Personen- Projekt planen. Die vorgesehene Dauer ist ein Jahr, nach 5 Monaten muss ein erstes Release mit reduzierter Funktionalität aber in Produktqualität bereitstehen. Welche Vor- und Nachteile hat ein Inkrementelles Vorgehen vs. ein Vorgehen nach dem Treppenmodell? Bearbeitung in 3er-Teams, 5min Bearbeitungszeit anschließend Diskussion 13 / 24

Kritische Punkte im Projektverlauf (1) Anforderungserhebung: Entwurf: ausreichend detailliert für Diskussion mit Kunden genau genug für Definition von Arbeitspaketen Auswahl geeigneter Technologie Entwurf einer tragfähigen Architektur, Erweiterungsmöglichkeiten Implementierung: Parallelisierung nötig <OpenConf> Termindruck: 1. Release (robust, sicher) bis Mitte September 2008 2. Release (komplette Funktionalität) bis Ende März 2009 14 / 24

Kritische Punkte im Projektverlauf (2) Test / QS allgemein: Sicherstellung einer ausreichenden Qualität für Produktiveinsatz Definition allgemeiner Richtlinien zur QS Auslieferung: Definierter, getesteter Programmstand Konfigurationsverwaltung Betrieb: Wartung: Richtlinien für HelpDesk und Support Nachführung von Änderungen Konfigurationsverwaltung Kommunikation, Risikomanagement, Ressourcenplanung etc. 15 / 24

Anforderungserhebung Ideen? Notation: Erhebung: Use Cases User Stories Benutzerhandbuch Kundenbefragungen Widersprüchliche Anforderungen verschiedener Kunden? Prototyping 16 / 24

Entwurf Ideen? Notation: UML-Komponentendiagramm UML-Klassendiagramme Erstellung einer Architektur: Frameworks: http://java-source.net/open-source/web-frameworks Musterarchitekturen Entwurfsmuster 17 / 24

Implementierung Ideen? Arbeitsverteilung: Codierung: Parallelisierung auf Basis des Entwurfs (z.b. GUI, Datenmodell) Java-Code HTML-Seiten Pair Programming? 18 / 24

Test Ideen? Test: Testplattform? Modul-/Integrations-/Systemtest Vorbereitung / Dokumentation von Tests QS allgemein: Spezifikationsreviews, Code-Reviews... Prüfplan? 19 / 24

Auslieferung Ideen? Auslieferung: <OpenConf> Harte Deadline Definierter und getesteter Versionsstand Verfügbarkeit des Zielsystems Akzeptanzkriterien / Vorgehen bei Abnahme 20 / 24

Betrieb Ideen? Verantwortlichkeiten: Schulungen? Ansprechpartner im Projekt für auftretende Probleme: Hotline Incident Management Datensicherheit: Durchführung von Backups 21 / 24

Wartung Ideen? Wartungsaktivitäten: Fehlerdatenbank Workflow für Aufspielen von Patches Nachziehen von Änderungen in Endversion Berücksichtigung neuer Anforderungen 22 / 24

Weitere kritische Punkte Ideen? Sonstiges:... Kommunikation: Regelmäßige Treffen, Chats, email, Wikis... Risikomanagement: Ausfall von Mitarbeitern, Hardware Ressourcenplanung: Prüfungszeiten, Urlaub Rollenverteilung: Projektleiter, QS, Technologiespezialisten 23 / 24

Diskussion Vielen Dank für Ihre Aufmerksamkeit! Gibt es Fragen oder Anmerkungen? 24 / 24