41
Softwareentwicklung und Projektmanagement Fr. Hauser, WS 2018/2019

Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Softwareentwicklung und Projektmanagement

Fr. Hauser, WS 2018/2019

Page 2: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Agenda

1. Organisatorisches

2. Überblick & Motivation

3. Klassisches Projektmanagement

4. Tools (klassisches PM)

5. Agiles Projektmanagement – Einführung

6. Agiles Projektmanagement - Scrum

2Softwareentwicklung und Projektmanagement18.10.2018

Page 3: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

1. Organisatorisches

Veranstaltung

1. Bw(Ba)3.13 – 3.18: Donnerstags 07:45 - 11:00 (ungerade Wochen)

2. Bw(Ba)3.07 – 3.12: Donnerstags 07:45 - 11:00 (gerade Wochen)

3. Bw(Ba)3.01 – 3.06: Donnerstags 11:30 - 15:00 (ungerade Wochen)

Ort: Labor

3Softwareentwicklung und Projektmanagement18.10.2018

Page 4: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Materialien/Fallstudien

Im Moodle (Softwareentwicklung und Projektmanagement WS 2018/19)

Oder unter nina.stodolka.com -> EAH Jena -> WS 18/19 -> Softwareentwicklung und Projektmanagement

4Softwareentwicklung und Projektmanagement18.10.2018

1. Organisatorisches

Page 5: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Prüfungsleistung:

Klausur 90 min

100 Punkte

Bonuspunkte (10 Punkte) für Klausur durch Vortrag möglich

Musterklausur mit und ohne Lösungen wird ca. 4 Wochen vor der Klausur bereitgestellt

Fragen der Musterklausur kommen nicht in Klausur dran, es soll die Art der Fragen verdeutlicht werden

5Softwareentwicklung und Projektmanagement18.10.2018

1. Organisatorisches

Page 6: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Ziele

Überblick über Projektmanagement (agil)

Überblick zu den Tools - mit Vorstellung & Übung

Übersicht über Themen der Softwareentwicklung

Erste eigene Erfahrungen sammeln

Kenntnis der Schnittstellen zu anderen Bereichen

Vorstellung der Aufgaben/Rollen

Präsentationsfähigkeiten stärken

6Softwareentwicklung und Projektmanagement18.10.2018

2. Überblick & Motivation

Page 7: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Zielerreichung durch:

Vorlesung

Gruppenarbeiten, individuelle Übungen

Einzel-Vorträge

Vorträge von Praxispartnern

Wichtig: Vorlesungsfolien sollen Mitschrift erleichtern, enthalten nicht alle Informationen, um sich den Stoff eigenständig zu erarbeiten.

7Softwareentwicklung und Projektmanagement18.10.2018

2. Überblick & Motivation

Page 8: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Vorträge:

Termine vorläufig, ggf. Verschiebung durch Praxisvorträge

max. 5 Minuten

Präsentationen bitte spät. zum Vortrag abgeben

Inhalte sind ebenfalls klausurrelevant

Ziele:

Professionell präsentieren

Frei sprechen

Strukturierung von Themen

8Softwareentwicklung und Projektmanagement18.10.2018

2. Überblick & Motivation

Page 9: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Anforderungen an die Vorträge Aufbau & Gliederung & Qualität

Quantität & Zeit

Gestaltung & Quellen

Redefluss

Ausdrucksvermögen & Sprachrichtigkeit

Blickkontakt

Mimik & Gestik

Sprechweise & Sprechtempo

Wirksamkeit

Hintergrundwissen

9Softwareentwicklung und Projektmanagement18.10.2018

2. Überblick & Motivation

Page 10: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Themen 1. Lean 2. Design Thinking 3. Wekan 4. Trello 5. Basecamp 6. Vertragsarten im agilen Umfeld 7. Gegenüberstellung agiles und

klassisches Projektmanagement 8. Use Cases 9. Pflichtenheft (& Unterschied

zum Lastenheft) 10. Anforderungsmanagement

11. Schätzmethoden: Experten & Delphi

12. Schätzmethoden: CoCoMo & FPA

13. Mock-Up Tool 14. Bugtrackertool 15. Continous Integration 16. Dev Ops 17. Objektorientierte

Programmierung 18. Modularisierung 19. Versionsmanagement &

Workflows 20. Dokumentation

10Softwareentwicklung und Projektmanagement18.10.2018

2. Überblick & Motivation

Page 11: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

11Softwareentwicklung und Projektmanagement18.10.2018

3. Klassisches Projektmanagement

Page 12: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

12Softwareentwicklung und Projektmanagement18.10.2018

3. Klassisches Projektmanagement

Page 13: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Weitere (bekannte) Vorgehensmodelle Wasserfall

V-Modell

13Softwareentwicklung und Projektmanagement18.10.2018

3. Klassisches Projektmanagement

Page 14: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Wasserfall

14Softwareentwicklung und Projektmanagement18.10.2018

3. Klassisches Projektmanagement

Page 15: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Wasserfall

Weite Verbreitung in der industriellen Praxis

Phasenweises Vorgehen

Sequentiell aufeinanderfolgende Phasen

Ergebnisorientierte Arbeitsweise

16Softwareentwicklung und Projektmanagement18.10.2018

3. Klassisches Projektmanagement

Page 16: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Wasserfall Vorteile

Methodisch fundiert Technisch ausgereiftes Konzept zur Systemstrukturierung Wirkungsvolle Mittel für Projektführung

Nachteile▬Mangelnde Flexibilität▬Softwarebürokratie -> Dokumente zu festen Zeitpunkten▬Realitätsferne

▬Trennung von Anwender – und Entwicklerwelt

17Softwareentwicklung und Projektmanagement18.10.2018

3. Klassisches Projektmanagement

Page 17: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

V-Modell

18Softwareentwicklung und Projektmanagement18.10.2018

3. Klassisches Projektmanagement

Page 18: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

V-Modell Phasenmodell -> auch hier Ergebnisse als bindende

Vorgaben der nächsten Phase

Unterschied zum Wasserfall-Modell: der Spezifikation gegenübergestellte Testphasen

In Literatur unterschiedliche Anzahl an Phasen und Bezeichnungen, aber immer mit Gegenüberstellung von Spezifikation und Tests

Vorgehensmodell für IT Entwicklungsprojekte der Bundesrepublik Deutschland

20Softwareentwicklung und Projektmanagement18.10.2018

3. Klassisches Projektmanagement

Page 19: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Projektplan / Gantt-Chart

21Softwareentwicklung und Projektmanagement18.10.2018

4. Tools (klassisches PM)

Page 20: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Projektplan

22Softwareentwicklung und Projektmanagement18.10.2018

4. Tools (klassisches PM)

Quelle: https://www.projectmanager.com/gantt-chart

Page 21: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Projektplan

23Softwareentwicklung und Projektmanagement18.10.2018

4. Tools (klassisches PM)

Quelle: http://www.covalconsultores.com/kanban-como-nos-hemos-empezado-a-organizar-en-nuestra-propia-casa/

Page 22: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Projektplan / Gantt-Chart

Infos:

24Softwareentwicklung und Projektmanagement18.10.2018

4. Tools (klassisches PM)

Page 23: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Übungsaufgabe

26Softwareentwicklung und Projektmanagement18.10.2018

4. Tools (klassisches PM)

Page 24: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Häufige Änderungen

Schnellere Zyklen

28Softwareentwicklung und Projektmanagement18.10.2018

5. Agiles Projektmanagement - Einführung

Page 25: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Agiles Manifest

http://agilemanifesto.org/iso/de/manifesto.html

Individuen und Interaktionen mehr als Prozesse und Werkzeuge

Funktionierende Software mehr als umfassende Dokumentation

Zusammenarbeit mit dem Kunden mehr als Vertragsverhandlung

Reagieren auf Veränderung mehr als das Befolgen eines Plans

29Softwareentwicklung und Projektmanagement18.10.2018

5. Agiles Projektmanagement - Einführung

Page 26: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Unsere höchste Priorität ist es, den Kunden durch frühe und kontinuierliche Auslieferung wertvoller Software zufrieden zu stellen.

Heisse Anforderungsänderungen selbst spät in der Entwicklung willkommen. Agile Prozesse nutzen Veränderungen zum Wettbewerbsvorteil des Kunden.

Liefere funktionierende Software regelmäßig innerhalb weniger Wochen oder Monate und bevorzuge dabei die kürzere Zeitspanne.

30Softwareentwicklung und Projektmanagement18.10.2018

5. Agiles Projektmanagement - Einführung

Page 27: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Fachexperten und Entwickler müssen während des Projektes täglich zusammenarbeiten.

Errichte Projekte rund um motivierte Individuen. Gib ihnen das Umfeld und die Unterstützung, die sie benötigen und vertraue darauf, dass sie die Aufgabe erledigen.

Die effizienteste und effektivste Methode, Informationen an und innerhalb eines Entwicklungsteams zu übermitteln, ist im Gespräch von Angesicht zu Angesicht.

31Softwareentwicklung und Projektmanagement18.10.2018

5. Agiles Projektmanagement - Einführung

Page 28: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Funktionierende Software ist das wichtigste Fortschrittsmaß.

Agile Prozesse fördern nachhaltige Entwicklung. Die Auftraggeber, Entwickler und Benutzer sollten ein gleichmäßiges Tempo auf unbegrenzte Zeit halten können.

Ständiges Augenmerk auf technische Exzellenz und gutes Design fördert Agilität.

32Softwareentwicklung und Projektmanagement18.10.2018

5. Agiles Projektmanagement - Einführung

Page 29: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Einfachheit -- die Kunst, die Menge nicht getaner Arbeit zu maximieren -- ist essenziell.

Die besten Architekturen, Anforderungen und Entwürfe entstehen durch selbstorganisierte Teams.

In regelmäßigen Abständen reflektiert das Team, wie es effektiver werden kann und passt sein Verhalten entsprechend an.

33Softwareentwicklung und Projektmanagement18.10.2018

5. Agiles Projektmanagement - Einführung

Page 30: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

34Softwareentwicklung und Projektmanagement18.10.2018

6. Agiles Projektmanagement - Scrum

Quelle: https://www.youtube.com/watch?v=XU0llRltyFM

Page 31: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Offizieller Scrumguide: https://www.scrumguides.org/index.html

Sonstige Info-Seiten: https://de.wikipedia.org/wiki/Scrum https://www.wibas.com/de/scrum/ https://www.it-agile.de/wissen/einstieg-und-

ueberblick/scrum/

In Praxis oftmals kein reines Scrum, sondern Abweichungen

Andere Formen: u.a Scrumban

35Softwareentwicklung und Projektmanagement18.10.2018

6. Agiles Projektmanagement - Scrum

Page 32: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Sprint 2-4 Wochen

Keine Änderungen

Immer gleich lang

Sprint Burndown Chart

Definition of Done

36Softwareentwicklung und Projektmanagement18.10.2018

6. Agiles Projektmanagement - Scrum

Page 33: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Rollen

37Softwareentwicklung und Projektmanagement18.10.2018

6. Agiles Projektmanagement - Scrum

Product Owner

• Legt Funktionsumfang fest

• Pflegt und priorisiert das Product Backlog

• Nimmt Umsetzung ab

Scrum Master

• Sorgt für die Einhaltung der Werte

• Beseitigt Behinderungen

• Stellt Produktivität sicher

• Schützt das Team vor äußeren Einflüssen

Entwicklungsteam

• 2-9 Mitglieder

• Cross-Funktional

• Selbstorganisiert

• Entscheidet, was umgesetzt wird

• Verantwortlich für die Erreichung der Sprintziele

Page 34: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Meetings

Sprint Planning

I und II (Commitment und Konkretisierung)

Alle, 1,5 – 16 h

Daily Scrum

Täglich (Synchronisation)

Alle, Max. 15 min

„Was hab ich gestern getan?“, „Was tue ich heute?“ und „Was hindert mich?“

38Softwareentwicklung und Projektmanagement18.10.2018

6. Agiles Projektmanagement - Scrum

Page 35: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Meetings Sprint Review

Demo

Alle, 15 min – 4 h

Sprint Retrospective

Auswertung (Betrachtung der Arbeitsweise des letzten Sprints)

Alle, 15 min – 4 h

Product Backlog Refinement

Vorstellung und Schätzung der neuen Aufgaben

39Softwareentwicklung und Projektmanagement18.10.2018

6. Agiles Projektmanagement - Scrum

Page 36: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Artefakte

40Softwareentwicklung und Projektmanagement18.10.2018

6. Agiles Projektmanagement - Scrum

• Gewünschte Funktionalitäten

• Vom Product Owner priorisiert

• Nach jedem Sprint neu priorisiert

Product Backlog

• Die für den Sprint bestimmten Elemente des PB

• Team entscheidet selbst

• Nur das Team ändert das Backlog

Sprint Backlog

Page 37: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

VorteileWenige Regeln, leicht verständlich und schnell

einführbarKurze KommunikationswegeHohe Flexibilität/Agilität durch adaptives PlanenHohe Effektivität durch SelbstorganisationHohe Transparenz durch regelmäßige Meetings und

BacklogsZeitnahe Realisation neuer Produkteigenschaften bzw.

InkrementeKontinuierlicher VerbesserungsprozessKurzfristige Problem-Identifikation

41Softwareentwicklung und Projektmanagement18.10.2018

6. Agiles Projektmanagement - Scrum

Page 38: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Nachteile▬ Kein Gesamtüberblick über die komplette Projektstrecke▬Hoher Kommunikations- und Abstimmungsaufwand▬Wenige konkrete Handlungsempfehlungen▬ Zeitverluste bei zu „defensiven" Sprintplanungen▬ „Tunnelblick-Gefahr" bei ausschließlicher Fokussierung auf

Tasks▬ Erschwerte Koordination mehrerer Entwicklungsteams bei

Großprojekten▬ Potenzielle Verunsicherung aufgrund fehlender

Zuständigkeiten und Hierarchien▬ Potenzielle Unvereinbarkeit mit bestehenden

Unternehmensstrukturen

42Softwareentwicklung und Projektmanagement18.10.2018

6. Agiles Projektmanagement - Scrum

Page 39: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Balzert, Helmut: Lehrbuch der Software-Technik, ISBN: 3-8274-0065-1 https://de.wikipedia.org/wiki/Softwaretechnik https://www.ibm.com/developerworks/rational/library/4763.html Gumm, Heinz Peter, Sommer, Manfred: Einführung in die Informatik, 9.

Auflage, ISBN: 978-3-486-5911-0 https://de.wikipedia.org/wiki/V-Modell_(Entwicklungsstandard) https://de.wikipedia.org/wiki/V-Modell https://www.cio.bund.de/Web/DE/Architekturen-und-Standards/V-

Modell-XT/vmodell_xt_node.html http://agilemanifesto.org/iso/de/manifesto.html https://www.it-agile.de/wissen/einstieg-und-ueberblick/kanban/ https://de.wikipedia.org/wiki/Testgetriebene_Entwicklung http://agiles-projektmanagement.org/scrum-vorteile-nachteile/

43Softwareentwicklung und Projektmanagement18.10.2018

Quellen

Page 40: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Wasserfall- Modell Problemanalyse und Anforderungsdefinition

-> Systemanalyse / Requirements Engineering Modellierung und fachlicher Entwurf

-> Datenmodell, Informationsmodell, Klassenmodell, Objektmodell-> Anwendungsmodell

Softwaretechnischer Entwurf-> Komponenten, bestehend aus Modulen und Schnittstellen

Programmierung und Modultest-> Implementierung, Testfalldefinition und -ausführung

Systemintegration und Systemtest Installation, Betrieb und Weiterentwicklung

-> Abnahmetests

44Softwareentwicklung und Projektmanagement18.10.2018

3. Klassisches Projektmanagement

Page 41: Softwareentwicklung und Projektmanagement · 2018. 11. 23. · Übersicht über Themen der Softwareentwicklung Erste eigene Erfahrungen sammeln Kenntnis der Schnittstellen zu anderen

Scrum Skalierung:

LeSS

SaFe

DAD

Nexus

45Softwareentwicklung und Projektmanagement18.10.2018

6. Agiles Projektmanagement - Scrum