Satisfaction engineered. WIE AUTOMATISIERUNG DAS RE EFFIZIENTER MACHEN KANN BEISPIELE AUS AKTUELLEN FORSCHUNGSARBEITEN Matthias Koch Eduard C. Groen Matthias.Koch@iese.fraunhofer.de Eduard.Groen@iese.fraunhofer.de REConf Wissenschaftstrack München, 29.2.2016
Finanzvolumen Vertragsforschung Die Fraunhofer-Gesellschaft auf einen Blick Anwendungsorientierte Forschung zum unmittelbaren Nutzen für die Wirtschaft und zum Vorteil für die Gesellschaft Knapp 24 000 Mitarbeiterinnen und Mitarbeiter 2 Mrd 1,7 Mrd Ausbauinvestitionen und Verteidigungsforschung knapp 30% Grundfinanzierung durch Bund und Länder über 70% Industrieaufträge und öffentlich finanzierte Forschungsprojekte 66 Institute und Forschungseinrichtungen 2014 2
Fraunhofer IESE Das Institut für Software- und Systementwicklungsmethoden Gegründet 1996 mit Sitz in Kaiserslautern ca. 240 Mitarbeiter Unsere Lösungen sind flexibel skalierbar und für Firmen jeder Größe geeignet Unsere wichtigsten Branchen: Automobil- und Transportsysteme Automatisierung und Anlagenbau Gesundheitswesen Informationssysteme Energiemanagement E-Government 3
Wie Automatisierung das RE effizienter machen kann Beispiele aus aktuellen Forschungsarbeiten RE besteht zu einem erheblichen Anteil aus manuellen Aufgaben, die von Fachexperten durchgeführt werden Wenn die Aufgaben aber eine gewisse Größe überschreiten, stößt RE an seine Grenzen An welchen Stellen kann Automatisierung (bzw. können Werkzeuge) sinnvoll im RE eingesetzt werden? ReqCheck Automatisierte Qualitätssicherung von Anforderungen mit Hilfe linguistischer Regeln Crow d-bas iertes Requirem ents Engineering Semi-automatisierte Erhebung und Validierung von Anforderungen in großen, heterogenen oder geographisch verteilten Nutzergruppen 4
ReqCheck: Automatisierte Qualitätssicherung von Anforderungen mit Hilfe linguistischer Regeln Matthias Koch, Fraunhofer IESE Matthias.Koch@iese.fraunhofer.de, IAI
AGENDA Anforderungsdokumentation Qualitätsproblematik bei Anforderungen Technische Dokumentation: Gemeinsamkeiten und Unterschiede Lösungen in der Technischen Dokumentation Anpassung auf den Anforderungskontext Implementierung der angepassten Lösung Unterschiede zu traditionellen Lösungen Erfahrungen und zukünftige Arbeiten 6
Anforderungsdokumentation Natürlichsprachliche Anforderungen Vorteile Hohe Flexibilität Verwendbar für alle Arten von Anforderungen Können von allen Stakeholdern verstanden werden, ohne neue Notationen / Sprachen zu lernen Eigenschaften Unstrukturiert (z.b. Fließtext) Strukturiert (z.b. Use Cases Vorlagen) Am häufigsten verwendete Form für Dokumentation 7
Qualitätsproblematik bei Anforderungen Probleme in der Praxis Untersucht wurden 967 natürlichsprachliche Anforderungen 223 Anforderungen haben Weak Words. (~23%) 83 Anforderungen waren nicht Singular. 53 Anforderungen waren nicht kurz und einfach. 37 Anforderungen waren unvollständig. 23 Anforderungen verwenden Negierungen. Kandt, R. K. 2003: Software Requirements Engineering: Practices and Techniques. JPL Document D-24994. SQI Report R-3. Jet Propulsion Laboratory. California Institute of Technology 8
Qualitätsproblematik bei Anforderungen Viele dieser Schwachstellten lassen sich automatisiert prüfen. Einfache Prüfung der Wörter greift aber oft zu kurz Komplexere Problematiken: Layout und Darstellung Satzbau und Komplexität Schreibstil Wortstellungen Wortwahl Substantive ohne Bezugsindex Unvollständig spezifizierte Bedingungen 9
Wie machen andere das? Institut für Angewandte Informationsforschung Lösung aus dem Bereich der technischen Dokumentation: CLAT - Controlled Language Authoring Technology Unterstützung von Redakteuren Prüfung der sprachlichen Korrektheit Einhaltung unternehmensspezifischer Richtlinien Nutzung linguistischer Verarbeitungsmethoden 10
Technische Dokumentation: Gemeinsamkeiten und Unterschiede Anforderungen an Technische Dokumentation verständlich Anforderungen an Anforderungsdokumentation (IEEE 29148) verständlich realisierbar eindeutig konsistent sprachlich korrekt zielgruppengerecht gut übersetzbar eindeutig konsistent vollständig verfolgbar prüfbar notwendig abgestimmt gemäß CI-Vorgaben 11
Lösungen in der Technischen Dokumentation Software zur Sprachqualitätssicherung Autorenunterstützung Überprüfung von Rechtschreibung Grammatik Terminologie integriert in Redaktionsumgebung Stil und Verständlichkeit Maschinelles Lektorat integriert in Dokumentfreigabeprozess 12
Anpassung auf den Anforderungskontext Ermittelte Regelsätze für Anforderungen Manche Regeln sind im RE Kontext kontraproduktiv oder unpassend 76 Regeln wurden unters ucht Identifizierte Probleme Schließen Beschreibungsmöglichkeiten aus, bspw. keine Klammern verwenden Stellen Vereinfachungen über Sprachregeln, bspw. zu langes Kompositum aufgliedern (>3) Schließen Anredeformen aus, die in bestimmten Fällen erlaubt sind (z.b. bei Use Cases), bspw. 1. Person Singular und Plural vermeiden Prozesswörter werden durch die Stilregeln vermieden, das Problem sind aber unvollständig spezifizierte Prozesswörter 13
Anpassung auf den Anforderungskontext Fallstudie mit 29 identifizierten Regeln 9 Anforderungsdokumente aus verschiedenen Domänen 542 Treffer Manuelles Review 16 false positives 53.511 Wörter Probleme mit false positives Futur als Passiv erkannt Infinitiv als Anrede erkannt 2,95% false positives- Rate 14
Anpassung auf den Anforderungskontext Fallstudie mit 29 identifizierten Regeln Ausschnitt aus der Fallstudie % False % Standardabweichuntreffer Gesamt- Stilregeln Positives Beispiel und ggf. Begründung Kategorie Regelname ID ----------- ---------------- ----------- ----------------------------------------- Wortwahl Schreibstil "durchführen" vermeiden Bsp.: "Zum Termin des Phasenwechsels müssen nach den in 1.2.2 aufgeführten Buchungen zum Verschmelzen alle weiteren Buchungen durchgeführt werden, welche im Rahmen der regulären Bestandsfortschreibung in der Verfügungsphase erfolgen." 313de 0 0 20 Weichmacher vermeiden 352de 0 0 5 Bsp.: "Der Benutzer ändert ggf. die Konsignationsrate." Bsp.: "Urheberrechtes", "Projektes" Endungen im Genitiv Singular kontrollieren: s- Form verwenden 722de 4,8 7,5 21 Prozent." Infinitiv als Anredeform vermeiden sein+"zu"+infinitiv vermeiden 735de 6,7 14,4 30 730de 7,7 5,0 13 Bsp.: "Das System berechnet auf Basis der Anzahl der zu einer Konsignations-Aktion zugeordneten Fahrzeuge und der Summe der Jahres Einkaufs Ziele (JEZ) aller Händler mit Profi-Bonusvertrag eine Rate in Überschriften und Tabellen ausnehmen. Bsp.: "Konsignationspool bearbeiten" Bsp.: "Der Schadensachbearbeiter muss die Schadenakte teilweise sichten und das neu hinzugekommene Schadendokument einordnen bzw. die Akte neu kategorisieren." Bsp.: "Bauseitig ist die in dieser Auftragsbestätigung aufgeführte Bodenbeschaffenheitsspezifikation zu beachten und dementsprechend auszulegen." 15
Anpassung auf den Anforderungskontext Erfahrungen aus der Technischen Dokumentation keine präskriptive Kontrollierte Sprache im klassischen Sinne Regelpool als Basis für eine flexible, individuelle Regelkonfiguration Eins parpotenzial 30 % im Lektorat 15 % im Übersetzungsprozess 5 % im Aftersales (Reparatur und Service) Steigerung der Textqualität Verbesserung der redaktionellen Skills 16
Implementierung der angepassten Lösung https://reqcheck.ies e.de Entwicklung des Web-Clients mit ASP.net-Technologie Möglichkeit zum Hochladen eines Docx-Dokuments Transformation des Docx- Dokuments in HTML über Apache Tika Interne Verarbeitung im Prüfsystem Formatierung der Befunde in HTML Pop-Over zu Markierungen zeigen betroffene Stellen im geprüften Text Möglichkeit zum Export der Ergebnisse (pdf und html) Sorgsamer Umgang mit vertraulichen Daten 17
Implementierung der angepassten Lösung https://reqcheck.ies e.de 18
Implementierung der angepassten Lösung https://reqcheck.ies e.de 19
Implementierung der angepassten Lösung https://reqcheck.ies e.de 20
Implementierung der angepassten Lösung https://reqcheck.ies e.de 21
Implementierung der angepassten Lösung https://reqcheck.ies e.de 22
Unterschiede zu traditionellen Lösungen Linguistische Verarbeitungsmethoden mit morphosyntaktischer Analyse Traditionelle Ansätze arbeiten oft mit Wortlisten und prüfen auf Weak Words Multiplizität Negation Unvollständigkeit (z.b.: TBD ) Passive Formulierungen Subjektive Formulierungen Optionalität Implizität Uneindeutigkeit Vergleichende Phrasen 23
Unterschiede zu traditionellen Lösungen Linguistische Verarbeitungsmethoden mit morphosyntaktischer Analyse Zerlegung von Wörtern in kleinste bedeutungstragende Einheiten (Morpheme) Entwässerungsgräben Flex ion Entwässerungsgraben Kom pos ition Entwässerung # s # graben Deriv ation ent # wässern # ung # graben 24
Unterschiede zu traditionellen Lösungen Direkte Nutzung durch Webservices Gesicherte Verbindung zum Webservice Keine Installation notwendig Einfacher, schneller und flexibler Zugriff Einfache Accountverwaltung Kein Zugriff auf andere Dokumente Kein Zugriff auf frühere Prüfungsergebnisse 25
Erfahrungen und zukünftige Arbeiten Erfahrungen Schnelle und einfache Prüfung nebenbei Unmittelbare Qualitätsverbesserung möglich Weniger Kommunikationsaufwand durch bessere Qualität der Dokumentation Nicht alle Regeln sind für alle Teile eines Dokuments sinnvoll (z.b. für Überschriften oder Tabelleninhalte) Zukünftige Arbeiten Berücksichtigung spezifischer Formatierungen Erweiterung des Regelsets Durchführung einer Evaluation Sammeln von Feedback 26
Ihre Meinung zählt! https://reqcheck.ies e.de 27
Crowd-basiertes Requirements Engineering: Semi-automatisierte Erhebung und Validierung von Anforderungen in großen, heterogenen oder geographisch verteilten Nutzergruppen Eduard C. Groen, Fraunhofer IESE Eduard.Groen@iese.fraunhofer.de, IAI
29 [Abbildungen: Horváth Dávid / Wikimedia Commons, CC 2.0, Simon A. Eugster / Wikimedia Commons, CC-BY-SA 3.0]
Skalierbarkeit 30 [Abbildung: Jos Kerssen, mit Genehmigung verwendet]
1785: Erfindung der Ketten-Handsäge 1830: Bekanntheit durch Benutzung durch Orthopädist Bernhard Heine (Würzburg) 31 [Abbildung: Sabine Salfer, Public Domain]
1926: Patent für elektrisch angetriebene Kettensäge von Andreas Stihl (Cannstatt; nun Stadtbezirk Bad Cannstatt in Stuttgart) 32 [Abbildung: Bundesarchiv, Bild 101I-307-0757-23A / Schmidt, O. / CC-BY-SA 3.0]
1918: Patent für Einpersonen-Motorsäge von James Shand (Kanada) 1930: Weiterentwicklung durch Festo (Esslingen am Neckar) 33 [Abbildung: B.C. Provincial Museum, Material Culture Review]
Weiterentwicklung mit verschiedenen Kettenarten, bessere Leistung, Sicherheitsmaßnahmen 34 [Abbildung: Ellywa / Wikimedia Commons, CC-BY-SA 4.0 Int l]
und neuartige Verwendungen, wie den Huskycup seit 2004 in Dorfchemnitz (Erzgebirge) 35 [Abbildung: Kora27 / Wikimedia Commons, CC-BY-SA 4.0 Int l]
36 [Abbildungen: Horváth Dávid / Wikimedia Commons, CC 2.0, Simon A. Eugster / Wikimedia Commons, CC-BY-SA 3.0]
Im Bestreben, Requirements Engineering mit Hilfe von Big Data -Ansätzen besser skalierbar zu machen, ist man etwa hier 37
Unser Crowd-basierter RE -Ansatz Event Logging Usage Mining Nutzerverhalten aufzeichnen und observieren Dazugehörige Verhaltensmuster identifizieren Quantitatives Nutzerfeedback Qualitatives Nutzerfeedback Aggregierte Ergebnisse Abgeleitete Anforderungen Nutzer motivieren um Feedback zu liefern Probleme, Bedürfnisse und Ideen entdecken Motivationsinstrumente Text Mining [Groen, E. C., Adam, S., & Doerr, J. (2015). Towards crowd-based requirements engineering: A research preview. In: Fricker, S.A., Schneider, K. (eds.), Requirements Engineering: Foundation for Software Quality, LNCS, 9013, 247 253. Cham, Switzerland: Springer.]
Die Herausforderung von RE Cloud und mobile Apps sowie eingebettete Systeme (z.b. Autos) haben tausende bis Millionen von Stakeholdern; diese Gruppe ist heterogen und nicht vordefiniert eine sogenannte Crowd Die Crowd ist eine Gruppe von aktuellen oder potentiellen Stakeholdern mit einer ausreichenden Größe um Gruppenverhalten zu zeigen und in der die Mitglieder ein gemeinsames Interesse an einem bestimmten Produkt haben. Fraunhofer IESE haben eine wachsenden Nachfrage nach s chnellen Innov ationen Das traditionelle RE erfährt: eine hohe Belastung der Ressourcen (Komplexität, Dauer, Kosten) Schwierigkeiten bei kontinuierlicher / iterativer Durchführung Einschränkungen bei der Erhebung von Anforderungen über eine große Distanz 39
Crowd-basiertes RE und andere Ansätze Traditionelles RE fragt nach Anforderungen bei physischer Anwesenheit der Analysten und Stakeholder Crowdsourcing in RE fragt nach Lösungen (z.b. Anforderungen) aus der Ferne Crowd-basiertes RE analysiert jede Art von Nutzerfeedback aus der Ferne Diese Ansätze können parallel und (iterativ) in beliebiger Reihenfolge eingesetzt werden 40
Stellen Vertreter aller Stakeholder wirklich alle Crowd-Mitglieder dar? ~~~ ~~~ ~~ Firma? 41
Warum sollte man die Crowd befragen bevor eine gute Idee umgesetzt wird? Alle online verfügbaren Produkte haben eine Crowd die (potenziell) viele Log-Daten produziert und Texte erfasst 2015 produzierten die 2,1 Milliarden Nutzer von Social Media pro Minute: 2.5M Facebook-Nachrichten, 300.000 Tweets, 220.000 Instagram-Fotos und 72 Stunden YouTube-Videos wurden veröffentlicht Nur zu 1 der 50.000 App-Downloads im Apple AppStore werden Reviews geschrieben, was 75.000 Rev iew s im Monat entspricht Verstehen, wie Sie Ihre hunderte bis Millionen Kunden durch Crowd- Management erreichen können heißt, dass Sie die Kraft einer Crowd freisetzen und möglicherweise einen Marktvorteil erlangen können Kann tote Winkel bei Management-Entscheidungen (von visionären bis auf Implementierungsebene befindlichen) reduzieren Die Crowd hat ein starkes Potential um Ihnen das Wissen und die Ressourcen zu bieten, die Sie brauchen 42
grausam von Kelly123 Lahme App, plumpe Bedienung und unterbricht die Musik ständig um dir zu sagen, dass man die bezahlte App kaufen sollte. So ne Abzockerei! Wahnsinn von Kelly123 Endlich mal eine App, die Umgebungsgeräusche aufhebt! 43 [Abbildung: FormatF Productions]
Schwarmdumm!? Die Intelligenz der Kreatur, die man als eine Crowd bezeichnet, ist die Quadratwurzel der Anzahl Mitglieder. Terry Pratchett Fantasieautor 2500 2000 1500 1000 500 0 0 50 100 150 200 250 300 350 400 Crowd intelligence 44 Individual intelligence (IQ) [Image: Silverlutra / Wikimedia Commons, Creative Commons SA3.0]
Unter den richtigen Umständen sind Gruppen überraschend intelligent, und sind sie oft schlauer als die schlauste Mitglieder. ( ) Mitglieder einer Crowd müssen nicht nur unterschiedliche Perspektiven haben um eine intelligente Crowd zu bilden, sondern sie müssen auch, relativ gesehen, unabhängig voneinander sein. Das heißt, sie sollten selbständig nachdenken anstatt denen um sich herum nachzufolgen. James Surowiecki Autor, Die Weisheit der Vielen (2004) 45 [Abbildung: James Duncan / Wikimedia Commons, Flickr, CC-BY-SA2.0]
DB-Ebene Tool RES Tful Server UI-Ebene Crowd-basiertes RE: Werkzeug-Architektur Bootstrap AngularJS BreeezeJS (für Datenverwaltung) ASP.NET OData SQLExpress Lokale Datenbank Benchmarking: 90 schneller als menschliche Reviewer 77% Übereinstimmung mit Menschen 8% False Positive-Rate 46
Crowd-basiertes RE: Desktop-Anwendung Daten sammeln
Crowd-basiertes RE: Webtool Daten analysieren
Crowd-basiertes RE: Webtool Satzmuster anpassen
Crowd-basiertes RE: Webtool Visualisierte Ergebnisse Results of Analysis for Audi A3 on Frequency by Query Type Display 2 5 4 Navigation GPS 1 5 6 Negativ Negative Blind spot WiFi detection 2 9 15 Positiv Positive Feature Request Gesichtserkennung Park assist 0 3 9 0 5 10 15 20 Frequency
Anwendungsfall: PRO-OPT (1/2) Einbindung von Crowd-basiertem RE Werkstätten 3rd Party Lieferkette Produktion / Engineering Analyse und Verbesserung der Produktqualität Usage Mining Text Mining Predictive- und Preventive- Maintenance Analyse und Verbesserung des Diagnosesystems (Logisch) integrierte Daten (keine zentrale Datenspeicherung) Spezifische Analysen und Reports für verschiedene Anwendungsfälle 51
Anwendungsfall: PRO-OPT (2/2) Nutzerfeedback Wird gesammelt von Auto-spezifischen Foren und Social Media Wird mit Text Mining analysiert auf Aussagen zu bestimmten Modellen Beispiel: zehn unabhängige Meldungen von einem Problem mit dem Turbomotor werden nun zusammengebracht und frühzeitig als ein systematisches Problem erkannt Diagnostische Daten aus der Werkstatt Bestehen aus Log-Daten ( Diagnostische Fehlerkodes, Parameter) Analyse von identifizierten Problemen und ihre Korrelationen Beispiel: das Problem mit dem Turbomotor tritt früher auf in PKWs die viel in Berggebieten fahren, aber letztendlich wird das Problem auch in anderen PKWs auftreten Integration der Ergebnis s en Gemeinsamkeiten und Gegensätze identifizieren 52
Crowd-basiertes RE ist eine methodologischer Ansatz mit der benötigten tool-basierten Unterstützung um Daten zu sammeln, zu analysieren (auch vergleichend und voraussagend) und visuell darzustellen benutzt bereits verfügbare Daten (passive Crowd) und stimuliert Datengenerierung (aktive / aktivierte Crowd) kann zusammen mit traditionellen RE-Methoden und Crowdsourcing iterativ und kontinuierlich eingesetzt werden fokussiert sich auf RE um ein tiefgehendes Verständnis darüber zu gewinnen, was Nutzer in der Crowd kurz- und langfristig brauchen/wollen Beratung und Unterstützung bezüglich Scoping, Quellenauswahl, die Crowd motivieren/einbinden, Daten und ihre Strukturen definieren wird durch Scoping auf den Verwendungszweck (z.b. Domäne) maßgeschneidert Beispiel: manchmal sind auch Vergleiche zu Konkurrenzprodukten Produkten sinnvoll um innovative Ideen zu bekommen 53
Satisfaction engineered. WIE AUTOMATISIERUNG DAS RE EFFIZIENTER MACHEN KANN REQCHECK & CROWD-BASIERTES RE Matthias Koch Eduard C. Groen Matthias.Koch@iese.fraunhofer.de Eduard.Groen@iese.fraunhofer.de REConf Wissenschaftstrack München, 29.2.2016