Software Projekt 2018/19 - se.uni-hannover.de · 17.10.2018 38 Zentralstelle für Aufgaben der...

Preview:

Citation preview

Software Projekt 2018/19Einführungsveranstaltung

Prof. Kurt Schneider

FG Software EngineeringLeibniz Universität Hannover

KS@inf.uni-hannover.deTel. +49-511 -762-19666

Agenda

1. Ziele des SWP und was Sie davon haben– Lernziele– Was muss ich tun, um im SWP erfolgreich zu sein?– Was muss ich nach dieser Einführung tun?– Überblick über Entwicklungsprozess

2. Projekte: Aufgaben, Kunden, Ablauf– Vorstellung der Themen durch die Kunden

3. Organisation und Planung– Zeitplanung: Projekt / Woche /Mittwoch / Teamsitzung– Teamzusammensetzung und Rollen– Projekt- und Kommunikationsstruktur– Anmeldung und erste Arbeitsschritte

2

1. Ziele des Software-Projekts

• Ein echtes Projekt durchführen, mit allem was dazugehört– Echte Kunden, die SW haben und nutzen wollen

– Anforderungen, Kreativität, Programmierung und Test

– Planung, Durchführung, Qualitätssicherung – ein ganzes Projekt

– Teamarbeit, Präsentation, Kommunikation – Konflikte lösen

• Einsetzen, was Sie bisher im Studium gelernt haben– Algorithmen, Datenstrukturen, Technik, Software Engineering

• Am Ende: Lust auf mehr– Großes SW-Produkt erstellt

– Erkannt, was Sie besonders gut können (und was noch nicht)

– 8 LP !

3Kurt.Schneider@inf.uni-hannover.de

Was muss ich tun, um erfolgreich zu sein?

• Generell

– In allen Phasen aktiv mitarbeiten

– Formale Vorgaben erfüllen (z.B. Anwesenheit am Präsenztag Mittwoch)

– Programmieren – nicht nur Getter und Setter

– Durch Verhalten zum Teamerfolg beitragen

• Konkreter

– Jede/r muss programmieren

– So kommunizieren und abstimmen, dass Ihr Projekt ein Erfolg wird

– Arbeiten Sie systematisch, folgen Sie SWT, SWQ-Prinzipien

• Sehen Sie bitte in den Vorlesungsunterlagen nach, was man tun sollte – wirklich!

• Respektvoller Umgang mit Kunden und Kollegen – wie im „richtigen Leben“

– Qualitätsanforderungen

• Der Kunde ist die Quelle der Anforderungen – auch Qualitätsanforderungen und Prioritäten

• Achten Sie auf eine verständliche, vollständige und klar geschriebene Spezifikation

• Schreiben Sie gut strukturierten und getesteten Code (mit Kommentaren, usw)

• Zum Abnahmetest wird SW aus Git geladen, installiert und bedient.

Höhepunkte des SWP

SHINE auf der IdeenEXPO

5Kurt.Schneider@inf.uni-hannover.de

Höhepunkte des SWP

Thema 2016: InfoLAB interaktiv

6Kurt.Schneider@inf.uni-hannover.de

Real im Einsatz – wie viele SWP-Produkte

Dashboard für Radiologie der MHH

7Kurt.Schneider@inf.uni-hannover.de

Auch dieses Jahr: Hochinteressante Kunden

8Kurt.Schneider@inf.uni-hannover.de

Ablauf und Entwicklungsprozess

9

Exploration Iteration 1 Iteration 2 Polishing

Spez.

Skizze+

Template

Back-log:

Stories

CodePräsentation

• Wenig Bürokratie• Iterative Arbeitsweise: 4 Inkremente• Hier nur die wichtigsten Dokumente gezeigt

Programmier-konvention

Kunde

Wichtig: Beteiligte und Rollen

• CuSaTOP: Unsere (fiktive) Firma für Software– Leitungsebene: SE– Bitte kommunizieren und handeln Sie „(wie) in einem richtigen Projekt“

• Projekte: durchgeführt von CuSaTOP, Ihrem Arbeitgeber

• Coaches/Tutoren halten Kontakt zwischen CuSaTOP u. Projekten

• Unterstützung durch Spezialisten in einzelnen Feldern bei Bedarf– App-Programmierung in Android– Usability: Bedienbare Software gestalten– Die Unterstützung durch CuSaTOP erfolgt durch Informations-

veranstaltungen; man kann auch Nachfragen. – Eine operative Mitarbeit von SE in den Projekten erfolgt nicht.

10Kurt.Schneider@inf.uni-hannover.de

Software-Haus

Organisation von CuSaTOP

PL 1

Coach

PL 3

Coach

PL 2

Coach

PL 4

Coach

Je 1 ProductOwner(PO)

Kunden

Studierende

SE

extern

Koordinator

Leiter der Lehrveranstaltung und CuSaTOP: Prof. Kurt Schneider

Leiter

CuSaTOPMotto:„CustomerSatisfactionis ourTOPPriority“

Was muss ich nach dieser Einführung tun?

1. Das Projekt startet mit der nächsten Folie: Anforderungen

2. Nach der Einführung: Themenwünsche angeben, anmelden

3. Bis Freitag: Thema wird zugeteilt (Email)

4. Teams treffen sich zum Kennenlernen

5. Nächsten Mittwoch: erste „Regelkommunikation“ im Team

12

Projektlandschaft

13Kurt.Schneider@inf.uni-hannover.de

WellPlanned

Bohrplaner

DISPENTI

E-Mail Postfach-analyse

RadioChallenge

Autoradio-simulation

TaubenApp

Tauben-rettung Jedes Team erstellt

eine Anwendung(z.B. Volleyball2)

1 Auftrag – bis zu 2 ProjekteAlle Produkte sollen eingesetzt werden

Waffen-erkennung

Erkennen von Waffen in Bild-/Videomaterial

Volleyball

Belastungs-steuerung

CWM

Konferenz-Tool

ResearchAssistant

Verwaltung vonForschungs-

veröffentlich-ungen

Ablauf in JEDEM Projekt

Kurt.Schneider@inf.uni-hannover.de 14

Projektskizzeals Lastenheft

(„Zweiseiter“) Spezifikation• Einzelne Anforderungen• Rahmenbedingungen• Ideen des Kunden• Möglichkeiten, die Sie finden• Lösungsvarianten

Sie haben/erhalten:grobes Lastenheft und ein Template

Kunde kommt insTeam (mehrfach)

Sie erheben Anforderungen, bekommen vielleichtDokumente vom Kunden,verfeinern Spezifikation …

… erstellen Skizzen, Mockups,Prototypen – und Sieprogrammieren, testen im Team.

Am Schluss steht die großePräsentation – und deröffentliche Einsatz!

Template für

Spezifikation

Leiten Story Cards ab, aktualisieren Anforderungenund Prioritäten

Story 031 ….2 ….

Story 021 ….2 ….

Story 011 ….2 ….

Vorstellung der Projekte durch die Kunden

Nur je 7-8 Minuten

Wichtige Fragen?

Es gibt noch den Zweiseiter

Auf dieser Basis treffen Sie Ihre Wahl:

Wunsch-Prio1,2,3

Kurt Schneider 15

SoftwareprojektProjektvorstellung „Taubenrettung“

Kurzname des Projekts:TaubenrettungAuftraggebende Organisation:Netzwerk Taubenrettung Hannover e.V.Name der verantwortlichen Ansprechperson:Lea Domke (lea.domke@web.de)Besonderheiten/Schnittstellen:Zugriff auf Stadtplan gewünscht, evtl. Rechte an Stadtplänen à la Google Maps abklären

TaubenApp

Stadttauben, die Hilfe brauchen

TaubenApp

Das Notfalltelefon

• Per Anruf, SMS oder WhatsApp(auch über Facebook) können Tauben in Not gemeldet werden

• Über vereinsinterne WhatsApp-Gruppe erfolgt Koordination der Hilfe

• Wunsch: mehr Übersichtlichkeit, bessere Sichtbarkeit, automatische Zählungen und Auswertung, Vereinheitlichung der Kommunikation

• Projektidee: Taubenrettung-App!TaubenApp

Anforderungen und Erwartungen

Zugriff auf Stadtplan von Hannover• Datum + Uhrzeit

• Drop Down Menü für Konkretisierung des Notfalls

• Ampelsystem

• Zusatz wenn möglich: Textfeld, Foto, Video

Statistiken generieren• Anzahl der Meldungen pro festgelegtem Zeitraum

• Art der Verletzung

• Orte der Sichtungen

• Taubenrasse

Chatfunktion• Einzelchat

• Gruppenchat

• Öffentlicher Chat bzw. Mitteilungsbereich

TaubenApp

Dispenti

Dispenti

Dispenti

Dispenti

Dispenti

RadioChallenge: Realistische Autoradio-Simulation als „Capture-the-Flag“-

Spielwiese

Die äußeren Werte: Simulation eines „Autoradios“ in Java

IAV GmbH, 10/2018 Dr.-Ing. Tobias Hoppe (TP-E2) 25

Hauptmenü bietet über OSD-Elemente u.a. Zugriff auf

verschiedene Infotainment-Subsysteme (Module):

• Radio, Telefon, Navigation, Verkehrsinformationen,

Medienwiedergabe, Rückfahrkamera

Diese Funktionen simuliert ihr in einfacher, aber

optisch/akustisch ansprechender Form

• Z.B. Radio: Auswahl- und Wiedergabemöglichkeit von

mehreren Radiosendern (Internetstreams)

Zweisprachige GUI in deutsch & englischBildquelle: https://www.wardsauto.com/dealer/infotainment-systems-can-turn-some-car-owners

Hintergrund – warum das ganze?

• Die Simulation soll als Spielwiese für einen zukünftigen IT-Security „Capture-the-Flag“ Wettbewerb (CTF) dienen.

• Die Wettbewerbs-Teilnehmer müssen darin ohne Quellcodezugriff mehrere Aufgaben („Challenges“) lösen

• Ziel: Den verschiedenen Infotainmentanwendungen Geheimnisse („Flags“) entlocken

• Dabei kommen i.d.R. gängige Techniken und Werkzeuge des Reverse Engineerings zum Einsatz (z.B. Dekompilierung)

RadioChallenge

RadioChallenge: Realistische Autoradio-Simulation als „Capture-the-Flag“-

Spielwiese

Die inneren Werte: Einbettung von Challenges für den CTF-Wettbewerb

IAV GmbH, 10/2018 Dr.-Ing. Tobias Hoppe (TP-E2) 26

Zu Beginn arbeiten alle Subsysteme in einem eingeschränkten Modus

• Ausgegraute Bedienelemente, eingeschränkte Funktion, z.B.:

– im Radio steht nur 1 Sender zur Verfügung

– im Telefon nur Notruf wählen möglich

Jede Funktion muss durch eine Nutzeraktion aktivierbar sein

• vergleichbar mit Entsperr-Code bei Einbau eines neuen Radios

Ihr implementiert „Challenges“ mit verschiedenen

Schwierigkeitsgraden, also:

• Unterschiedliche Komplexität der

vorgegebenen Prüfalgorithmen

• Einsatz verschiedener Verschleierungs-

Tools für Java-EntwicklerBildquelle: https://auto.ndtv.com/news/study-claims-car-infotainment-systems-are-a-road-safety-risk-675936

Nach erfolgreicher Freischaltung zeigt das Modul die „Flag“ an

• Der Teilnehmer kann mit der Flag beweisen, dass er die Aufgabe

gelöst hat und bekommt entsprechende Punkte gutgeschrieben.

• Die Flags werden also pro Aufgabe und Teilnehmer unterschiedlich

berechnet

Bildquelle: https://www.civicx.com/threads/infotainment-software-update.16505/page-27

RadioChallenge

RadioChallenge: Realistische Autoradio-Simulation als „Capture-the-Flag“-

Spielwiese

Das „Drumherum“

IAV GmbH, 10/2018 Dr.-Ing. Tobias Hoppe (TP-E2) 27

• Einfaches Web-Portal

• Registrieren mit Nickname und Emailadresse

• Herunterladen des Java-Pakets (Navi-Simulation)

• Eintragen der erbeuteten Flags + Punktegutschrift

• Highscore-Ranking

Bildquelle: https://www.fysx.org/tag/highscore/

RadioChallenge

Fact Sheet

IAV GmbH, 10/2018 Dr.-Ing. Tobias Hoppe (TP-E2) 28

Kurzname:

RadioSim

Auftraggebende Organisation:

IAV GmbH, Standort Gifhorn

Verantwortlicher Ansprechpartner:

Dr.-Ing. Tobias Hoppe

RadioChallenge

Conference Workgroup Manager_18-09-24.pptx

Entwicklung einer App für Konferenzen

Ziel: kontinuierliche Verbesserungen der Konferenzen

Features

Agenda

Raumplan

Teilnehmer

News

Anhänge

Push Nachrichten

© 2018 Capgemini. All rights reserved. 29

Vorstellung Projekt: Conference Workgroup Manager

CWM

Conference Workgroup Manager_18-09-24.pptx

Jederzeit aufrufbar

Flexibilität und Agilität

Interaktive Meetings

Netzwerken / Live Kommunikation

Aufrufbar auf allen webfähigen Endgeräten

© 2018 Capgemini. All rights reserved. 30

Vorteile

CWM

Conference Workgroup Manager_18-09-24.pptx

Progressive Web App

Aktuelle Technologie

Erfordert JavaScript, HTML, CSS

Ein aktuelles Web-Framework wird empfohlen (Angular, React, …)

Serverseitig keine Vorgaben

Empfehlung: Java

Client-Server-Kommunikation per REST Service im JSON Format

© 2018 Capgemini. All rights reserved. 31

Technische Aspekte

Server

REST

CWM

Conference Workgroup Manager_18-09-24.pptx

Name des Projekts: Conference Workgroup Manager

Auftraggebende Organisation: Capgemini GmbH

Ansprechpartner: Karsten Kniebel; Vertreter: Philipp Kleybolte

Besonderheiten: Progressive Web App, JavaScript

© 2018 Capgemini. All rights reserved. 32

Fakten

CWM

© 2017 Baker Hughes, a GE company, LLC - All rights reserved.

October 17, 2018

+ =GE Oil &

Gas

~65,000+ Mitarbeiter

120 Ländern aktiv

Die erste und einzige Fullstream

company

Standort in Celle

WellPlanned

Confidential. Not to be copied, distributed, or reproduced without prior approval.© 2018 Baker Hughes, a GE

company, LLC - All rights reserved.

Komplexe Tiefbohrungen

High-Tech Sensoren

Automatisiertes Bohren

Bidirektionale Daten-kommunikation

Planungssoftware

October 17, 2018

We invent smarter ways to bring energy to the world.

WellPlanned

Confidential. Not to be copied, distributed, or reproduced without prior approval.

October 17, 2018

Mobiler

Bohrungsplaner

• Plattformunabhängig

• Einlesen von Dateien

• Darstellung von

Tabellen und 2D/3D

Charts

• Kommentarfunktion

• Dokumentation

Aufgabenstellung

WellPlanned

Confidential. Not to be copied, distributed, or reproduced without prior approval.© 2018 Baker Hughes, a GE

company, LLC - All rights reserved.

October 17, 2018

Fakten

Kurzname des Projekts

WellPlanned

Organisation

Baker Hughes, a GE Company

Ansprechpartner

Sui-Long Lam und Carolin Unger-Windeler

Email

Sui-Long.Lam@bakerhughes.com

Carolin.UngerWindeler@bakerhughes.com

WellPlanned

Automatisierte Erkennung von Waffen in Bild/Videomaterial

17.10.2018 37

[arXiv:1702.05147v1]

Waffenerkennung

Auftraggeber

17.10.2018 38

Zentralstelle für Aufgaben der Kriminalitätsbekämpfung in Niedersachsen„Service- und Dienstleister" zur Unterstützung der regionalen Polizeidienststellen

auf dem Gebiet der Gefahrenabwehr und der Verfolgung von Straftaten

Entwicklung & Bereitstellung von Analyse für Ermittlungsverfahren mit Massendaten

Waffenerkennung

Problemstellung

17.10.2018 39

?Aufteilung von Bild/Video in „mit/ohne Waffen“

IT-Laie als Benutzer

Neuronales Netz zur Objekterkennung(trainiert auf Waffen)

Waffenerkennung

Software-Anforderungen

Input: Pfad auf Ordner mit Bild-/Videomaterial

Output: Bild-/Videomaterial mit Waffen

Verwendete Methode: Neuronales Netz

Typ & Aufbau freigestellt,

im Internet frei verfügbare Netze können als Grundlage verwendet werden

Framework frei wählbar

Programmiersprache: Java, Python oder Knime

Auf möglichst modulare Programmierung ist zu achten!

Bei Bedarf erfolgt eine Kurz-Einführung in das Thema „Neuronale Netze“

17.10.2018 40Waffenerkennung

Auf einem Blick

Projekt: Objekterkennung am Beispiel Waffen

Auftraggebende Organisation:

Besonderheiten: • Erwerb erster Kenntnisse im Bereich Künstlicher Intelligenz/Neuronale Netze

=> Projekt umfasst alle Phasen von Netzaufbau über Training bis Test

(Hilfestellung bei der Einarbeitung in das Thema wird bei Bedarf gegeben.)

• Programmiersprache: Python, Java oder Knime

• Modulare Programmierung gewünscht

• Trainingsdaten sind selbstständig auszuwählen, zu klassifizieren und dem Auftraggeber nach Projektabschluss zusammen mit dem Softwaretool zu übergeben.

17.10.2018 41

Ansprechpartnerin

Waffenerkennung

Entwicklung einer App zur Belastungssteuerung junger Athleten

„ABS - Leistung“

Falsch trainierter Athlet

Athlet nicht in Höchstform

Top-Athlet(Kleidung optimierbar)

Volleyball

Erweiterung der FSJ-TrainerausbildungSoftware-Projekt (SWP)

Problemstellung

43

Leistungssport erfordert, dass der Athlet zum Zeitpunkt des Wettkampfs seine Bestleistung abrufen kann.

Kontinuierliches Monitoring der Trainingsinhalte und -belastung

Athlet trainiert bei Vereins-, Landes-und Bundestrainer, in der Schule,ggf. privat und im Fitnessstudio

Unterschiedliche Inhalte

Unterschiedliche Zielsetzungen

Erfordert sehr viel Abstimmung

Kommunikation(swege) schwierig…

Volleyball

Erweiterung der FSJ-TrainerausbildungSoftware-Projekt (SWP)

ZielDie App soll die Belastungssteuerung harmonisieren:➢ Datenbank (Datenschutz) mit Eigenschaften eines Athleten➢ Sets für Hallen-, Beach- und Snowvolleyball➢ Eingabemaske für Trainingsinhalte/Belastung/Kommentare

➢ Zugriff Trainer, Eltern, Athlet ➢Überlastungen vermeiden

➢ Ausgabe Belastungs-/Leistungskurven➢ Anbindung an Online-Kalender➢ Datenvisualisierung➢ Nachhaltigkeit➢ Ggf. Schnittstellen zu anderen Apps

➢ SpielerPlus, DVV, Beach-Trainer

44

Volleyball

Erweiterung der FSJ-TrainerausbildungSoftware-Projekt (SWP)

Fact-Sheet• App zur Belastungs-Steuerung im Leistungssport

(ABS - Leistung)

• Nordwestdeutscher Volleyball-Verband e.V.

• Dr.-Ing. Philipp Huke, Landestrainer Beach

• stv.: Uwe Wallenhorst, Landestrainer Halle

• Besonderheiten:

• Datensicherheit

• Schnittstellen mit anderen Apps

• Betriebssystem (Android, IOS)

• Einbindung bestehender Partner

45

Volleyball

46

Prof. Dr. Kurt SchneiderKurt.Schneider@inf.uni-hannover.de

Research Assistant:intelligente Verwaltung von Publikationen

Titel

Verfasser

Abstract

Nicht:

Email, URL, …

ResearchAssistant

47

Zwei Komponenten mit Synergie

PaperPack für Autoren

Info aus pdf lesen

In DB eintragen

Auf Webseite stellen

Ordner anlegen

Pdf und Original ablegen

Usw.

Reminder für Reviewer

Gute Papiere vormerken

Speichern, wann Konferenz

stattfindet

Feststellen, ob Paper dabei

ist

Falls ja: Erinnern

Kurt.Schneider@inf.uni-hannover.de

Synergie: Mehrfach nutzen

Informationen aus pdf lesen

In DB zwischenspeichern

Im Erfolgsfall Ablage unterstützen

ResearchAssistant

48

ResearchAssistant: Ein normales Java-Programm mit Anspruch

Kunde: Kurt Schneider (CuSaTOP-internes Projekt; Chef=Kunde)

Qualitätsanforderungen

Leicht bedienbar für gelegentliche Nutzer

Robust, ohne komplizierte Infrastruktur und Bibliotheken

Flexibel: Alle Pfade/Ordner einstellbar ohne Programmänderung

Richtet keinen Schaden an: DB, Webseite

Lieber fragen als Publikation im Zweifel falsch zuordnen

Soll – bei Erfolg – öffentlich verteilt werden

Kurt.Schneider@inf.uni-hannover.de

Fakten und Zusammenfassung

ResearchAssistant

3. Organisation und Planung

Rollen und Aufgaben

• Im Team– Projektleiter eines Teilprojekts: Koordination und ggf. Entscheidung

– Qualitätsbeauftragte: Q-Aufgaben koordinieren und anleiten

– Entwickler: Alle Teilnehmer sind auch Entwickler

– Sonderaufgaben (für Spezifikation, Visionvideo usw.)

• Im Umfeld– Kunde (Backlog-Owner): Anforderungen, Referenz für Projekterfolg

– Koordinator des SWP: Kommunikation, Planung, Org. in CuSaTOP

– Tutor/Coach: Beobachtet Team, gibt Hinweise, berichtet der Leitung

– Hintergrund-Support: Einzelne Experten-Vorträge

– Eskalation, falls nötig: Team Tutor Koord./Prof. Schneider

49Kurt.Schneider@inf.uni-hannover.de

50

Ihr Verhältnis zum Kunden

• Kunde möchte, dass Sie Erfolg haben– Denn dann bekommt er/sie das Produkt, das er/sie will

• Sie halten nicht mit Anforderungen hinterm Berg– Kunden versuchen, Ihnen möglichst viel Information zu geben

– In der Regel müssen Sie aber fragen und notieren – nicht der Kunde!

• Sie sind verantwortlich– Sie müssen nachfragen, wenn etwas zu vage od. widersprüchlich ist

• Kunde hat seinen Nutzen im Blick– Sofern Sie dazu beitragen, hilft Kunde nach Kräften

– Tun Sie es nicht, wird auch Kunde das Interesse verlieren

• Ohne zufriedenen Kunden werden Sie keinen Erfolg haben!– Seien Sie höflich, respektvoll und professionell – eine Selbstverständlichkeit

Zeitplan in Projektwochen PW (Übersicht)

51Kurt.Schneider@inf.uni-hannover.de

Wo-Nr Kal-Wo Mittwoch Phase Was wird gemacht? Ziele Plenum in B305 ?

1 42 17.10.2018 Intro+Org Einführung, Aufgaben Plenum: Kickoff

2 43 24.10.2018 Exploration Plenum: Reqs.

3 44 31.10.2018 Exploration Mi Reformationstag

4 45 07.11.2018 Exploration

5 46 14.11.2018 Iteration 1 QG: Spezifikation abgeben (abends)

6 47 21.11.2018 Iteration 1 Plenum

7 48 28.11.2018 Iteration 1

8 49 05.12.2018 Iteration 2 Working Core : Das Wichtigste vorführen

9 50 12.12.2018 Iteration 2

10 51 19.12.2018 Iteration 2

52 26.12.2018 freiwilliger

1 02.01.2019 Ausbau feature Complete

11 2 09.01.2019 Polish Plenum

12 3 16.01.2019 Polish Ready-for-the-Show Plenum

13 4 23.01.2019 Polish Abnahmetest Plenum

14 5 30.01.2019 Abschluss Öffentliche Vorführung (selbstorg. Feier?)

Projektkalender (Intro+Exploration)

52Kurt.Schneider@inf.uni-hannover.de

Wo Datum Tag Phase SE Studierende Ort

w1 17.10.2018 Mi Infoveranstaltung Einschreiben B305

18.10.2018 Do Einschreiben

19.10.2018 Fr Infrastruktur (Git, Account etc.) Einschreiben bis 10:00h

20.10.2018 Sa

21.10.2018 So

22.10.2018 Mo Teamaufteilung nennen Teamtreffen Mo/Di beliebig

23.10.2018 Di Teamtreffen beliebig

w2 24.10.2018 Mi Kundentreffen+Tutortermin Anforderungen erheben, Storycards Plenum

25.10.2018 Do

26.10.2018 Fr

27.10.2018 Sa

28.10.2018 So

29.10.2018 Mo

30.10.2018 Di

w3 31.10.2018 Mi frei Reformationstag

01.11.2018 Do

02.11.2018 Fr

03.11.2018 Sa

04.11.2018 So

05.11.2018 Mo

06.11.2018 Di

w4 07.11.2018 Mi Kundentreffen+Tutortermin Anforderungen erheben, Storycards Teamräume

08.11.2018 Do

09.11.2018 Fr

10.11.2018 Sa

11.11.2018 So

12.11.2018 Mo

13.11.2018 Di

w5 14.11.2018 Mi Kunden bewerten Präsentation QG: Kurzpräsentation. Abends Abgabe der Spezif. Teamräume

Init

+Org

Exp

lora

tio

n

Mockups planen, bauen, Spez. Schreiben

Mockups planen, bauen, Spez. Schreiben

Mockups planen, bauen,

Spez mit StoryCards aktualisieren

Exploration: Die Aufgabe erforschen

• Ziel: Eine valide Spezifikation, gutes Aufgabenverständnis

– Korrekte Kundenanforderungen zu diesem Zeitpunkt

• Großer Spielraum: Sie dürfen vieles einsetzen

– Fragen Sie den Kunden, lesen Sie seine Dokumente

– Erstellen Sie Prototypen: Papier, elektronisch, Visionsvideos [ freiwillig]

• Visionsvideo von 1-2 Minuten: wie stellen Sie sich Ihre SW im Einsatz vor?

– Lassen Sie den Kunden dazu Stellung nehmen

– Erproben Sie schwierige Lösungsideen oder Architekturen

– Gehen Sie technische Risiken an, um sie zu entschärfen

• Die Spezifikation enthält Mission, Anforderungen und Prioritäten

53Kurt.Schneider@inf.uni-hannover.de

Projektkalender (Inkrement 1+2)

54Kurt.Schneider@inf.uni-hannover.de

w5 14.11.2018 Mi Kunden bewerten Präsentation QG: Kurzpräsentation vor Kd. Abends Abgabe der Spezif. Teamräume

15.11.2018 Do

16.11.2018 Fr

17.11.2018 Sa

18.11.2018 So

19.11.2018 Mo

20.11.2018 Di

w6 21.11.2018 Mi Kundentreffen+Tutortermin Anforderungen erheben, Storycards Plenum

22.11.2018 Do

23.11.2018 Fr

24.11.2018 Sa

25.11.2018 So

26.11.2018 Mo

27.11.2018 Di

w7 28.11.2018 Mi Kundentreffen+Tutortermin Anforderungen erheben, Storycards Teamräume

29.11.2018 Do

30.11.2018 Fr

01.12.2018 Sa

02.12.2018 So

03.12.2018 Mo

04.12.2018 Di

w8 05.12.2018 Mi Feedback vom Kunden Vorführung der Kernfunktionen für den Kunden

06.12.2018 Do

07.12.2018 Fr

08.12.2018 Sa

09.12.2018 So

10.12.2018 Mo

11.12.2018 Di

w9 12.12.2018 Mi Feedback vom Kunden

13.12.2018 Do

14.12.2018 Fr

15.12.2018 Sa

16.12.2018 So

17.12.2018 Mo

18.12.2018 Di

w10 19.12.2018 Mi Feedback vom Kunden

20.12.2018 Do

21.12.2018 Fr

22.12.2018 Sa

23.12.2018 So

Un

terb

rech

un

g

24.12.2018 Mo

25.12.2018 Di

26.12.2018 Mi

27.12.2018 Do

28.12.2018 Fr

29.12.2018 Sa freiwillige Leistung erlaubt

30.12.2018 So

31.12.2018 Mo

01.01.2019 Di

02.01.2019 Mi

03.01.2019 Do

04.01.2019 Fr

05.01.2019 Sa

06.01.2019 So

07.01.2019 Mo

08.01.2019 Di

Inkr

em

en

t 2

Überarbeiten, Planen, Entwickeln

Überarbeiten, Planen, Entwickeln

Überarbeiten, Planen, Entwickeln

Un

der

bre

chu

ng

Inkr

em

en

t 1

Überarbeiten, Planen, Entwickeln

Überarbeiten, Planen, Entwickeln

Überarbeiten, Planen, Entwickeln

1. Iteration: Wichtigste Funktionen

• Die für den Kunden wichtigsten Funktionen und Features umsetzen– Vielleicht noch nicht vollständig und mit allen Sonderfällen

– Verzetteln Sie sich nicht mit Unwichtigem und Gold-Plating!

• Methode: Product Backlog– Kunde / Product Owner priorisiert mit Ihnen den Backlog

– Sie orientieren sich daran, wirken an Aktualisierung mit

– Die User Stories sind feiner als Use Cases, damit flexibler

• Beispiel: Grundszenario ist eine Card in 1. Iteration; Exceptions und weitere Anforderungen sind eigenen Cards, folgen später

– Prioritäten drücken sich in Kartenreihenfolge aus; kann sich ändern

55Kurt.Schneider@inf.uni-hannover.de

Nach 2. Iteration: Feature Complete

• Die wichtigsten Funktionen fertigstellen

• Weitere Funktionen hinzufügen.

• Wichtig: – Nach 2. Iteration sollen keine neuen Funktionen mehr hinzukommen!

• Danach nur noch vorhandene Funktionen in jeder Hinsicht polieren– Oberfläche, Architektur, Ablauf, Datenhaltung

– Auch hier ist der Kunde die Referenz: was bringt den meisten Wert?

56Kurt.Schneider@inf.uni-hannover.de

Projektkalender (Abschluss/Polish)

57Kurt.Schneider@inf.uni-hannover.de

w11 09.01.2019 Mi Plenum: Vorzeigen in Zielumgebung Plenum

10.01.2019 Do

11.01.2019 Fr

12.01.2019 Sa

13.01.2019 So

14.01.2019 Mo

15.01.2019 Di

w12 16.01.2019 Mi Plenum: Vorzeigen in Zielumgebung Plenum

17.01.2019 Do

18.01.2019 Fr

19.01.2019 Sa

20.01.2019 So

21.01.2019 Mo

22.01.2019 Di

w13 23.01.2019 Mi ABNAHME für alle Projekte ABNAHMETEST optimal unterstützen Plenum

24.01.2019 Do

25.01.2019 Fr Letzte Korrekturen

26.01.2019 Sa

27.01.2019 So Nachtest evtl. durch Tutor

28.01.2019 Mo KS: Durchfallentscheidung, falls nötig Prüfung für Wackelkandidaten

29.01.2019 Di

w14 30.01.2019 Mi Reflektion Moderation der Erfahrungserfassung Präsentation, Erfahrungen (LIDs), evtl. selbstorg. Abschlussfeier

Präsentation öffentlich

Erfahrungen in den Teams (LIDs)

Acc

ep

tPolieren, Erproben, Usability verbessern

Polieren, Erproben, Usability verbessern

Po

lish

Abnahme: ein entscheidender Termin!

• Projekt endet mit erfolgreicher Abnahme durch den Kunden – scheitert sie, gibt es viele Probleme

• Softwarestand im Git von CuSaTOP zählt– Von dort wird SW auf Zielrechner geladen und ausgeführt

• Wichtig: Gute technische und organisatorische Vorbereitung– Kunden vorbereiten

– Proben Sie die Abnahme, bis sie perfekt klappt

– Eine gescheiterte Abnahme ist ein erheblicher Makel; sie führt zumindest zu Nacharbeit, evtl. zum Scheitern des Projekts

58Kurt.Schneider@inf.uni-hannover.de

Präsenztag Mittwoch

59Kurt.Schneider@inf.uni-hannover.de

• Anwesenheitspflicht (2 Joker)

• Mittwoch dient der Abstimmung: „Regelkommunikation“

• Erwarteter Aufwand: Im Durchschnitt 1,5 Tage/Wo (incl. Regelkomm.)

• Zeitplan und Abhängigkeiten sehr eng: Pünktlichkeit ist wichtig

1 2 3 4 5 6

Coach A B C D E F

Raum G306 InfoLAB G323 G325 B417 InfoLOUNGE

13h P01 P02 P05 P03 P07

14h P01 P02 P06 P03 P04 P08

15h P05 P07 P06 P08 P04

16:30h Plenum in B305 nach Bedarf

Regelkommunikation im Team

• Nur ein Pflicht-Präsenztreffen pro Woche, i.d.R. am Mittwoch, 45-60 Min.

• Nächste Woche (24.10.18):

– Kunden und Team kennenlernen, Anforderungen erheben; Plenum

• An allen folgenden Mittwochen:– SCRUM: jedes Teammitglied spricht 45-90 Sekunden

• Was habe ich getan seit letzter Woche? • Was will ich tun bis nächste Woche?• Gibt es Probleme?

– Kunde kommt, kann befragt werden (ca. 25 Min.)• Fragen und Demos vorbereiten• Effizient Anforderungen/Änderungen „herauskitzeln“• Ideen bestätigen lassen• Behandeln Sie die Kunden zuvorkommend! Sie bezahlen Ihr Gehalt.

– Tutor passt auf und antwortet auf ihre Fragen – arbeitet aber nicht mit

• Das ist nur die Regelkommunikation. Ihre andere Arbeitszeit planen Sie frei.

60Kurt.Schneider@inf.uni-hannover.de

JIRA

61

JIRA

1. Was unterstützt JIRA– Planen, Tracken von User Stories, Aufgaben, Bugs

2. Warum nutzen wir JIRA im SWP– Praxisnaher Bezug zur Wirtschaft (wird in Unternehmen eingesetzt)

– Fortschrittskontrolle

– Kundenzufriedenheit durch gemeinsame Priorisierung

3. Welche Kompetenzen erlernen Sie im Umgang mit JIRA– Aufwands Ab-und Einschätzung für Arbeitspakete

– Managen u. Entwickeln als Team

– Fristen, Abhängigkeiten u. Verpflichtungen einzuhalten

62

Anmeldesystem – swp.se.uni-hannover.de

Zugangsvoraussetzung: (SWT v SWQ) ^ Java müssen bestanden sein

Anmeldesystem

12

3

Anmeldesystem

45

6

7: Fertig

TeamzuteilungNach der Anmeldung erhalten Sie bis Freitag Nacht eine E-Mail:

66Kurt.Schneider@inf.uni-hannover.de

Kommunikation

• Informationen auf der SE-Webseite• Kontakt zu Veranstaltern: swp@se.uni-hannover.de

• CuSaTOP-Intranet (auf der SWP-Seite auf se.uni-hannover.de)– Jeweils nächster aktueller Termin– Projektkalender– Unterlagen, Templates– Aktuelles zu Räumen, Kontakten, Fortschritten– Tutorial-Videos– Überblick über das Projekt

• Bei dringenden Anlässen schicken wir eine E-Mail– Bitte immer zuerst im SWP-Intranet nachsehen und Tutor fragen

• StudIP wird für das SWP nicht verwendet

Weitere Arbeitsräume für SWP

Für Ihre frei eingeteilte Arbeitszeit

haben wir Ihnen weitere Räume reserviert:

InfoLOUNGE (F111)

Am Mi/Do Vorrang vor anderen

InfoLAB (F116)

Am Mi/Do

Zutritt ausschließlich für SWP-Teilnehmer

68Kurt.Schneider@inf.uni-hannover.de

Wie wir Ihnen helfen

• Planung Gesamtprojekt

• Räume

• Vorlagen

• Tutoren

• Sprechstunden

• Eskalation

• Wie wir Ihnen nicht helfen– Programmieren und Entwickeln

– Organisation und Abstimmung in Ihrem Team

– „Normale“ Konflikte lösen

– Holschuld einlösen (v.a. Informationen)

69Kurt.Schneider@inf.uni-hannover.de

Was muss ich nach dieser Einführung tun?

1. Das Projekt hat jetzt begonnen.

2. Nach der Einführung: Thema aussuchen, anmelden1. Bis Freitag, 19.10.18, 10:00h, swp.se.uni-hannover.de

3. Bis Sonntag: Thema wird zugeteilt (per Email)

4. Teams treffen sich zum Kennenlernen

5. Nächsten Mittwoch: erste „Regelkommunikation“ im Team– Zuvor bitte die Aufgabenbeschreibungen durchlesen

– Planen Sie schon jetzt, wann Sie sich dann wieder treffen

70Kurt Schneider

Die ersteHerausforderung!

Recommended