Projektmanagement

Transcription

Projektmanagement
Projektmanagement
Vorlesung von Thomas Patzelt
5. Vorlesung
1
Arbeit vor dem Lastenheft - Prototypen
• Keine Ahnung ob die Kunden Ihr Produkt lieben? Wir bauen Ihnen einen
Prototypen!
• Mock-Up, Beta-Version, 3D-Drucker, Zeichnungen, Bilder, Storyboard
• Tests mit Kunden, „Focus-Groups“, „Hallway-Testing“, Usability-Labs
• Je näher am Endprodukt, desto sicherer die Aussage, aber...
• „Watch customer‘s feet, not customer‘s mouth“: Es ist nicht wichtig, was die
Leute sagen (d.h. behaupten zu kaufen), sondern was sie Kaufen
2
Arbeit vor dem Lastenheft - Durchführbarkeit
• Überprüfen Sie ob Ihr Projekt wirklich durchführbar sein wird
• Hat es das richtige Timing? Ist es zu früh, oder zu spät?
• Gibt es genügend treibende Kräfte, genügend Unterstützung?
• Gibt es zu viele hemmende Kräfte, oder Widerstände?
3
Wie kommen wir zum Lastenheft?
• Wir beschreiben das, Produkt in seinen Eigenschaften und die Produktidee
• Aber welche Eigenschaften sind wichtig und was ist die Produktidee?
• Beschreiben Sie Ihre neue Erfindung, den „Radiergummi“
• Beschreiben Sie Ihre neue Erfindung, den „MP3-Player“
• Beschreiben Sie Ihre neue Erfindung, den „Brieftauben-Dienst zum Austausch
von Aktiendaten zwischen Aachen und Brüssel“
• Beschreiben Sie Ihre neuen Produkte „Würzmischung für Ameisenlarven“ und
„Hörbücher für Gehörlose“
4
Die Erfindung / Definitionsphase eines Produktes
• Von der Idee zum Produkt: Die Erfinderin hat die Idee für das Produkt, stellt
es her und verkauft es
• Beispiele: Walkman, Kaffeefilter
• Vom Produkt zum Produkt:
• Beispiele: MP3-Player & CD-Porty
• Von beidem ein bisschen:
• Fisherman‘s Friend, Kopierer, Java-Programmiersprache
5
Requirements Engineering
• Professionelles Sammeln der Anforderungen hat sich in den letzten Jahren als
eigener Arbeitsschritt entwickelt. Das Requirements Engineering wird oftmals
in einer eigenen Abteilung erbracht
• Für das gute Sammeln von Anforderungen kennt das Requirements
Engineering wiederum seine eigenen Anforderungen
• Besonders in sicherheitsrelevanten Bereichen ist die Professionalisierung der
Anforderungserstellung weit fortgeschritten
6
R-E: Qualitäts-Kriterien für gute Anforderungen
• vollständig – alle Anforderungen des Kunden müssen
explizit beschrieben sein, es darf keine impliziten
Annahmen des Kunden über das zu entwickelnde
System geben.
• eindeutig definiert / abgegrenzt – präzise Definitionen
helfen, Missverständnisse zwischen Entwickler und
Auftraggeber zu vermeiden.
• verständlich beschrieben – damit sowohl der
Auftraggeber als auch der Entwickler mit vertretbarem
Aufwand die gesamten Anforderungen lesen und
verstehen kann.
• einheitlich dokumentiert – die Anforderungen und ihre
Quellen sollten nicht in unterschiedlichen Dokumenten
stehen oder unterschiedliche Strukturen haben.
• notwendig – gesetzliche Vorschriften sind
unabdingbar.
• nachprüfbar – die Anforderungen sollten mit
Abnahmekriterien verknüpft werden, damit bei der
Abnahme geprüft werden kann, ob die Anforderungen
erfüllt wurden. Testfälle werden aus den
Abnahmekriterien abgeleitet.
• atomar – es darf nur eine Anforderung pro Abschnitt
oder Satz beschrieben sein. Das Kriterium für ein
„Atom“ sollte die Entscheidbarkeit einer Anforderung
sein.
• rück- und vorwärtsverfolgbar – damit einerseits
erkennbar ist, ob jede Anforderung vollständig erfüllt
wurde und andererseits für jede implementierte
Funktionalität erkennbar ist, aus welcher Anforderung
sie resultiert, also nicht Überflüssiges entwickelt wird.
• identifizierbar – jede Anforderung muss eindeutig
identifizierbar sein (z. B. über eine Kennung oder
Nummer).
• Konsistenz – Konsistenz beschreibt den Grad, in dem
die definierten Anforderungen untereinander
widerspruchsfrei sind.
7
Was lernen wir daraus für das Lastenheft?
• Die Beschreibung des Problem, welches mit dem Produkt gelöst werden soll, gehört
in das Lastenheft
• Ein Produkt, welches kein Problem löst, hat es schwer: a) beschrieben zu werden und
b) verkauft zu werden
• Eigentlich jedes Produkt löst irgend ein Problem irgend eines Kunden
• Die Beschreibung des Kunden, des Marktes und der Konkurrenz kann auch für das
Lastenheft wichtig sein
• „Ein Getränk, das nur Bio-Inhaltsstoffe hat, das genauso schmeckt wie <Ihre
farbige Lieblingsbrause>, nur ohne Farbe, das Eltern ihren Kindern geben sollen“
• „Ein Telefon mit großen Tasten für über 80-jährige Radfahrer“
8
Sprache im Lastenheft
• Warum das Wort Problem nicht verwenden?
• Problem klingt so negativ. Wer will schon Probleme haben?
• Manche Lösungen lösen weniger oder mehr als ein Problem, die Lösung zu beschreiben
klingt oft schöner: Würzmittel, Walkman, Sportwagen, PC-Spiel
• Daher hat es sich durchgesetzt, die Lösungen, den Nutzen, den „Mehrwert“ zu
beschreiben und nicht die Probleme
• „Fischerman‘s Friend“: „Halsweh?“ vs. „Sind sie zu stark, ...“
• TIPP: Konjunktiv nur verwenden, wenn optionale Features beschrieben werden, sonst
entstehen leicht Missverständnisse
• Beispiel mandatory: Die Hintergrundfarbe ist rot. Optional: Man könnte die Farbe ändern.
9
Lastenheft
• Anforderungsliste, Anforderungsspezifikation: Requirements Specification
• Listet alle Anforderungen („Lasten“, „Requirements“) als eigene Punkte auf
• Ist aus der Sicht des Kunden geschrieben
• Nimmt (oft) keine Rücksicht auf Realisierbarkeit oder Kosten
• Ein gutes Lastenheft nennt auch alle „impliziten“ Anforderungen
• Beispiel: Der verwendete Speicher wird wieder frei gegeben
• Ist noch kein Entwicklungsvertrag
10
Was schreiben wir als Lastenheft?
• Format egal (Word, Powerpoint, Excel)
• Beschreibung des Applikationsverhalten im Detail:
• Start
• Verhalten der verschiedenen Bildschirme
• Verhalten der Applikation „im Hintergrund“ und z.B. über das Netzwerk
• Stoppen der Applikation
• Beschreibungen des Verhaltens, NICHT der Implementierung
11
Folien aus der Übung
12
Beispiele Lastenheft
• Applikation lädt innerhalb von 2 Sekunden nach Start ein Bild (Splash-Screen)
• Applikation unterstützt mehrere Darstellungen der Messwerte in
• Monatsansicht mit 28-31 Werten in Balkendarstellung
• Tagesansicht mit 24 Werten in Liniendarstellung
• Die Werte sind in blau (Farbwert 0xffff99) anzuzeigen
• Auf eintreffende Kommunikationsvorschläge wird dem Nutzer die Wahl überlassen ob
er die Kommunikation annimmt
• Zu einschränkend (manchmal gewollt): „Es erscheint ein modaler Dialog, der dem
Nutzer die Wahl anbietet, die Kommunikation anzunehmen“
13
Was ist besser, mehr oder weniger ins Lastenheft?
• Vorteile von „mehr“:
• Der Kunde wird auf mehr Ideen gebracht - man verdient mehr
• Das Produkt hat am Ende mehr Features - mehr Kunden freuen sich
• Mehr Features kann heissen, man hat mehr Chancen auf Glückstreffer
• Nachteile von „mehr“:
• Der Kunde wird auf mehr Ideen gebracht - man hat mehr Arbeit, bei gleichem Verdienst
• Das Produkt hat am Ende mehr Features - und ist weniger fokussiert und komplizierter
• Wenn das Produkt sowieso nicht erfolgreich wird, wäre weniger Arbeit besser gewesen
14
Nach dem Lastenheft ist vor dem Lastenheft
• Das Lastenheft könnte schon bald veraltet sein, denn die Produkt-Anforderungen können
sich ändern. Daher ist es oft sinnvoll, das Lastenheft immer wieder an den neuesten Stand
des Projektes anzupassen - der Kunde ändert sozusagen seine Meinung
• Dazu sollte Ihr Lastenheft die folgenden Dokumenteigenschaften haben:
• Versionsnummer auf jeder Seite, mindestens aber auf der Titelseite
• Datum - aktuelles Datum (wichtig bei einem Ausdruck) oder noch besser Datum der
letzten Änderung
• Seiten-Nummer auf jeder der Seiten - ist bei unterschriebenen Dokumenten wichtig oft wird sogar jede Seite paraphiert
• Wenn das Lastenheft von Ihrem Auftraggeber kommt und diese Informationen nicht
enthält, so fügen Sie diese im Dateinamen an oder schreiben sie auf die erste Seite
15