Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst iks Thementag Mehr Softwarequalität – Ausgewählte Themen 23.04.2013.

Ähnliche Präsentationen


Präsentation zum Thema: "Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst iks Thementag Mehr Softwarequalität – Ausgewählte Themen 23.04.2013."—  Präsentation transkript:

1

2 Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst iks Thementag Mehr Softwarequalität – Ausgewählte Themen Autor: Jörg Vollmer

3 Seite 3 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Was stört Sie im IT-Alltag am meisten? Befragt wurden 103 Software-Entwickler: 1.Unklare Anforderungen % 2.Zu häufig & schnell wechselnde Anforderungen % 3.Schlechtes Projektmanagement % 4.Geringe oder fehlende Testabdeckung % 5.Unzureichende Kommunikation im Team % 6.Termindruck => Quick & Dirty % 7.Unverständlicher Code % 8.Unnötige Meetings & Diskussionen % 9.Ineffektive (Entwicklungs-) Prozesse % 10. Schlechte Teamstimmung % Quelle:

4 Seite 4 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Unklare Anforderungen(50.49%) Requirements Engineering = Unklare Anforderungen beseitigen! Konstruktive Maßnahmen –Welche Fertigkeiten des RE helfen dabei? –Sieben typische Fallen beim RE –Welchen Einfluss haben Werkzeuge auf das RE? Analytische Maßnahmen –Kann das RE selbst qualitativ und quantitativ bewertet werden? –Wie lässt sich RE-Qualität messen und sichern? –Wirkt sich RE-Qualität auf die Software-Qualität aus?

5 Seite 5 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Agenda Anforderungen aufnehmen Dokumentieren von Anforderungen Der Effekt von Akzeptanztests Anforderungen vermessen und validieren Verwalten von Anforderungen Zusammenfassung

6 Seite 6 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Aufgaben zum Projektbeginn Eine initiale Bestandsaufnahme des Projektumfelds unverzichtbar –auch im agilen Umfeld Wichtige Aufgaben sind –Ziele des Produkts und dessen Nutzen ermitteln –Ermitteln aller Stakeholder –Systemkontext und -grenzen bestimmen –Qualitätsanforderungen identifizieren … denn sonst bleiben sie unklar Unklare Anforderungen!

7 Seite 7 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Beobachtungstechniken Apprenticing: Der RE wird wie ein Lehrling eingearbeitet. Der RE lernt hierbei den Fachjargon kennen Arbeitsschritte hinterfragen und ineffiziente Prozesse entdecken!... Die (neue) Software ist eng mit den Geschäftsprozessen verwoben.

8 Seite 8 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Falle 1 Ineffiziente Meetings

9 Seite 9 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Unnötige Meetings & Diskussionen (Platz 8) Der RE sollte wissen: –Jede Debatte, die nicht in fünf Minuten beigelegt werden kann, kann nicht durch Debattieren gelöst werden (Kent Beck) –Selbstdarsteller machen andere ratlos und stumm –Häufig geht es dann nicht mehr um die beste Lösung Moderationstechniken anwenden Risiko von falschen Entscheidungen Software-Qualität s. auch [bdw]

10 Seite 10 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Falle 2 Faule Kompromisse

11 Seite 11 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Unzulässige Verallgemeinerungen Stakeholder A: –Bei einem Fehler muss das System anhalten Stakeholder B: –Bei einem Fehler muss das System neustarten RE einigt sich mit A und B auf –Im Fehlerfall wird eine Ausnahmeroutine veranlasst Fauler Kompromiss! Eine Mehrdeutigkeit in einem Anforderungsdokument steht oft für einen Konflikt bei den Stakeholdern (de Marco)

12 Seite 12 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Falle 3 Designfehler bei Geschäftsobjekten

13 Seite 13 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Ein Auto kann verschiedene Farben haben Was der RE verstand: Was der Kunde wollte:

14 Seite 14 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Unterschiede ziehen sich durch alle Schichten Datenbank Datenmodell Service-Schicht Benutzeroberfläche Fachobjekte und deren Beziehungen identifizieren (DDD) Hohe Korrekturkosten es geht auf Kosten der Softwarequalität

15 Seite 15 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Falle 4 Unklare Fachbegriffe

16 Seite 16 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Unklare Fachbegriffe Was meinte der Banker mit Engagement? –Meinte er persönlichen Einsatz oder –doch eine vertragliche Verpflichtung wie beim Theater? Wikipedia –Risiko bzw. Chance eines Kursverlusts oder -gewinns Die Fachabteilung –Das, was die Bank verliert, wenn der Kunde bankrott ist. Fachbegriffe analysieren, Glossar, ubiquitäre Sprache

17 Seite 17 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Best Practices Überprüfen Sie: –Wurden Ihrer Prozesse jemals untersucht und hinterfragt? –Verlaufen Ihre (RE-) Meetings effizient und effektiv? –Welche Stakeholder-Konflikte behindern Entscheidungsfindungen? –Sprechen alle Stakeholder eine gemeinsame Fachsprache? –Existiert ein Glossar?

18 Seite 18 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Agenda Anforderungen aufnehmen Dokumentieren von Anforderungen Der Effekt von Akzeptanztests Anforderungen vermessen und validieren Verwalten von Anforderungen Zusammenfassung

19 Seite 19 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Anforderungen dokumentieren Anforderungen aufschreiben, das kann doch jeder. Aber: Meinungen zu bestehender Dokumentation –Versteht nur der, ders geschrieben hat –Ist nicht mehr aktuell –Die kniffligen Sonderfälle fehlen –Bis man dort die richtige Stelle findet –Das Wichtigste ist die Telefonliste von Ansprechpartnern Sehr viel Dokumentation wird gar nicht erst gelesen!

20 Seite 20 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Nichts Halbes, nichts Ganzes

21 Seite 21 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Wie entsteht gute (Anforderungs-) Dokumentation? Es empfiehlt sich die Verwendung einer Standardgliederung / Template –RUP –IEEE 830 –V-Modell –Volere Einleitung Zweck, Stakeholder Referenzen Übersicht Systemumfeld Architektur Benutzer Randbedingungen Anforderungen Funktionalität Qualitätsanforderungen Abnahme Akzeptanzkriterien Testszenarien Anhang Glossar Index Einleitung Zweck, Stakeholder Referenzen Übersicht Systemumfeld Architektur Benutzer Randbedingungen Anforderungen Funktionalität Qualitätsanforderungen Abnahme Akzeptanzkriterien Testszenarien Anhang Glossar Index

22 Seite 22 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Dokumentation in Form von Prosatext Vorteile –Wird von allen Beteiligten verstanden –Kein Stakeholder muss eine neue Notation erlernen –Themenunabhängig universell einsetzbar Nachteile –Mehrdeutigkeit leicht möglich –Kann je nach Kontext verschieden interpretiert werden –Es gehört zum guten Ausdruck, die Wortwahl zu variieren Missverständnisse

23 Seite 23 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Falle 5 Unverständliche Formulierungen

24 Seite 24 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Negativbeispiel Auszug aus eine Spezifikation: – Funktionalität In einer Liste über alle noch nicht zugeordneten Kunden werden alle Kunden aller Typen ungleich Typ 0 angezeigt, die bisher keinem Kunden vom Typ 0 zugeordnet wurden. … Satzstruktur zu komplex

25 Seite 25 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Falle 6 Versteckte Annahmen

26 Seite 26 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Negativbeispiel Auszug aus eine Spezifikation: – Funktionalität In einer Liste über alle noch nicht zugeordneten Kunden werden alle Kunden aller Typen ungleich Typ 0 angezeigt, die bisher keinem Kunden vom Typ 0 zugeordnet wurden. … Fragen: –Was ist die Liste –Wo befindet sich diese? –Wer ordnet was wem zu? –Was ist Typ 0?

27 Seite 27 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Das Sophist-REgelwerk Passiv unterschlägt den Täter –Beispiel: Ein Auftrag kann storniert werden. –Frage: Von wem? Von jedem, immer? Analyse des Prozesswortes –Beispiel: Das System zeigt das Ergebnis nach der Berechnung an. –Prozesswort ist anzeigen. Fragen: Wem, Wie, Wann, Warum, … Vergleiche und Steigerungen –Beispiel: Die GUI muss schneller reagieren als beim Altsystem –Frage: Um wie viel schneller? Ist eine Millionstel Sek. auch gültig? … etc.

28 Seite 28 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Vorschlag: Satzschablonen Beispiel: Die User-Story Agile Methoden verwenden sog. User-Stories Aufbau: –As a I want so that –Als ein Autor will ich meine Präsentation speichern können, damit ich nicht noch einmal alles eingeben muss. Das damit hinterfragt den Geschäftswert Man beantwortet somit das Wer, Was und Warum / Wozu

29 Seite 29 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Formale Spezifikationen, Modelle Beispiele: ER-Diagramme, UML, BPEL, BPMN, DSLs,… Vorteile –Sind eindeutiger und aussagekräftiger –Kompaktere übersichtliche Darstellung –Für den geübten Leser verständlicher –Der Implementierung bereits viel näher –Zum Teil lässt sich Code daraus generieren Nachteile –Sind nicht universell einsetzbar –Syntax / Semantik muss vom Leser verstanden bzw. erlernt werden –Zusätzliche Tools müssen erlernt werden evtl. Schulungen

30 Seite 30 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Die Mischung beider ergänzt sich positiv Vorteile –Modelle können durch natürlich-sprachliche Ergänzungen verständlicher werden –Prosatext kann durch Modelle eindeutiger und exakter werden Beispiel: Mathematische Texte –Aus jeder nicht-negativen reellen Zahl lässt sich die Wurzel ziehen – Häufig verschwindet die (Beweis-) Idee hinter der Abstraktion

31 Seite 31 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Beispiel

32 Seite 32 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Funktionale Anforderungen - Prosa Der Nikolaus verteilt am eines jeden Jahres Geschenke an Kinder. Die Geschenke sind unterschiedlich viel wert. Jedes Kind bekommt ein oder mehrere Geschenke. Ziel: Der Summenwert der Geschenke soll bei jedem Kind möglichst gleich sein. Aufgabe: Eine Software soll bei Eingabe der Kinderzahl und der Geschenkwerte eine gerechte Verteilung berechnen.

33 Seite 33 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Funktionale Anforderungen – Illustriert … …

34 Seite 34 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Funktionale Anforderungen - Formal Voraussetzung –Gegeben seien natürliche Zahlen –und eine Preisfunktion. Aufgabe –Finde eine Partitionierung, sodass minimal wird, wobei.

35 Seite 35 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Abnahme: Der Nikolaus testet und war unglücklich…

36 Seite 36 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Warum? Version 0.9 –Die Lösungen waren anfangs z.T. völlig falsch. Der Entwickler hatte die Idee hinter der Formel zunächst nicht ganz verstanden. Version 1.0 –Die Verteilung der Geschenke gefiel dem Nikolaus gar nicht: Manche Kinder bekamen viele wertlose Geschenke. Die Geschenke sollten sich doch gleichmäßig verteilen! Version 1.1 –Der katastrophale Fall Kinderheim: 50 Geschenke, 20 Kinder: Die Anwendung antwortet nicht mehr!

37 Seite 37 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Falle 7

38 Seite 38 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Erkenntnis Selbst eine vollständige und widerspruchsfreie Spezifikationen garantiert keine gute Software! Doch wie lässt sich das Problem bekämpfen?

39 Seite 39 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Specification by Example Zwei Kinder, 6 Geschenke im Wert von 1, 2, 2, 4, 6, 9 Euro –Lösung: = 12 = –Ungültig: = 11 < 13 = Zwei Kinder, 6 Geschenke im Wert von 1, 2, 2, 4, 5, 9 Euro –Lösung: = 11 < 12 = Zwei Kinder, 10 Geschenke im Wert von 1, 1, 1, 1, 1, 1, 1, 1, 4, 4 Euro –Lösung: = 8 = –Schlecht: = 8 = Kinder, 50 Geschenke im Wert von jeweils 1 Euro –Lösung: 10 Kinder: 1 + 1,10 Kinder: usw...

40 Seite 40 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Klassisch: Stille Post Klassisches Vorgehen: Kunde Requirements Engineer Der RE abstrahiert und formuliert ein Spezifikation. Entwickler Software TesterTestfälle KundeAbnahme anhand von Beispielen anhand der Spezifikation anhand von Akzeptanzkriterien

41 Seite 41 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Idee des Acceptance Test Driven Development BeispieleTests Anforderungen werden zu verifizieren reflektieren

42 Seite 42 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Wer schreibt Akzeptanztests? RE und Entwickler erstellen zusammen Akzeptanztests. Diese werden in natürlicher Sprache verfasst. Vorrangiges Ziel ist ein gemeinsames Verständnis der Anforderung! Schön wäre ein einheitliches Format (Satzschablone)…...mit dem Ziel, daraus Test-Code generieren zu können. Dies ist die Idee das sog. Behavior Driven Development (BDD)

43 Seite 43 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Angenommen … falls … dann … Ergänzend zur User-Story werden sog. Scenarios formuliert (zusammen bilden sie ein sog. Feature) User Story Als einNikolaus will ichdass meine Geschenke an Kinder gerecht verteilt werden, umEnttäuschungen der Kinder zu vermeiden. Scenario1:Zwei Kinder, vier Geschenke AngenommenNikolaus gibt »2« beim Feld Kinder ein, undNikolaus gibt »1, 2, 3, 4« beim Feld Geschenke ein. Falls Nikolaus auf Rechnen drückt, dannmuss im Feld Ergebnis erscheinen: »Kind 1: 1 + 4, Kind 2: 2 + 3«

44 Seite 44 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Bespiel mit JBehave Die Datei nikolaus.story: Die Test-Klasse: Given Nikolaus gibt 2 beim Feld Kinder ein Given Nikolaus gibt 1,2,3,4 beim Feld Geschenke ein When Nikolaus auf Rechnen drueckt Then muss im Feld Ergebnis erscheinen: Kind 1: = 5, Kind 2: = gibt $kinder beim Feld Kinder ein") public void eingabeKinder(int kinder) { this.kinder = kinder; gibt $geschenke beim Feld Geschenke ein") public void eingabeGeschenke(List geschenke) { this.geschenke = geschenke; auf Rechnen drueckt") public void rechnenDruecken() { rechner = new Rechner(kinder, geschenke); solution = rechner.calculate(); im Feld Ergebnis erscheinen: $ergebnis") public void dasErgebnisMussSein(String ergebnis) { String loesung = rechner.solutionToString(solution); Assert.assertEquals(ergebnis, loesung); } s. auch [Jbehave] und [Cucumber]

45 Seite 45 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Beispiel mit JBehave Die Log-Datei im Erfolgsfall: Die Log-Datei im Fehlerfall: Running story com/javacook/nikolaus/nikolaus.story Scenario: Given Nikolaus gibt 2 beim Feld Kinder ein Given Nikolaus gibt 1,2,3,4 beim Feld Geschenke ein When Nikolaus auf Rechnen drueckt Then muss im Feld Ergebnis erscheinen: Kind 1: = 5, Kind 2: = 9 (FAILED) (org.junit.ComparisonFailure: expected: but was: ) Running story com/javacook/nikolaus/nikolaus.story Scenario: Given Nikolaus gibt 2 beim Feld Kinder ein Given Nikolaus gibt 1,2,3,4 beim Feld Geschenke ein When Nikolaus auf Rechnen drueckt Then muss im Feld Ergebnis erscheinen: Kind 1: = 5, Kind 2: = 5

46 Seite 46 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Vergleich der Entwicklung: klassisch & BDD Kunde wird interviewt RE spezifiziert Anforderungen Implementierung QA testet Auslieferung & Abnahme Kunde wird interviewt RE spezifiziert Anforderungen RE & Entwickl. Akzeptanztest Implementierung QA & autom. Akzeptanztests Auslieferung & Abnahme

47 Seite 47 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Fazit Das Erstellen von Akzeptanztests erzwingt eine detailliertere Auseinandersetzung bereits zu Beginn. Es fördert die Kommunikation zwischen Auftraggeber, RE und Entwicklung Es entstehen (nebenbei) automatisierte Tests, die das System unmissverständlich dokumentieren.

48 Seite 48 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Best Practices Überprüfen Sie (stichprobenartig) einige Anforderungsdokumente –Sind die Dokumente auffindbar, versioniert? –Sind die Dokumente einheitlich strukturiert? –Ist der Text (auch für Uneingeweihte) klar und verständlich? –Wurden formale Methoden verwendet? –Enthalten sie Akzeptanzkriterien? –Sind in Ihren Dokumenten ausreichend Musterfälle enthalten?

49 Seite 49 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Agenda Anforderungen aufnehmen Dokumentieren von Anforderungen Der Effekt von Akzeptanztests Anforderungen vermessen und validieren Verwalten von Anforderungen Zusammenfassung

50 Seite 50 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Anforderungen vermessen und validieren Warum? –Anforderungsdokumente sind häufig Grundlage für Verträge –Einen Qualitätsstandard sicherstellen –Qualität der Anforderungen wirkt sich auf die Software-Qualität aus –Fehler & Mängel frühzeitig zu finden, denn…

51 Seite 51 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Kosten von RE-Fehlern bezogen auf Projektphasen

52 Seite 52 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Qualitätsmerkmale für Anforderungen Wann ist eine Anforderungsspezifikation gut? –Aktualität (insb. Kundenwunsch-konform) –Eindeutigkeit –Widerspruchsfreiheit –Identifizierbarkeit –Vollständigkeit –Änderbarkeit –Prüfbarkeit –Realisierbarkeit –Verständlichkeit

53 Seite 53 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Konkrete Qualitätsmetriken nach [RuppSoph]

54 Seite 54 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Review-Prüfmethoden Stellungnahme –Eine weitere Person wird gebeten, das Dokument zu prüfen Inspektion –Sehr strenger aufwändiger Prozess mit vielen Beteiligten (Moderator, Prüfer, Termine, Checklisten, Abschlussbericht) Walkthrough –Leichtgewichtiges Review (Autor trägt vor, Prüfer, Protokollant) Automatisiert durch Tools –Befindet sich in der Forschung

55 Seite 55 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Prüfungsnachbereitung Ergebnisse standardisiert dokumentieren Bei Unterschreitungen der Toleranzgrenze –Ursachen bestimmen! –Prozesse anpassen –Evtl. nachschulen

56 Seite 56 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Bezug zur Software-Qualität (exemplarisch) FunktionalitätKorrektheitWartbarkeit Aktualitätx Eindeutigkeitx Widerspruchsfreiheitx Identifizierbarkeitx Vollständigkeitx Änderbarkeitx Prüfbarkeitxx Realisierbarkeitx Verständlichkeitxx

57 Seite 57 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Best-Practices Werden Qualitätsprüfungen bzgl. der Anforderungen bei Ihnen durchgeführt? –Planen Sie den Prozess sorgfältig und passen ihn gezielt auf Ihre Bedürfnisse an. –Qualitätsprüfungen sind bislang noch nicht die Regel. –Tun Sie es, nutzen Sie den Vorsprung!

58 Seite 58 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Agenda Anforderungen aufnehmen Dokumentieren von Anforderungen Der Effekt von Akzeptanztests Anforderungen vermessen und validieren Verwalten von Anforderungen Zusammenfassung

59 Seite 59 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Anforderungen verwalten Ist eine Hauptaufgabe des agilen RE! Wird umso wichtiger, je –mehr Anforderungen zu verwalten sind, –mehr Stakeholder auf die Informationen zugreifen, –mehr Änderungen zu erwarten sind, –länger das Produkts (erwartungsgemäß) in Betrieb ist. Die Wahl des(r) richtigen Tools ist außerordentlich wichtig! Entscheidend für das Software-Qualitätsmerkmal Wartbarkeit

60 Seite 60 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Erwartungen an ein Management-Tool Notwendige Eigenschaften: –Anlegen, Ändern, Löschen von Anforderungen –Strukturierbarkeit (hierarchisch, verlinkbar) –Gute Suchmöglichkeiten (Volltext, unscharf, Stichwörter) –Versionsverwaltung / Versionierung –Einfache Handhabung von Grafiktypen (Einfügen, Bearbeiten) –Verfolgbarkeit (Traceability) Wünschenswert –Konfigurierbarkeit von Eingabemasken und Workflow –Benutzer- und Rechteverwaltung –Automatische Analyse von Texten

61 Seite 61 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Tools Word & Excel: immer noch üblich –Grund: Wird von jedem beherrscht Im Kommen: Jira & Wikis –Grund: Einfaches Erlernen, Einfache Bedienung –Offen für den Aufbau einer Werkzeugkette Auswahl verschiedener RE-Tools (alphabetisch): –Caliber RMContour Cradle –DOORSDESIReEnterprise Architect –HP Quality CenterIrQA Lotos Notes –OptimalTrace ProRRequisitePro –YAKINDU… [VolereTools] enthält eines weitaus größere Übersicht

62 Seite 62 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Traceability - so wichtig und doch kaum vorhanden Typische Wartungsaufgabe: –Im Risiko-Report vom 31.3 stimmt das Ausfalldatum nicht. Findet der Entwickler folgende Informationen effizient? –Woher stammt das Datum (Eingabe, Import)? –In welchen Klassen wird es verarbeitet? –Welche Datenbankfelder sind involviert? –Welche fachlichen Abhängigkeiten gibt es zu anderen Daten? –Wie groß sind die Risiken von Änderungen? –…

63 Seite 63 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Ideale Welt RE-Tool Suchergebnis Source Verarbeitung Lösung RE-Tool Anforderung RE-Tool "Ausfalldatum" Modellierung Fachklassen

64 Seite 64 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Die Realität SourceDB-Tool Source-Code-Analysen können das zig-fache an Zeit kosten! Word X

65 Seite 65 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Vision: Traceability innerhalb der Werkzeugkette Anforderungs- management IDE Projekt- management Build- Management Issue Tracking Modellierung Persistenz Delivery Collaboration BP- Management Monitoring Configuration- Management

66 Seite 66 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Best Practices Prüfen Sie, ob bei Ihnen die passenden Werkzeugkette im Einsatz ist. Erwägen Sie eine Neuanschaffung, so –nehmen Sie sich Zeit für die richtige Wahl, –lassen Sie sich von Experten beraten, –planen Sie auch den Einsatz von Schulungen.

67 Seite 67 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Agenda Anforderungen aufnehmen Dokumentieren von Anforderungen Der Effekt von Akzeptanztests Anforderungen vermessen und validieren Verwalten von Anforderungen Zusammenfassung

68 Seite 68 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Warum ist RE wirtschaftlich?

69 Seite 69 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Zusammenfassung Einsparungen beim RE bewirken wenig Qualität bei hohen Kosten! Eine gute Anforderungsanalyse erfordert spezielle RE-Fertigkeiten –mit direkten Auswirkungen auf die Softwarequalität Gute Dokumentation erfordert Talent, Technik und Disziplin –Sprachkonventionen, Modelle, neue Verfahren (BDD) –Ziel: Formales und systematisches Vorgehen –Gute RE-Management-Tools helfen nennenswert Auch Anforderungen lassen sich qualitätsprüfen –Ziel: Qualitätssteigerungen durch kontinuierliches Messen –Qualität bei den Anforderungen Software-Qualität

70 Seite 70 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Referenzen [RuppSoph] Chris Rupp, die SOPHISTen; Requirements-Engineering und – Management, 5. Auflage, Hanser, 2009, ISBN: [VolereTools] [Cucumber] [Jbehave] [bdw]http://www.bild-der- wissenschaft.de/bdw/bdwlive/heftarchiv/index2.php?object_id= http://www.bild-der- wissenschaft.de/bdw/bdwlive/heftarchiv/index2.php?object_id=

71 Seite 71 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Weiterführende Literatur Klaus Pohl, Chris Rupp; Basiswissen Requirements Engineering; 2. Auflage, Dpunkt Verlag, 2010, ISBN: S. Robertson, J. Robertson; Mastering the Requirements Process; Addison Wesley, 1999, ISBN: U. Vigenschow, B.Schneider, I. Meyrose; Soft Skills für Softwareent- wickler; 2. Auflage, Dpunkt Verlag, 2010, ISBN: Rainer Gerlich; 111 Thesen zur erfolgreichen Softwareentwicklung; 1. Auflage, Springer, 2005, ISBN:

72 Seite 72 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Weiterführende Literatur Mr. Malcolm Tredinnick, Behaviour Driven Development, Gojko Adzic; Bridging the Communication Gap: Specification by Example and Agile Acceptance Testing; Neuri Limited, 2009, ISBN: Gojko Adzic; Specification by Example: How Successful Teams Deliver the Right Software; Manning, Juni 2011, ISBN:

73 Seite 73 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Folie 9: Folie 13: Folie 19: Folie 29: 800px-Lage-_und_Verhältnisbestimmung_Zahn.jpg Folie 32: Folie 33: … Bildernachweise

74 Seite 74 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Folie 33: Folie 55: Folie 64: Sämtliche hier nicht aufgeführte Bilder bzw. Grafiken wurden vom Autor selbst erstellt. Bildernachweise

75 Seite 75 / 75Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst Abkürzungen ATDDAcceptance Test Driven Development BDDBehavior Driven Development BPEBusiness Process Execution Language BPMNBusiness Process Model and Notation DDD Domain-Driven Design DSLDomain-Specific Language EREntity Relationship QAQuality Assurance QSQualitätssicherung RERequirements Engineering bzw. Requirements Engineer TDDTest-Driven Development UMLUnified Modeling Language

76 Fragen?

77


Herunterladen ppt "Garbarge in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst iks Thementag Mehr Softwarequalität – Ausgewählte Themen 23.04.2013."

Ähnliche Präsentationen


Google-Anzeigen