SlideShare ist ein Scribd-Unternehmen logo
1 von 59
Downloaden Sie, um offline zu lesen
Garbage in - garbage out:
           Wie das Anforderungsmanagement die
                Softwarequalität beeinflusst


                          iks Thementag

„Mehr Softwarequalität – Best practices für alle Entwicklungsphasen“



                            19.06.2012
                               Autor:
                            Jörg Vollmer
Agenda

      Anforderungen aufnehmen

      Dokumentieren von Anforderungen

      Anforderungen vermessen und validieren

      Verwalten von Anforderungen

      Paradigmenwechsel: Vom Vorarbeiter zum Mitarbeiter

      Zusammenfassung




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 3 / 58
Vorgehen

Im Folgenden soll untersucht werden:

      Konstruktiv
       – Welche Fertigkeiten des RE beeinflussen die Software-Qualität?

      Analytisch
       – 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?

      Mit neuen RE-Techniken zu besserer Qualität (?)



iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out         Seite 4 / 58
Standardprobleme zu Projektbeginn

      Unklare Zielvorstellungen

      Veränderliche Anforderungen

      Stakeholder stehen nicht zur Verfügung

      Kommunikationsbarrieren

      Hohe Komplexität




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 5 / 58
Qualitätseigenschaften des Requirements Engineers

      Moderationsfertigkeiten

      Eloquenz

      Perspektivenwechsel

      Diplomatie

      Sorgfalt

      Ausdauer

      Spezielle RE-Techniken (gleich…)



   Analytisch unmessbar, aber Auswirkung auf die Softwarequalität

iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 6 / 58
Agenda

      Anforderungen aufnehmen

      Dokumentieren von Anforderungen

      Anforderungen vermessen und validieren

      Verwalten von Anforderungen

      Paradigmenwechsel: Vom Vorarbeiter zum Mitarbeiter

      Zusammenfassung




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 7 / 58
Aufgaben zum Projektbeginn

      Die initiale Bestandsaufnahme des Projektumfelds ist unverzichtbar
       – Auch im agilen Umfeld

      Wichtige Aufgaben sind
       – Ermitteln aller Stakeholder
       – Ziele des Produkts und deren Nutzen ermitteln
       – Systemkontext und -grenzen bestimmen
       – Qualitätsanforderungen (des Produkts) identifizieren




    Fehler hierbei werden später teuer bezahlt

iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 8 / 58
Beobachtungstechniken

      Apprenticing: Der RE wird wie ein Lehrling eingearbeitet

      Der RE lernt hierbei den Fachjargon kennen

      Arbeitsschritte hinterfragen und ineffiziente Prozesse entdecken ...




   …die Chance, somit die Qualität zu verbessern, ist schnell verspielt

iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out    Seite 9 / 58
1. Falle: Diskussionen in Meetings

      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
       – Eine Gruppe orientiert sich viel schwerer um als ein Einzelner
                                                                    s. auch [bdw]




 Moderationstechniken anwenden



    Risiko von falschen Entscheidungen  Software-Qualität

iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out         Seite 10 / 58
2. Falle: Faule Kompromisse

      Stakeholder A:
       – Bei einem Fehler muss das System anhalten

      Stakeholder B:
       – Bei einem Fehler muss das System neu starten

      RE einigt sich mit A und B auf
       – Im Fehlerfall wird eine Ausnahmeroutine veranlasst

Schlecht!

Eine Mehrdeutigkeit in einem Anforderungsdokument steht oft für
einen Konflikt bei den Stakeholdern (de Marco)


iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 11 / 58
3. Falle: Ein Auto kann verschiedene Farben haben

Was der RE verstand:




Was der Kunde wollte:




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 12 / 58
Unterschiede ziehen sich durch alle Schichten

      Datenbank
      Datenmodell
      Service-Schicht
      Benutzeroberfläche




 Fachobjekte und deren Beziehungen identifizieren (DDD)


    Fehler hierbei sind teuer!

iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 13 / 58
4. Falle: 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


iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out      Seite 14 / 58
Best practices

      Überprüfen Sie:

        – Wurden Ihre 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?




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 15 / 58
Agenda

      Anforderungen aufnehmen

      Dokumentieren von Anforderungen

      Anforderungen vermessen und validieren

      Verwalten von Anforderungen

      Paradigmenwechsel: Vom Vorarbeiter zum Mitarbeiter

      Zusammenfassung




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 16 / 58
Anforderungen dokumentieren

      Anforderungen aufschreiben, das kann doch jeder

      Aber: Meinungen zu bestehender Dokumentation
       – Versteht nur der, der‘s geschrieben hat
       – Ist nach kurzer Zeit überholt
       – Bis man dort die richtige Stelle findet
       – Die interessanten Sonderfälle fehlen eh




 Sehr viel Dokumentation wird gar nicht erst gelesen


iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 17 / 58
Wie entsteht gute (Anforderungs-) Dokumentation?
                                                                    Einleitung
      Es empfiehlt sich die Verwendung                                   Zweck,
      einer Standardgliederung / Template                                Stakeholder
       – RUP                                                             Referenzen

       – IEEE 830                                                   Übersicht
                                                                         Systemumfeld
       – V-Modell                                                        Architektur
       – Volere                                                          Benutzer
                                                                         Randbedingungen
                                                                         Annahmen

                                                                    Anforderungen
                                                                         Funktionalität
                                                                         Qualitätsanforderungen

                                                                    Anhang
                                                                         Verzeichnisse
                                                                         Glossar
                                                                         Index

iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out                                 Seite 18 / 58
Dokumentation in Form von Prosatext

      Vorteile
       – Wird von alle 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




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out    Seite 19 / 58
Negativbeispiel

      Original
       – Wenn das Feld kundeVorhanden 'J' entspricht, dann wird über
          kunde.item.sector das Feld branche gesetzt.

      Besser
       – Falls das Feld kundeVorhanden 'J' ist, dann erhält branche
         den Wert von kunde.item.sector.


      Formaler
       – Ist kundeVorhanden = 'J', so setze
             branche:= kunde.item.sector.



iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 20 / 58
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

iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 21 / 58
Eine Mischung ist optimal

      Vorteile
       – Modelle können durch natürlich-sprachliche Ergänzungen
         verständlicher werden
       – Prosatext kann durch Modelle eindeutiger und exakter werden
       – D.h. beide Arten können die Schwächen der anderen kompensieren



      Vorbild: Mathematische Texte
       – Aus jeder nicht-negativen reellen Zahl lässt sich die Wurzel ziehen
       – Es seien x, y  IR. Dann gilt y  0  x : x 2  y.




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out       Seite 22 / 58
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, Wie oft, etc.

      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.

iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out        Seite 23 / 58
Satzschablonen, z.B. die der User-Story
       Agile Methoden verwenden sog. User-Stories
       Aufbau:
        – As a <role> I want <goal/desire> so that <benefit>

       Beispiel:
        – Als Autor möchte ich meine Präsentation speichern können,
          damit ich nicht noch einmal alles eingeben muss

       „so that <benefit>“ hinterfragt den Geschäftswert

       Kurzfassung des klassischen Use-Case

       Akzeptanztests kompensieren den knappen Inhalt (dazu später…)



iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out     Seite 24 / 58
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?

        – Wenn nicht, warum nicht?  Schulungen




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out        Seite 25 / 58
Agenda

      Anforderungen aufnehmen

      Dokumentieren von Anforderungen

      Anforderungen vermessen und validieren

      Verwalten von Anforderungen

      Paradigmenwechsel: Vom Vorarbeiter zum Mitarbeiter

      Zusammenfassung




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 26 / 58
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…




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out       Seite 27 / 58
Kosten von RE-Fehlern bezogen auf Projektphasen




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 28 / 58
Qualitätsmerkmale für Anforderungen

      Wann ist eine Anforderungsspezifikation gut?
        –    Aktualität (insbesondere Kundenwunsch-konform)
        –    Eindeutigkeit
        –    Widerspruchsfreiheit
        –    Identifizierbarkeit
        –    Vollständigkeit
        –    Änderbarkeit
        –    Prüfbarkeit
        –    Realisierbarkeit
        –    Verständlichkeit


   All diese Merkmale beeinflussen die Software-Qualität!

iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 29 / 58
Zusammenhang zur Software-Qualität, exemplarisch

                                      Funktionalität                Korrektheit   Wartbarkeit
                   Aktualität                                           x
             Eindeutigkeit                                              x
 Widerspruchsfreiheit                                                   x
       Identifizierbarkeit                                                            x
           Vollständigkeit                     x
             Änderbarkeit                                                             x
                Prüfbarkeit                                             x             x
         Realisierbarkeit                      x
        Verständlichkeit                                                x             x



iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out                               Seite 30 / 58
Konkrete Qualitätsmetriken

                                u  PE  v  BPE  w  BE
 Eindeutigk eit                                          100, wobei u  v  w  1
                                  # Anforderungssätze

   PE  Prozessworteindeutigkeit
  BPE  Bezugspunkteindeutigkeit
   BE  Begriffsei ndeutigkei t


    A zu t
  PEi 1 Fragen
  A), , alle
   ), BEi JA
   BPE beant
  ( ( (0
  i  i A
       )falls
        ,
           A
           mit
        sonst
              sind




                                                                         nach [RuppSoph]


iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out                Seite 31 / 58
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


iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out       Seite 32 / 58
Prüfungsvorbereitungen

      Qualitätsmerkmale auswählen

      Qualitätsmetriken auswählen

      Sollwerte festlegen (Indikatoren)

      Prüfzeitpunkte festlegen

      Prüfer gezielt auswählen
       – Qualifikation!




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 33 / 58
Prüfungsnachbereitung

      Ergebnisse standardisiert dokumentieren




      Bei Unterschreitungen der Toleranzgrenze
       – Ursachen bestimmen
       – Prozesse anpassen
       – Evtl. nachschulen

iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 34 / 58
Prozesse anpassen, Vorschläge

      Verwendung von Bugtrackern auch bei Anforderungen
       – Beispiele: Jira, Mantis, Bugzilla, Trac
       – Wird bislang kaum praktiziert. Warum eigentlich nicht?
       – Zudem ist die Anzahl der Tickets (normiert) eine Qualitäts-Metrik

      Definition of Done
       – Qualitätsrichtlinien festlegen
       – Stellungnahme gehört „zum Done“ dazu




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out       Seite 35 / 58
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!




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out    Seite 36 / 58
Agenda

      Anforderungen aufnehmen

      Dokumentieren von Anforderungen

      Anforderungen vermessen und validieren

      Verwalten von Anforderungen

      Paradigmenwechsel: Vom Vorarbeiter zum Mitarbeiter

      Zusammenfassung




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 37 / 58
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 Produkt (erwartungsgemäß) in Betrieb ist.

      Die Wahl des richtigen Tools ist außerordentlich wichtig!




   Entscheidend für das Software-Qualitätsmerkmal Wartbarkeit

iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 38 / 58
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 und Generieren von Fragen
       – …

iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out     Seite 39 / 58
Automatisches Erzeugen von Fragen

      Gegeben sei die User-Story
       – Als Nutzer möchte ich meine Präsentation speichern, damit
         ich nicht noch einmal alles eingeben muss

      Exemplarisch generiertes Fragen-Set
        –    Wer muss speichern?
        –    Wann soll speichern stattfinden?
        –    Wann ist speichern komplett abgeschlossen?
        –    Wie häufig / oft / groß / schnell soll speichern sein?
        –    Wo / wie kann geprüft werden, ob speichern durchgeführt wurde?
        –    Was geschieht, wenn man nicht speichern kann?
        –    Was könnte speichern verhindern, und was wird dann erwartet?
        –    Welche mögl. Fehleingaben müssen im Zusammenhang mit speichern abgefangen werden?
        –    Welche Inhalte kommen in Präsentation vor?
        –    Welche optionalen / verpflichtenden Aspekte gelten für Präsentation?
        –    Wie sieht das Layout von Präsentation aus?

iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out                  Seite 40 / 58
Tools

      Word & Excel: immer noch üblich
       – Grund: Werden von jedem beherrscht

      Mehr im Kommen: Jira & Wikis
       – Grund: Einfaches Erlernen, einfache Bedienung

      Auswahl verschiedener Tools:
       – Caliber RM        Cradle                                   Contour
       – DOORS             DESIRe                                   Enterprise Architect
       – HP Quality Center IRQA                                     Lotus Notes
       – OptimalTrace      RequisitePro

        – [VolereTools] enthält eine weitaus größere Übersicht

iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out                          Seite 41 / 58
Best practices

      Prüfen Sie, ob bei Ihnen das passende Tool 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.




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 42 / 58
Agenda

      Anforderungen aufnehmen

      Dokumentieren von Anforderungen

      Anforderungen vermessen und validieren

      Verwalten von Anforderungen

      Paradigmenwechsel: Vom Vorarbeiter zum Mitarbeiter

      Zusammenfassung




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 43 / 58
Probleme des bisherigen RE-Ansatzes

      Das Wissen des Auftraggebers gelangt über folgende
      Transformationen hin zur Software
        – Kundenvorstellung  Anforderung (teils modelliert)
        – Anforderung        Software-Design
        – Software-Design  Programmcode


      Ähnliches gilt für Tests
        – Kundenvorstellung  Anforderung
        – Anforderung        Test-Design
        – Test-Design        Testcode




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 44 / 58
Probleme der Transformationen

      Diese Transformation ist zu komplex:
       – Anforderung  Software-Design

      Gründe
       – Die Anforderung ist zu wenig formalisiert bzw. „algorithmisiert“
       – Hochmut der Entwickler (wir machen das eh noch mal anders)
       – Code-Styles (Übersetzung ins Englische)

      Folge
       – Man findet die Anforderung nicht mehr im Code wieder


    Qualitätseinfluss auf Korrektheit & Änderbarkeit

iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out           Seite 45 / 58
Probleme der Transformationen

      Diese Transformation bereitet ähnliche Schwierigkeiten
       – Anforderung  Test-Design

      Gründe
       – Die Anforderungen enthalten zu wenige (meist gar keine)
         Akzeptanzkriterien

      Folge
       – Der Tester muss die Sollwerte anhand der Anf. selbst ableiten
       – Gefahr besteht, dass Testszenarien ganz vergessen werden




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out        Seite 46 / 58
Behavior-Driven Development

      Ziel
       – Systematisierung der Transformation
           Anforderung  Software-Design bzw. Test-Design

      Lösung
        – RE und Entwickler erstellen zusammen Akzeptanzkriterien
          und -tests (keine Unit-Tests!)

        – Sie werden zum Bestandteil der Anforderungsspezifikation
          (der User-Story)

        – Sie haben ein einheitliches Format…

        – Ziel: Automatisierung!


iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out    Seite 47 / 58
Given When Then

      Ergänzend zur User-Story werden in der ubiquitären
      Sprache sog. Szenarien formuliert:

     As a:                     Rechenmuffel
     I want:                   dass ein Rechner Zahlen addiert                  Story
     In order to:              vermeiden von dummen Kopfrechenfehlern

     Scenario1:                Addieren von Zahlen
     Given:                    Rechenmuffel gab „27“ in den Rechner ein,
     And:                      Rechenmuffel gab „39“ in den Rechner ein,
     And:                      Rechenmuffel gab „11“ in den Rechner ein,
     When:                     Rechenmuffel „Summe” drückt,
     Then:                     muss Rechner „77“ als Ergebnis anzeigen.

                                                                       Mehr dazu z.B. bei [Cucumber]
     Scenario2:                 …
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out                         Seite 48 / 58
Testgetriebenes Requirements Engineering

      Standard
        1.    Kunde wird interviewt
        2.    RE spezifiziert Anforderungen (und erwartet Schätzung)
        3.    Architekt / Entwickler erstellen Software-Design
        4.    Entwickler implementieren Software und (Unit- & Integrations-) Tests
        5.    QA testet meist von Hand  Iteration zu 1, 2, 3, 4
        6.    Abnahmetests

      Neu
        1.    Kunde wird interviewt
        2.    RE spezifiziert Anforderungen
        3.    RE spezifiziert zusammen mit Entwicklung Akzeptanztests (Iteration zu 1, 2)
        4.    Schätzung
        5.    Entwickler erstellen Software, Tests und Akzeptanztests (automatisierte)
        6.    QA testet  Bugfix-Iteration zu 5 (idealisiert)
        7.    Abnahmetests (Ziel: starke Einsparung)
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out                      Seite 49 / 58
Fazit

      Szenarien erhöhen die Qualitätsmerkmale Verständlichkeit,
      Eindeutigkeit und Prüfbarkeit der Anforderungen signifikant

      Mit Hilfe von neuen Frameworks lassen sich diese Strukturen
      halbautomatisch in Code überführen

      Das führt zu ausführbaren Akzeptanztests




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 50 / 58
Agenda

      Motivation

      Anforderungen aufnehmen

      Dokumentieren von Anforderungen

      Verwalten von Anforderungen

      Anforderungen vermessen und validieren

      Paradigmenwechsel: Vom Vorarbeiter zum Mitarbeiter

      Zusammenfassung




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 51 / 58
Warum ist RE wirtschaftlich?




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 52 / 58
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 auf Qualität prüfen
       – Ziel: Qualitätssteigerungen durch kontinuierliches Messen
       – Gute Anforderungsqualität  gute Software-Qualität

iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out    Seite 53 / 58
Referenzen

[RuppSoph]
   Chris Rupp, die SOPHISTen; Requirements-Engineering und –
   Management, 5. Auflage, Hanser, 2009, ISBN: 978-3446418417

[VolereTools]
   http://www.volere.co.uk/tools.htm

[Cucumber]
   http://cukes.info

[EbertDumke]
   Christof Ebert, Reiner Dumke; Software-Metriken in der Praxis,
   Springer, 1996, ISBN: 978-3540603726


iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out   Seite 54 / 58
Referenzen

[Deißendorfer]
   F. Deißendörfer (Diss. 2009),
   Continuous Quality Control of Long-Lived Software Systems
   http://mediatum2.ub.tum.de/doc/737380/737380.pdf

[Sanego]
   http://www.sanego.de

[StandishGroup]
   http://www.standishgroup.com

[bdw]
      http://www.bild-der-wissenschaft.de/bdw/bdwlive/heftarchiv/index2.php?object_id=32911270


iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out                      Seite 55 / 58
Weiterführende Literatur

      Klaus Pohl, Chris Rupp; Basiswissen Requirements Engineering;
      2. Auflage, Dpunkt Verlag, 2010, ISBN: 978-3898646130

      S. Robertson, J. Robertson; Mastering the Requirements Process;
      Addison Wesley, 1999, ISBN: 978-0201360462

      U. Vigenschow, B.Schneider, I. Meyrose; Soft Skills für Softwareent-
      wickler; 2. Auflage, Dpunkt Verlag, 2010, ISBN: 978-3898646710

      Rainer Gerlich; 111 Thesen zur erfolgreichen Softwareentwicklung;
      1. Auflage, Springer, 2005, ISBN: 978-3540209102

      Mr. Malcolm Tredinnick, Behavior Driven Development,
      http://www.youtube.com/watch?v=XXHknWKuG2U
iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out       Seite 56 / 58
Bildnachweise
Folie 10:       http://openclipart.org/image/800px/svg_to_png/169415/discussion.png
                http://openclipart.org/image/800px/svg_to_png/169418/go-round.png

Folie 12:       http://www.clker.com/cliparts/7/1/a/f/11949851591518961590dodge_neon_green_ganson.svg.med.png


Folie 17:       http://www.clker.com/clipart-15442.html

Folie 34:       http://openclipart.org/image/800px/svg_to_png/29647/QualityControl_rejected2.png

Folie 35:       http://openclipart.org/image/800px/svg_to_png/29641/1267371838.png



Sämtliche hier nicht aufgeführte Bilder bzw. Grafiken wurden vom Autor selbst erstellt.




iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out                                        Seite 57 / 58
Abkürzungen

      BDD                       Behavior-Driven Development
      BPE                       Business Process Execution Language
      BPMN                      Business Process Model and Notation
      DDD                       Domain-Driven Design
      DSL                       Domain-Specific Language
      ER                        Entity Relationship
      QA                        Quality Assurance
      QS                        Qualitätssicherung
      RE                        Requirements Engineering bzw. Requirements Engineer
      TDD                       Test-Driven Development
      UML                       Unified Modeling Language



iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out             Seite 58 / 58
Fragen?
www.iks-gmbh.com

Weitere ähnliche Inhalte

Was ist angesagt?

A business case for User Stories
A business case for User StoriesA business case for User Stories
A business case for User Storieslaurence b
 
Introducing Agile User Stories
Introducing Agile User StoriesIntroducing Agile User Stories
Introducing Agile User StoriesRam Srivastava
 
빌드 속도를 올려보자
빌드 속도를 올려보자빌드 속도를 올려보자
빌드 속도를 올려보자KyeongWon Koo
 
React event
React eventReact event
React eventDucat
 
User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013Fabio Armani
 
Как оценить время на тестирование. Александр Зиновьев, Test Lead Softengi
Как оценить время на тестирование. Александр Зиновьев, Test Lead SoftengiКак оценить время на тестирование. Александр Зиновьев, Test Lead Softengi
Как оценить время на тестирование. Александр Зиновьев, Test Lead SoftengiSoftengi
 
빠른 렌더링을 위한 오브젝트 제외 기술
빠른 렌더링을 위한 오브젝트 제외 기술빠른 렌더링을 위한 오브젝트 제외 기술
빠른 렌더링을 위한 오브젝트 제외 기술YEONG-CHEON YOU
 
Fault Tolerance 소프트웨어 패턴
Fault Tolerance 소프트웨어 패턴Fault Tolerance 소프트웨어 패턴
Fault Tolerance 소프트웨어 패턴IMQA
 
KGC 2014: 분산 게임 서버 구조론
KGC 2014: 분산 게임 서버 구조론KGC 2014: 분산 게임 서버 구조론
KGC 2014: 분산 게임 서버 구조론Hyunjik Bae
 
The Elements of User Experience
The Elements of User Experience The Elements of User Experience
The Elements of User Experience brandextract
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User StoriesJaneve George
 
User Experience Best Practices
User Experience Best PracticesUser Experience Best Practices
User Experience Best PracticesNick Finck
 
Vertical Story Slicing Takes the Cake!
Vertical Story Slicing Takes the Cake!Vertical Story Slicing Takes the Cake!
Vertical Story Slicing Takes the Cake!kporemski
 
UX STRAT USA, Peter Merholz, "My Journey with Experience Strategy"
UX STRAT USA, Peter Merholz, "My Journey with Experience Strategy"UX STRAT USA, Peter Merholz, "My Journey with Experience Strategy"
UX STRAT USA, Peter Merholz, "My Journey with Experience Strategy"UX STRAT
 
Understanding the Agile Release and Sprint Planning Process
Understanding the Agile Release and Sprint Planning Process Understanding the Agile Release and Sprint Planning Process
Understanding the Agile Release and Sprint Planning Process John Derrico
 

Was ist angesagt? (20)

User stories in agile software development
User stories in agile software developmentUser stories in agile software development
User stories in agile software development
 
UX Bootcamp
UX BootcampUX Bootcamp
UX Bootcamp
 
A business case for User Stories
A business case for User StoriesA business case for User Stories
A business case for User Stories
 
Introducing Agile User Stories
Introducing Agile User StoriesIntroducing Agile User Stories
Introducing Agile User Stories
 
빌드 속도를 올려보자
빌드 속도를 올려보자빌드 속도를 올려보자
빌드 속도를 올려보자
 
React event
React eventReact event
React event
 
User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013User Stories Writing - Codemotion 2013
User Stories Writing - Codemotion 2013
 
Как оценить время на тестирование. Александр Зиновьев, Test Lead Softengi
Как оценить время на тестирование. Александр Зиновьев, Test Lead SoftengiКак оценить время на тестирование. Александр Зиновьев, Test Lead Softengi
Как оценить время на тестирование. Александр Зиновьев, Test Lead Softengi
 
User Stories Fundamentals
User Stories FundamentalsUser Stories Fundamentals
User Stories Fundamentals
 
빠른 렌더링을 위한 오브젝트 제외 기술
빠른 렌더링을 위한 오브젝트 제외 기술빠른 렌더링을 위한 오브젝트 제외 기술
빠른 렌더링을 위한 오브젝트 제외 기술
 
Fault Tolerance 소프트웨어 패턴
Fault Tolerance 소프트웨어 패턴Fault Tolerance 소프트웨어 패턴
Fault Tolerance 소프트웨어 패턴
 
KGC 2014: 분산 게임 서버 구조론
KGC 2014: 분산 게임 서버 구조론KGC 2014: 분산 게임 서버 구조론
KGC 2014: 분산 게임 서버 구조론
 
The Elements of User Experience
The Elements of User Experience The Elements of User Experience
The Elements of User Experience
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User Stories
 
User Experience Best Practices
User Experience Best PracticesUser Experience Best Practices
User Experience Best Practices
 
User Stories Training
User Stories TrainingUser Stories Training
User Stories Training
 
Vertical Story Slicing Takes the Cake!
Vertical Story Slicing Takes the Cake!Vertical Story Slicing Takes the Cake!
Vertical Story Slicing Takes the Cake!
 
UX STRAT USA, Peter Merholz, "My Journey with Experience Strategy"
UX STRAT USA, Peter Merholz, "My Journey with Experience Strategy"UX STRAT USA, Peter Merholz, "My Journey with Experience Strategy"
UX STRAT USA, Peter Merholz, "My Journey with Experience Strategy"
 
BDD & Cucumber
BDD & CucumberBDD & Cucumber
BDD & Cucumber
 
Understanding the Agile Release and Sprint Planning Process
Understanding the Agile Release and Sprint Planning Process Understanding the Agile Release and Sprint Planning Process
Understanding the Agile Release and Sprint Planning Process
 

Andere mochten auch

Automatisierungstechnik für die Werkzeugmaschinenindustrie Katalog 2014/2015
Automatisierungstechnik für die Werkzeugmaschinenindustrie Katalog 2014/2015Automatisierungstechnik für die Werkzeugmaschinenindustrie Katalog 2014/2015
Automatisierungstechnik für die Werkzeugmaschinenindustrie Katalog 2014/2015ifm electronic gmbh
 
Praesentationen unternehmen-mall
Praesentationen unternehmen-mallPraesentationen unternehmen-mall
Praesentationen unternehmen-mallMall Umweltsysteme
 
Kompetenz Social Business
Kompetenz Social BusinessKompetenz Social Business
Kompetenz Social BusinessChangezweinull
 
Vortrag Format-Entwicklung
Vortrag Format-EntwicklungVortrag Format-Entwicklung
Vortrag Format-EntwicklungQooo
 
Erneuerbare Energien in Deutschland
Erneuerbare Energien in DeutschlandErneuerbare Energien in Deutschland
Erneuerbare Energien in DeutschlandMartina Grosty
 
Examen introduccion a la informatica leonardo soledispa
Examen introduccion a la informatica leonardo soledispaExamen introduccion a la informatica leonardo soledispa
Examen introduccion a la informatica leonardo soledispaleonisso
 
Meet>MediaProjekt
Meet>MediaProjektMeet>MediaProjekt
Meet>MediaProjektllmiguell
 
Digitale Medien als Kommunikationskanal: Bundestagswahl 2013
Digitale Medien als Kommunikationskanal: Bundestagswahl 2013Digitale Medien als Kommunikationskanal: Bundestagswahl 2013
Digitale Medien als Kommunikationskanal: Bundestagswahl 2013Peter Wolff
 
100312 Bennewirtz Praesentation
100312  Bennewirtz  Praesentation100312  Bennewirtz  Praesentation
100312 Bennewirtz PraesentationmiWebteam
 
Knowledgecamp wikimedia bildung
Knowledgecamp wikimedia bildungKnowledgecamp wikimedia bildung
Knowledgecamp wikimedia bildungData Farms GmbH
 
Mainz-Rüdesheim 12/2008
Mainz-Rüdesheim 12/2008Mainz-Rüdesheim 12/2008
Mainz-Rüdesheim 12/2008Timo Rantala
 
Maketa De Jabon
Maketa De JabonMaketa De Jabon
Maketa De Jabonpucmm
 
Arbeitstag
ArbeitstagArbeitstag
Arbeitstagtrucker2
 

Andere mochten auch (20)

Automatisierungstechnik für die Werkzeugmaschinenindustrie Katalog 2014/2015
Automatisierungstechnik für die Werkzeugmaschinenindustrie Katalog 2014/2015Automatisierungstechnik für die Werkzeugmaschinenindustrie Katalog 2014/2015
Automatisierungstechnik für die Werkzeugmaschinenindustrie Katalog 2014/2015
 
MIV UnB
MIV UnBMIV UnB
MIV UnB
 
Live Is Life
Live Is LifeLive Is Life
Live Is Life
 
Praesentationen unternehmen-mall
Praesentationen unternehmen-mallPraesentationen unternehmen-mall
Praesentationen unternehmen-mall
 
Kompetenz Social Business
Kompetenz Social BusinessKompetenz Social Business
Kompetenz Social Business
 
Vortrag Format-Entwicklung
Vortrag Format-EntwicklungVortrag Format-Entwicklung
Vortrag Format-Entwicklung
 
Erneuerbare Energien in Deutschland
Erneuerbare Energien in DeutschlandErneuerbare Energien in Deutschland
Erneuerbare Energien in Deutschland
 
Feng-Shui-Praesentation
Feng-Shui-PraesentationFeng-Shui-Praesentation
Feng-Shui-Praesentation
 
Examen introduccion a la informatica leonardo soledispa
Examen introduccion a la informatica leonardo soledispaExamen introduccion a la informatica leonardo soledispa
Examen introduccion a la informatica leonardo soledispa
 
2009 09 03 Moodboard
2009 09 03 Moodboard2009 09 03 Moodboard
2009 09 03 Moodboard
 
Meet>MediaProjekt
Meet>MediaProjektMeet>MediaProjekt
Meet>MediaProjekt
 
Digitale Medien als Kommunikationskanal: Bundestagswahl 2013
Digitale Medien als Kommunikationskanal: Bundestagswahl 2013Digitale Medien als Kommunikationskanal: Bundestagswahl 2013
Digitale Medien als Kommunikationskanal: Bundestagswahl 2013
 
100312 Bennewirtz Praesentation
100312  Bennewirtz  Praesentation100312  Bennewirtz  Praesentation
100312 Bennewirtz Praesentation
 
Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...
Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...
Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...
 
Knowledgecamp wikimedia bildung
Knowledgecamp wikimedia bildungKnowledgecamp wikimedia bildung
Knowledgecamp wikimedia bildung
 
recherche
rechercherecherche
recherche
 
Mainz-Rüdesheim 12/2008
Mainz-Rüdesheim 12/2008Mainz-Rüdesheim 12/2008
Mainz-Rüdesheim 12/2008
 
Factores de personalidad
Factores de personalidadFactores de personalidad
Factores de personalidad
 
Maketa De Jabon
Maketa De JabonMaketa De Jabon
Maketa De Jabon
 
Arbeitstag
ArbeitstagArbeitstag
Arbeitstag
 

Ähnlich wie Softwarequalität: Garbage in - garbage out

JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerDennis Wilson
 
Vortrag IA Konferenz: Partizipative Gestaltung erfolgreich angewendet
Vortrag IA Konferenz: Partizipative Gestaltung erfolgreich angewendetVortrag IA Konferenz: Partizipative Gestaltung erfolgreich angewendet
Vortrag IA Konferenz: Partizipative Gestaltung erfolgreich angewendetLisa Reimer (geb. Wenzel)
 
Requirements Engineering in agilen Projekten - Flexibilität ist gefordert
Requirements Engineering in agilen Projekten - Flexibilität ist gefordertRequirements Engineering in agilen Projekten - Flexibilität ist gefordert
Requirements Engineering in agilen Projekten - Flexibilität ist gefordertGFU Cyrus AG
 
Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...
Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...
Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...Lena Königsberger
 
Tipps für Requirements Management Tools
Tipps für Requirements Management ToolsTipps für Requirements Management Tools
Tipps für Requirements Management ToolsMarkus Unterauer
 
User Experience im Digital Banking
User Experience im Digital BankingUser Experience im Digital Banking
User Experience im Digital BankingJürg Stuker
 
Onno Reiners: E-Learning einfach selbst erstellen
Onno Reiners: E-Learning einfach selbst erstellenOnno Reiners: E-Learning einfach selbst erstellen
Onno Reiners: E-Learning einfach selbst erstellenlernet
 
Low Budget Usability Testing Webtreff Konstanz Patric Schmid Benutzerzentrale
Low Budget Usability Testing Webtreff Konstanz Patric Schmid BenutzerzentraleLow Budget Usability Testing Webtreff Konstanz Patric Schmid Benutzerzentrale
Low Budget Usability Testing Webtreff Konstanz Patric Schmid BenutzerzentralePatric Schmid
 
Requirement Engineering & PDD
Requirement Engineering & PDDRequirement Engineering & PDD
Requirement Engineering & PDDCristina Vidu
 
Agilität und Qualitätskriterien in der Softwareentwicklung
Agilität und Qualitätskriterien in der SoftwareentwicklungAgilität und Qualitätskriterien in der Softwareentwicklung
Agilität und Qualitätskriterien in der Softwareentwicklungrico.fritzsche
 
Top 10 Mistakes of Internet Project Management (2001)
Top 10 Mistakes of Internet Project Management (2001)Top 10 Mistakes of Internet Project Management (2001)
Top 10 Mistakes of Internet Project Management (2001)Jürg Stuker
 

Ähnlich wie Softwarequalität: Garbage in - garbage out (20)

Mehr Softwarequalität: Requirements Engineering
Mehr Softwarequalität: Requirements EngineeringMehr Softwarequalität: Requirements Engineering
Mehr Softwarequalität: Requirements Engineering
 
Mehr Softwarequalität: Requirements Engineering
Mehr Softwarequalität: Requirements EngineeringMehr Softwarequalität: Requirements Engineering
Mehr Softwarequalität: Requirements Engineering
 
Mehr Softwarequalität: Requirements Engineering
Mehr Softwarequalität: Requirements EngineeringMehr Softwarequalität: Requirements Engineering
Mehr Softwarequalität: Requirements Engineering
 
Softwarequalität: Einfluss der Architektur
Softwarequalität: Einfluss der ArchitekturSoftwarequalität: Einfluss der Architektur
Softwarequalität: Einfluss der Architektur
 
Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten
Requirements Engineering: Anforderungen dokumentieren, validieren und verwaltenRequirements Engineering: Anforderungen dokumentieren, validieren und verwalten
Requirements Engineering: Anforderungen dokumentieren, validieren und verwalten
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem Softwerker
 
Vortrag IA Konferenz: Partizipative Gestaltung erfolgreich angewendet
Vortrag IA Konferenz: Partizipative Gestaltung erfolgreich angewendetVortrag IA Konferenz: Partizipative Gestaltung erfolgreich angewendet
Vortrag IA Konferenz: Partizipative Gestaltung erfolgreich angewendet
 
Requirements Engineering in agilen Projekten - Flexibilität ist gefordert
Requirements Engineering in agilen Projekten - Flexibilität ist gefordertRequirements Engineering in agilen Projekten - Flexibilität ist gefordert
Requirements Engineering in agilen Projekten - Flexibilität ist gefordert
 
Rapid prototyping
Rapid prototypingRapid prototyping
Rapid prototyping
 
Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...
Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...
Welche Prototyping-Methode passt zu meinen Anforderungen? – World Usability D...
 
Tipps für Requirements Management Tools
Tipps für Requirements Management ToolsTipps für Requirements Management Tools
Tipps für Requirements Management Tools
 
User Experience im Digital Banking
User Experience im Digital BankingUser Experience im Digital Banking
User Experience im Digital Banking
 
Onno Reiners: E-Learning einfach selbst erstellen
Onno Reiners: E-Learning einfach selbst erstellenOnno Reiners: E-Learning einfach selbst erstellen
Onno Reiners: E-Learning einfach selbst erstellen
 
Java User Group Düsseldorf - Vortrag der iks am 13. März 2008
Java User Group Düsseldorf - Vortrag der iks am 13. März 2008Java User Group Düsseldorf - Vortrag der iks am 13. März 2008
Java User Group Düsseldorf - Vortrag der iks am 13. März 2008
 
Definition of Ready
Definition of ReadyDefinition of Ready
Definition of Ready
 
Low Budget Usability Testing Webtreff Konstanz Patric Schmid Benutzerzentrale
Low Budget Usability Testing Webtreff Konstanz Patric Schmid BenutzerzentraleLow Budget Usability Testing Webtreff Konstanz Patric Schmid Benutzerzentrale
Low Budget Usability Testing Webtreff Konstanz Patric Schmid Benutzerzentrale
 
Requirement Engineering & PDD
Requirement Engineering & PDDRequirement Engineering & PDD
Requirement Engineering & PDD
 
Agilität und Qualitätskriterien in der Softwareentwicklung
Agilität und Qualitätskriterien in der SoftwareentwicklungAgilität und Qualitätskriterien in der Softwareentwicklung
Agilität und Qualitätskriterien in der Softwareentwicklung
 
20110223 agiles bpm
20110223 agiles bpm20110223 agiles bpm
20110223 agiles bpm
 
Top 10 Mistakes of Internet Project Management (2001)
Top 10 Mistakes of Internet Project Management (2001)Top 10 Mistakes of Internet Project Management (2001)
Top 10 Mistakes of Internet Project Management (2001)
 

Mehr von IKS Gesellschaft für Informations- und Kommunikationssysteme mbH

Mehr von IKS Gesellschaft für Informations- und Kommunikationssysteme mbH (20)

Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingtEs wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
 
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
 
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdf
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdfThementag 2023 04 Lindern, heilen oder gar fit machen.pdf
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdf
 
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
 
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdfThementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
 
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdf
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdfThementag 2023 03 Einführung in die Softwaremodernisierung.pdf
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdf
 
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdfThementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
 
Thementag 2022 04 ML auf die Schiene gebracht.pdf
Thementag 2022 04 ML auf die Schiene gebracht.pdfThementag 2022 04 ML auf die Schiene gebracht.pdf
Thementag 2022 04 ML auf die Schiene gebracht.pdf
 
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdfThementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
 
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdfThementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
 
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
 
Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?
 
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
 
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
 

Softwarequalität: Garbage in - garbage out

  • 1. Garbage in - garbage out: Wie das Anforderungsmanagement die Softwarequalität beeinflusst iks Thementag „Mehr Softwarequalität – Best practices für alle Entwicklungsphasen“ 19.06.2012 Autor: Jörg Vollmer
  • 2. Agenda Anforderungen aufnehmen Dokumentieren von Anforderungen Anforderungen vermessen und validieren Verwalten von Anforderungen Paradigmenwechsel: Vom Vorarbeiter zum Mitarbeiter Zusammenfassung iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 3 / 58
  • 3. Vorgehen Im Folgenden soll untersucht werden: Konstruktiv – Welche Fertigkeiten des RE beeinflussen die Software-Qualität? Analytisch – 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? Mit neuen RE-Techniken zu besserer Qualität (?) iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 4 / 58
  • 4. Standardprobleme zu Projektbeginn Unklare Zielvorstellungen Veränderliche Anforderungen Stakeholder stehen nicht zur Verfügung Kommunikationsbarrieren Hohe Komplexität iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 5 / 58
  • 5. Qualitätseigenschaften des Requirements Engineers Moderationsfertigkeiten Eloquenz Perspektivenwechsel Diplomatie Sorgfalt Ausdauer Spezielle RE-Techniken (gleich…) Analytisch unmessbar, aber Auswirkung auf die Softwarequalität iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 6 / 58
  • 6. Agenda Anforderungen aufnehmen Dokumentieren von Anforderungen Anforderungen vermessen und validieren Verwalten von Anforderungen Paradigmenwechsel: Vom Vorarbeiter zum Mitarbeiter Zusammenfassung iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 7 / 58
  • 7. Aufgaben zum Projektbeginn Die initiale Bestandsaufnahme des Projektumfelds ist unverzichtbar – Auch im agilen Umfeld Wichtige Aufgaben sind – Ermitteln aller Stakeholder – Ziele des Produkts und deren Nutzen ermitteln – Systemkontext und -grenzen bestimmen – Qualitätsanforderungen (des Produkts) identifizieren Fehler hierbei werden später teuer bezahlt iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 8 / 58
  • 8. Beobachtungstechniken Apprenticing: Der RE wird wie ein Lehrling eingearbeitet Der RE lernt hierbei den Fachjargon kennen Arbeitsschritte hinterfragen und ineffiziente Prozesse entdecken ... …die Chance, somit die Qualität zu verbessern, ist schnell verspielt iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 9 / 58
  • 9. 1. Falle: Diskussionen in Meetings 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 – Eine Gruppe orientiert sich viel schwerer um als ein Einzelner s. auch [bdw]  Moderationstechniken anwenden Risiko von falschen Entscheidungen  Software-Qualität iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 10 / 58
  • 10. 2. Falle: Faule Kompromisse Stakeholder A: – Bei einem Fehler muss das System anhalten Stakeholder B: – Bei einem Fehler muss das System neu starten RE einigt sich mit A und B auf – Im Fehlerfall wird eine Ausnahmeroutine veranlasst Schlecht! Eine Mehrdeutigkeit in einem Anforderungsdokument steht oft für einen Konflikt bei den Stakeholdern (de Marco) iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 11 / 58
  • 11. 3. Falle: Ein Auto kann verschiedene Farben haben Was der RE verstand: Was der Kunde wollte: iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 12 / 58
  • 12. Unterschiede ziehen sich durch alle Schichten Datenbank Datenmodell Service-Schicht Benutzeroberfläche  Fachobjekte und deren Beziehungen identifizieren (DDD) Fehler hierbei sind teuer! iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 13 / 58
  • 13. 4. Falle: 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 iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 14 / 58
  • 14. Best practices Überprüfen Sie: – Wurden Ihre 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? iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 15 / 58
  • 15. Agenda Anforderungen aufnehmen Dokumentieren von Anforderungen Anforderungen vermessen und validieren Verwalten von Anforderungen Paradigmenwechsel: Vom Vorarbeiter zum Mitarbeiter Zusammenfassung iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 16 / 58
  • 16. Anforderungen dokumentieren Anforderungen aufschreiben, das kann doch jeder Aber: Meinungen zu bestehender Dokumentation – Versteht nur der, der‘s geschrieben hat – Ist nach kurzer Zeit überholt – Bis man dort die richtige Stelle findet – Die interessanten Sonderfälle fehlen eh  Sehr viel Dokumentation wird gar nicht erst gelesen iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 17 / 58
  • 17. Wie entsteht gute (Anforderungs-) Dokumentation? Einleitung Es empfiehlt sich die Verwendung Zweck, einer Standardgliederung / Template Stakeholder – RUP Referenzen – IEEE 830 Übersicht Systemumfeld – V-Modell Architektur – Volere Benutzer Randbedingungen Annahmen Anforderungen Funktionalität Qualitätsanforderungen Anhang Verzeichnisse Glossar Index iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 18 / 58
  • 18. Dokumentation in Form von Prosatext Vorteile – Wird von alle 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 iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 19 / 58
  • 19. Negativbeispiel Original – Wenn das Feld kundeVorhanden 'J' entspricht, dann wird über kunde.item.sector das Feld branche gesetzt. Besser – Falls das Feld kundeVorhanden 'J' ist, dann erhält branche den Wert von kunde.item.sector. Formaler – Ist kundeVorhanden = 'J', so setze branche:= kunde.item.sector. iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 20 / 58
  • 20. 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 iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 21 / 58
  • 21. Eine Mischung ist optimal Vorteile – Modelle können durch natürlich-sprachliche Ergänzungen verständlicher werden – Prosatext kann durch Modelle eindeutiger und exakter werden – D.h. beide Arten können die Schwächen der anderen kompensieren Vorbild: Mathematische Texte – Aus jeder nicht-negativen reellen Zahl lässt sich die Wurzel ziehen – Es seien x, y  IR. Dann gilt y  0  x : x 2  y. iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 22 / 58
  • 22. 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, Wie oft, etc. 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. iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 23 / 58
  • 23. Satzschablonen, z.B. die der User-Story Agile Methoden verwenden sog. User-Stories Aufbau: – As a <role> I want <goal/desire> so that <benefit> Beispiel: – Als Autor möchte ich meine Präsentation speichern können, damit ich nicht noch einmal alles eingeben muss „so that <benefit>“ hinterfragt den Geschäftswert Kurzfassung des klassischen Use-Case Akzeptanztests kompensieren den knappen Inhalt (dazu später…) iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 24 / 58
  • 24. 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? – Wenn nicht, warum nicht?  Schulungen iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 25 / 58
  • 25. Agenda Anforderungen aufnehmen Dokumentieren von Anforderungen Anforderungen vermessen und validieren Verwalten von Anforderungen Paradigmenwechsel: Vom Vorarbeiter zum Mitarbeiter Zusammenfassung iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 26 / 58
  • 26. 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… iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 27 / 58
  • 27. Kosten von RE-Fehlern bezogen auf Projektphasen iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 28 / 58
  • 28. Qualitätsmerkmale für Anforderungen Wann ist eine Anforderungsspezifikation gut? – Aktualität (insbesondere Kundenwunsch-konform) – Eindeutigkeit – Widerspruchsfreiheit – Identifizierbarkeit – Vollständigkeit – Änderbarkeit – Prüfbarkeit – Realisierbarkeit – Verständlichkeit All diese Merkmale beeinflussen die Software-Qualität! iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 29 / 58
  • 29. Zusammenhang zur Software-Qualität, exemplarisch Funktionalität Korrektheit Wartbarkeit Aktualität x Eindeutigkeit x Widerspruchsfreiheit x Identifizierbarkeit x Vollständigkeit x Änderbarkeit x Prüfbarkeit x x Realisierbarkeit x Verständlichkeit x x iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 30 / 58
  • 30. Konkrete Qualitätsmetriken u  PE  v  BPE  w  BE Eindeutigk eit  100, wobei u  v  w  1 # Anforderungssätze PE  Prozessworteindeutigkeit BPE  Bezugspunkteindeutigkeit BE  Begriffsei ndeutigkei t A zu t PEi 1 Fragen A), , alle ), BEi JA BPE beant ( ( (0 i i A )falls , A mit sonst sind nach [RuppSoph] iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 31 / 58
  • 31. 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 iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 32 / 58
  • 32. Prüfungsvorbereitungen Qualitätsmerkmale auswählen Qualitätsmetriken auswählen Sollwerte festlegen (Indikatoren) Prüfzeitpunkte festlegen Prüfer gezielt auswählen – Qualifikation! iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 33 / 58
  • 33. Prüfungsnachbereitung Ergebnisse standardisiert dokumentieren Bei Unterschreitungen der Toleranzgrenze – Ursachen bestimmen – Prozesse anpassen – Evtl. nachschulen iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 34 / 58
  • 34. Prozesse anpassen, Vorschläge Verwendung von Bugtrackern auch bei Anforderungen – Beispiele: Jira, Mantis, Bugzilla, Trac – Wird bislang kaum praktiziert. Warum eigentlich nicht? – Zudem ist die Anzahl der Tickets (normiert) eine Qualitäts-Metrik Definition of Done – Qualitätsrichtlinien festlegen – Stellungnahme gehört „zum Done“ dazu iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 35 / 58
  • 35. 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! iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 36 / 58
  • 36. Agenda Anforderungen aufnehmen Dokumentieren von Anforderungen Anforderungen vermessen und validieren Verwalten von Anforderungen Paradigmenwechsel: Vom Vorarbeiter zum Mitarbeiter Zusammenfassung iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 37 / 58
  • 37. 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 Produkt (erwartungsgemäß) in Betrieb ist. Die Wahl des richtigen Tools ist außerordentlich wichtig! Entscheidend für das Software-Qualitätsmerkmal Wartbarkeit iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 38 / 58
  • 38. 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 und Generieren von Fragen – … iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 39 / 58
  • 39. Automatisches Erzeugen von Fragen Gegeben sei die User-Story – Als Nutzer möchte ich meine Präsentation speichern, damit ich nicht noch einmal alles eingeben muss Exemplarisch generiertes Fragen-Set – Wer muss speichern? – Wann soll speichern stattfinden? – Wann ist speichern komplett abgeschlossen? – Wie häufig / oft / groß / schnell soll speichern sein? – Wo / wie kann geprüft werden, ob speichern durchgeführt wurde? – Was geschieht, wenn man nicht speichern kann? – Was könnte speichern verhindern, und was wird dann erwartet? – Welche mögl. Fehleingaben müssen im Zusammenhang mit speichern abgefangen werden? – Welche Inhalte kommen in Präsentation vor? – Welche optionalen / verpflichtenden Aspekte gelten für Präsentation? – Wie sieht das Layout von Präsentation aus? iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 40 / 58
  • 40. Tools Word & Excel: immer noch üblich – Grund: Werden von jedem beherrscht Mehr im Kommen: Jira & Wikis – Grund: Einfaches Erlernen, einfache Bedienung Auswahl verschiedener Tools: – Caliber RM Cradle Contour – DOORS DESIRe Enterprise Architect – HP Quality Center IRQA Lotus Notes – OptimalTrace RequisitePro – [VolereTools] enthält eine weitaus größere Übersicht iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 41 / 58
  • 41. Best practices Prüfen Sie, ob bei Ihnen das passende Tool 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. iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 42 / 58
  • 42. Agenda Anforderungen aufnehmen Dokumentieren von Anforderungen Anforderungen vermessen und validieren Verwalten von Anforderungen Paradigmenwechsel: Vom Vorarbeiter zum Mitarbeiter Zusammenfassung iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 43 / 58
  • 43. Probleme des bisherigen RE-Ansatzes Das Wissen des Auftraggebers gelangt über folgende Transformationen hin zur Software – Kundenvorstellung  Anforderung (teils modelliert) – Anforderung  Software-Design – Software-Design  Programmcode Ähnliches gilt für Tests – Kundenvorstellung  Anforderung – Anforderung  Test-Design – Test-Design  Testcode iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 44 / 58
  • 44. Probleme der Transformationen Diese Transformation ist zu komplex: – Anforderung  Software-Design Gründe – Die Anforderung ist zu wenig formalisiert bzw. „algorithmisiert“ – Hochmut der Entwickler (wir machen das eh noch mal anders) – Code-Styles (Übersetzung ins Englische) Folge – Man findet die Anforderung nicht mehr im Code wieder Qualitätseinfluss auf Korrektheit & Änderbarkeit iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 45 / 58
  • 45. Probleme der Transformationen Diese Transformation bereitet ähnliche Schwierigkeiten – Anforderung  Test-Design Gründe – Die Anforderungen enthalten zu wenige (meist gar keine) Akzeptanzkriterien Folge – Der Tester muss die Sollwerte anhand der Anf. selbst ableiten – Gefahr besteht, dass Testszenarien ganz vergessen werden iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 46 / 58
  • 46. Behavior-Driven Development Ziel – Systematisierung der Transformation Anforderung  Software-Design bzw. Test-Design Lösung – RE und Entwickler erstellen zusammen Akzeptanzkriterien und -tests (keine Unit-Tests!) – Sie werden zum Bestandteil der Anforderungsspezifikation (der User-Story) – Sie haben ein einheitliches Format… – Ziel: Automatisierung! iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 47 / 58
  • 47. Given When Then Ergänzend zur User-Story werden in der ubiquitären Sprache sog. Szenarien formuliert: As a: Rechenmuffel I want: dass ein Rechner Zahlen addiert  Story In order to: vermeiden von dummen Kopfrechenfehlern Scenario1: Addieren von Zahlen Given: Rechenmuffel gab „27“ in den Rechner ein, And: Rechenmuffel gab „39“ in den Rechner ein, And: Rechenmuffel gab „11“ in den Rechner ein, When: Rechenmuffel „Summe” drückt, Then: muss Rechner „77“ als Ergebnis anzeigen. Mehr dazu z.B. bei [Cucumber] Scenario2: … iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 48 / 58
  • 48. Testgetriebenes Requirements Engineering Standard 1. Kunde wird interviewt 2. RE spezifiziert Anforderungen (und erwartet Schätzung) 3. Architekt / Entwickler erstellen Software-Design 4. Entwickler implementieren Software und (Unit- & Integrations-) Tests 5. QA testet meist von Hand  Iteration zu 1, 2, 3, 4 6. Abnahmetests Neu 1. Kunde wird interviewt 2. RE spezifiziert Anforderungen 3. RE spezifiziert zusammen mit Entwicklung Akzeptanztests (Iteration zu 1, 2) 4. Schätzung 5. Entwickler erstellen Software, Tests und Akzeptanztests (automatisierte) 6. QA testet  Bugfix-Iteration zu 5 (idealisiert) 7. Abnahmetests (Ziel: starke Einsparung) iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 49 / 58
  • 49. Fazit Szenarien erhöhen die Qualitätsmerkmale Verständlichkeit, Eindeutigkeit und Prüfbarkeit der Anforderungen signifikant Mit Hilfe von neuen Frameworks lassen sich diese Strukturen halbautomatisch in Code überführen Das führt zu ausführbaren Akzeptanztests iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 50 / 58
  • 50. Agenda Motivation Anforderungen aufnehmen Dokumentieren von Anforderungen Verwalten von Anforderungen Anforderungen vermessen und validieren Paradigmenwechsel: Vom Vorarbeiter zum Mitarbeiter Zusammenfassung iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 51 / 58
  • 51. Warum ist RE wirtschaftlich? iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 52 / 58
  • 52. 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 auf Qualität prüfen – Ziel: Qualitätssteigerungen durch kontinuierliches Messen – Gute Anforderungsqualität  gute Software-Qualität iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 53 / 58
  • 53. Referenzen [RuppSoph] Chris Rupp, die SOPHISTen; Requirements-Engineering und – Management, 5. Auflage, Hanser, 2009, ISBN: 978-3446418417 [VolereTools] http://www.volere.co.uk/tools.htm [Cucumber] http://cukes.info [EbertDumke] Christof Ebert, Reiner Dumke; Software-Metriken in der Praxis, Springer, 1996, ISBN: 978-3540603726 iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 54 / 58
  • 54. Referenzen [Deißendorfer] F. Deißendörfer (Diss. 2009), Continuous Quality Control of Long-Lived Software Systems http://mediatum2.ub.tum.de/doc/737380/737380.pdf [Sanego] http://www.sanego.de [StandishGroup] http://www.standishgroup.com [bdw] http://www.bild-der-wissenschaft.de/bdw/bdwlive/heftarchiv/index2.php?object_id=32911270 iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 55 / 58
  • 55. Weiterführende Literatur Klaus Pohl, Chris Rupp; Basiswissen Requirements Engineering; 2. Auflage, Dpunkt Verlag, 2010, ISBN: 978-3898646130 S. Robertson, J. Robertson; Mastering the Requirements Process; Addison Wesley, 1999, ISBN: 978-0201360462 U. Vigenschow, B.Schneider, I. Meyrose; Soft Skills für Softwareent- wickler; 2. Auflage, Dpunkt Verlag, 2010, ISBN: 978-3898646710 Rainer Gerlich; 111 Thesen zur erfolgreichen Softwareentwicklung; 1. Auflage, Springer, 2005, ISBN: 978-3540209102 Mr. Malcolm Tredinnick, Behavior Driven Development, http://www.youtube.com/watch?v=XXHknWKuG2U iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 56 / 58
  • 56. Bildnachweise Folie 10: http://openclipart.org/image/800px/svg_to_png/169415/discussion.png http://openclipart.org/image/800px/svg_to_png/169418/go-round.png Folie 12: http://www.clker.com/cliparts/7/1/a/f/11949851591518961590dodge_neon_green_ganson.svg.med.png Folie 17: http://www.clker.com/clipart-15442.html Folie 34: http://openclipart.org/image/800px/svg_to_png/29647/QualityControl_rejected2.png Folie 35: http://openclipart.org/image/800px/svg_to_png/29641/1267371838.png Sämtliche hier nicht aufgeführte Bilder bzw. Grafiken wurden vom Autor selbst erstellt. iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 57 / 58
  • 57. Abkürzungen BDD Behavior-Driven Development BPE Business Process Execution Language BPMN Business Process Model and Notation DDD Domain-Driven Design DSL Domain-Specific Language ER Entity Relationship QA Quality Assurance QS Qualitätssicherung RE Requirements Engineering bzw. Requirements Engineer TDD Test-Driven Development UML Unified Modeling Language iks Thementag: „Mehr Softwarequalität“ – Garbage in – garbage out Seite 58 / 58