Best Practices aus dem Software-Engineering auf agile Projekte übertragen

Optimierte Agilität durch Best Practices
Kommentare

Bewährte Best Practices aus verschiedenen Disziplinen des Software-Engineerings können zu mehr Qualität in agilen Projekten beitragen. Damit die nahtlose Integration gelingt, müssen die Best Practices allerdings an die Besonderheiten agiler Entwicklungsprozesse angepasst werden.

Im Beitrag „Optimierte Agilität“ [1] haben wir einen Ansatz vorgestellt, der zu einer verbesserten Software- und Prozessqualität in agilen Entwicklungsprojekten beitragen soll. Motivation für die Entwicklung dieses Ansatzes war die heutige Durchführungspraxis agiler Projekte. Hier steht oft die funktionale Korrektheit und Vollständigkeit im Vordergrund, während nichtfunktionale Qualitätsaspekte wie Gebrauchstauglichkeit oder Wartbarkeit vernachlässigt werden.

In vielen Fällen macht diese Praxis zeit- und kostenintensive Nacharbeiten notwendig, die vor den Auftraggebern versteckt oder nachverhandelt werden müssen. Schlimmstenfalls sind die Qualitätsmängel so gravierend, dass die Kundenbeziehungen und Absatzchancen der Unternehmen leiden. Einen möglichen Ausweg aus diesem Dilemma können Best Practices bieten, die von agilen Softwareentwicklern selbstständig und in Eigenverantwortung angewendet werden können. Solche Best Practices können darüber hinaus zu einer höheren Qualität der Softwareprodukte beitragen, ohne dass man dabei gleich einen neuen Entwicklungsprozess einführen müsste.

Bevor wir Details zu den Software-Engineering-Best-Practices für agile Softwareentwicklung vorstellen, fassen wir die Hauptpunkte aus dem Artikel in [1], also Grundideen und vorbereitende Arbeiten, noch einmal kurz zusammen.

Methodenschatz fürs Software-Engineering

Es gibt es einen großen Methodenschatz, der für verschiedene Teilbereiche des Software-Engineerings entwickelt wurde, z. B. für das Requirements Engineering, das Usability Engineering und die Softwarearchitektur. Diese Methoden und Praktiken wurden oft gerade mit dem Ziel entwickelt, eine höhere Qualität bei der Softwareentwicklung zu erreichen.

Die entsprechenden Methoden sind wissenschaftlich validiert und haben sich seit vielen Jahren im Praxiseinsatz bewährt. Allerdings wurden sie vor dem Hintergrund konventioneller Vorgehensmodelle entwickelt. Daher passen sie in vielen Fällen nicht zu den Paradigmen der Agilität, z. B. zur Softwareentwicklung in kurzen Iterationen. Ein möglicher Lösungsansatz ist es, solche Methoden und Praktiken gezielt für den Einsatz in agilen Entwicklungsprojekten anzupassen.

Mehr Qualität für agile Softwareentwickler

Das Forschungsprojekt „PQ4Agile – Produktqualität für Agile Softwareentwicklung“ (Infokasten PQ4Agile) unternimmt genau diesen Brückenschlag – zwischen Agilität auf der einen Seite und empirisch untermauertem Software-Engineering auf der anderen Seite. Ziel des Projekts ist es, agilen Softwareentwicklern eine möglichst effiziente und systematische Unterstützung bei der Verbesserung funktionaler und nichtfunktionaler Qualitätsaspekte zu bieten. Mit erprobten Best Practices wollen wir Entwickler in die Lage versetzen, systematisch und effizient zu einer hohen Produkt-, Nutzungs- und Prozessqualität in ihren agilen Entwicklungsprojekten zu gelangen.

PQ4AgileProduktqualität für Agile Softwareentwicklung

Ziel: systematische Unterstützung für Anwender agiler Methoden, die zu einer vorhersagbar hohen Qualität der entwickelten Softwareprodukte beiträgt.

Partner:

  • HK Business Solutions GmbH, Sulzbach (Gesamtprojektleitung)
  • CAS Software AG, Karlsruhe
  • Fraunhofer-Institut für Experimentelles Software Engineering IESE, Kaiserslautern
  • YellowMap AG, Karlsruhe

Ergebnisse:

  • 42 Best Practices für optimierte Agilität
  • Evaluationskonzept zur Bewertung der Produkt- und Prozessqualität
  • Referenzdokumente, z. B. zur Best-Practice-Integration und Evaluation

Laufzeit: November 2013 – Januar 2016

Das Projekt wurde vom Bundesministerium für Bildung und Forschung im Rahmen der Maßnahme KMU-innovativ: IKT – Softwaresysteme und Wissenstechnologien gefördert (01IS13032).

Mehr Informationen: www.pq4agile.de

Als Basis für die Arbeiten in PQ4Agile haben wir ein Qualitätsmodell definiert, das sämtliche relevanten Qualitätskriterien abdeckt. Zudem wurde ein Referenzprozess modelliert, der die Gemeinsamkeiten verschiedener agiler Entwicklungsprozesse konsolidiert und der geeignete Anknüpfungspunkte für die Integration von Best Practices bietet (hierfür dienten die Aktivitäten des Referenzprozesses).

Im nächsten Schritt haben wir ein generisches Template entwickelt, um die in Frage kommenden Best Practices zu dokumentieren. Dieses Template soll zugleich ein Mapping mit dem Qualitätsmodell ermöglichen, sodass z. B. Best Practices, die ein bestimmtes Qualitätsziel unterstützen oder in einer bestimmten Prozessphase zum Einsatz kommen, schnell auffindbar sind.

Unser Ziel war es, ein breites Spektrum an Qualitätsaspekten abzudecken und Unterstützung für die unterschiedlichen Arten von Entwicklungsaktivitäten in Entwicklungsprojekten zu bieten: Requirements Engineering, Usability/User Experience, Softwarearchitektur und Testen. Untersucht haben wir insgesamt über 300 etablierte Software-Engineering-Methoden und -Praktiken. Um sicherzustellen, dass die Best Practices zur agilen Entwicklung passen sowie schnell und dynamisch anwendbar sind, haben wir für deren Auswahl bzw. Erstellung bestimmte Prinzipien definiert. Da wären z. B. Simplizität (so einfach wie möglich), Personennähe (Verfügbarkeit von Stakeholdern ausnutzen) und Änderungsaffinität (mit konstanten Änderungen umgehen).

Berücksichtigt haben wir aber auch erfolgversprechende neue Ansätze, die zu einer Steigerung der Produktqualität in agilen Prozessen beitragen können, z. B. eigene Praktiken der Projektpartner oder aktuelle Vorschläge aus der Community. Die gesammelten Best-Practices-Kandidaten wurden anschließend anhand der genannten Prinzipien gefiltert. Von den verbliebenen 80 Best Practices haben wir rund die Hälfte ausgearbeitet. Hierbei stand vor allem die leichte Integration in agile Prozesse im Fokus, wofür bei vielen etablierten Methoden Anpassungen und Vereinfachungen notwendig waren.

Best Practices für mehr Qualität

Nachdem wir im vorangegangenen Artikel „Optimierte Agilität“ hauptsächlich den Ansatz im Allgemeinen und die dazu gehörenden Vorarbeiten vorgestellt haben, wollen wir diesmal unseren Schwerpunkt auf das eigentliche Ergebnis des Forschungsprojekts legen, die Best Practices. Wir zeigen im Folgenden auf, wie wir vorgegangen sind, um sie zu entwickeln, und welche Best Practices wir erarbeitet haben. Außerdem stellen wir einige Beispiele vor und zeigen, wo und wie man auf das Kompendium zugreifen kann.

In Entwicklungsprojekten haben wir die Erfahrung gemacht, dass wir mit einer Integration von Softwarearchitekturpraktiken und agiler Softwareentwicklung Qualitätsattribute schneller, einfacher und vor allem systematischer erreichen können. Daraus ist die Idee für das Forschungsprojekt entstanden.

In PQ4Agile greifen wir diese Erfahrungen auf, bündeln sie und erarbeiten daraus die Best Practices, die wir Entwicklern in agilen Projekten zur Verfügung stellen wollen. Als Grundlage dienen uns etablierte Software-Engineering-Methoden. Da diese aber in vielen Fällen ursprünglich vor dem Hintergrund konventioneller Entwicklungsprozesse wie dem V-Modell erarbeitet wurden, sind sie nur eingeschränkt übertragbar auf die Spezifika agiler Softwareentwicklung, bspw. auf kurze Entwicklungsiterationen oder enge Zusammenarbeit mit allen Stakeholdern.

Unsere Kernidee ist daher, solche zusammenhängenden Methoden in kleine Bausteine, also Best Practices, zu zerlegen und sie auf die besonderen Gegebenheiten von agiler Softwareentwicklung anzupassen. PQ4Agile gibt uns darüber hinaus einen Rahmen, in dem wir die so entwickelten Best Practices evaluieren können, um zu überprüfen, ob die gewünschten Effekte erreicht werden können. Abbildung 1 zeigt unser Vorgehen in der Übersicht.

schmitt_messbar-mehr-qualitaet_1

Abb. 1: Entwicklung der Best Practices

 Auf diese Weise haben wir bis heute 42 Best Practices erarbeitet und dokumentiert, hauptsächlich aus den Bereichen Requirements Engineering, Softwarearchitektur, User Experience und Testen, aber auch einige unterstützende Tätigkeiten, die für viele Arbeiten in der Softwareentwicklung hilfreich sein können. Die erarbeiteten Best Practices decken alle Bereiche unseres Referenzprozesses ab (Abb. 2). Sie sind auf der Projektwebsite verfügbar.

Wir wollen aber nicht nur ein fertiges Paket zur Verfügung stellen, sondern unser Ziel ist, eine Plattform aufzubauen, auf der das erarbeitete Kompendium weiterlebt und weiterentwickelt wird. Dafür haben wir ein Wiki aufgebaut. Hier können interessierte Entwickler nach geeigneten Best Practices suchen, filtern, Best Practices diskutieren, Verbesserungsvorschläge machen und neue Best Practices vorschlagen. Wir laden die Community ein, sich an der Weiterentwicklung zu beteiligen und hoffen auf neue, spannende Beiträge.

schmitt_messbar-mehr-qualitaet_2

Abb. 2: Verteilung der Best Practices auf den agilen Referenzprozess

Im Folgenden wollen wir einige Beispiele für Best Practices zeigen, die wir erarbeitet haben. Sie sind als Auszüge dargestellt, die vollständigen Best Practices sind online unter den genannten URLs verfügbar. Ausgesucht haben wir jeweils eine Best Practice aus den Bereichen Architektur, User Experience und Requirements Engineering.

Architekturlösungen im Team entwickeln Architektur
 Ziele: (1) Explizite Erarbeitung von Lösungskonzepten, (2) Wissensverbreitung im Team, (3) Identifikation mit der Lösung, (4) konsolidierte Architekturdefinition und -beschreibung
Motivation: In agilen Entwicklungsteams werden Architekturentscheidungen häufig implizit getroffen, was zu Inkonsistenzen oder unpassenden Lösungen führen kann. Außerdem besteht die Gefahr, dass Lösungen nicht allen Teammitgliedern bekannt sind und getroffene Entscheidungen auf Unverständnis stoßen. Bei der Entwicklung von Architekturkonzepten können Teams von den Erfahrungen aller Entwickler profitieren.
Input: Die relevanten Systemanforderungen mit einer konkreten Aufgabenstellung, für die ein Architekturkonzept benötigt wird Output: Ein Architekturkonzept, das unter Einbeziehung der Erfahrungen des Teams erarbeitet wurde
Beschreibung: Diese Best Practice kann eingesetzt werden, wenn ein umfassendes und einheitliches Lösungskonzept für wichtige Anforderungen benötigt wird. Fragestellungen wie Synchronisation von Offlinedaten oder Sicherstellung von Hochverfügbarkeit sind Beispiele. Als Vorbereitung bestimmt das Team einen Verantwortlichen für die Konzepterarbeitung. Der Verantwortliche zerlegt die Gesamtaufgabe in kleinere Teile, die separat bearbeitet werden können. Entsprechend dieser Unterteilung bereitet er erste Lösungsvorschläge und eine Vision für das Architekturkonzept vor, darunter insbesondere Informationen über relevante Technologien, kritische Aspekte etc. Dies dient als Diskussionsgrundlage im Team. Sobald die Konzeptvision ausgearbeitet ist, organisiert der Konzeptverantwortliche ein erstes Meeting, an dem ausgesuchte Teammitglieder teilnehmen. Das Konzeptmeeting besteht aus:
Präsentation: Der Konzeptverantwortliche präsentiert die Aufgabe mit der zugehörigen Zerlegung, die Architekturvision und die erarbeiteten Aspekte.
Diskussion: Das Team diskutiert die vorgestellten Themen. Änderungsbedarf, Widersprüche und Verbesserungsvorschläge werden besprochen, bis das Team einen Konsens gefunden hat. Die besprochenen Änderungen werden aufgenommen und in den Initialvorschlag integriert. Das Ergebnis ist ein abgestimmter Konzeptentwurf.
Aufgabenverteilung: Anhand der Themenunterteilung werden Architekturaufgaben im Team verteilt. Die jeweiligen Teammitglieder sind dann für die weitere Ausarbeitung ihrer Teilthemen verantwortlich. Nach dem ersten Konzeptmeeting erarbeiten die einzelnen Teammitglieder Detaillösungen für ihre jeweiligen Aufgaben. Die Lösungen sollten so weit ausgearbeitet sein, dass sie eine unmittelbare Umsetzung erlauben.
Haben alle Teammitglieder ihre Teilarchitekturaufgaben fertig bearbeitet, organisiert der Konzept-verantwortliche das nächste Konzeptmeeting, in dem die Teammitglieder ihre jeweiligen Lösungen vorstellen und gemeinsam diskutieren. Wird dabei erneut Bedarf für eine Verfeinerung festgestellt, werden abermals Aufgaben verteilt und von Teammitgliedern erarbeitet. Dies wird so lange wiederholt, bis das Konzept weit genug ausgearbeitet ist und ein Konsens erzielt wurde. Danach werden entsprechende Aufgaben für die Umsetzung des Konzepts definiert und eingeplant. Als Nachbereitung konsolidiert der Konzeptverantwortliche die erarbeiteten Teillösungen und ergänzt die Dokumentation der wichtigsten Aspekte des Konzepts, sodass diese später vom ganzen Team nachvollzogen werden können. Insbesondere die Erfassung der Gründe, warum Entscheidungen auf eine bestimmte Weise getroffen wurden, ist dabei von Relevanz.

Tabelle 1: Best-Practice-Beispiel „Architekturlösungen im Team entwickeln“

Usability-Patterns verwenden Usability/User Experience
Ziele: (1) Usability-Mängel vermeiden, (2) Konsistenz von Benutzeroberflächen erhöhen, (3) Entwicklungseffizienz steigern
Motivation: Bei der Entwicklung der Benutzeroberfläche treten immer wieder Gestaltungsfragen auf, die unmittelbare Auswirkungen auf die Usability des Softwareprodukts haben. Die zugrunde liegenden Entwurfsprobleme sind in der Regel weder einmalig noch neu. Insbesondere für weniger erfahrene UI-Designer bzw. Softwareentwickler ist es hilfreich, wenn sie in diesen Fällen auf bereits bewährte und gut dokumentierte Gestaltungslösungen, sog. Patterns, zurückgreifen können.
Input: Identifizierte Gestaltungs- bzw. Interaktionsprobleme Output: Passende, bewährte Musterlösungen
Beschreibung: Usability-Patterns sind bewährte Lösungsmuster für typische Gestaltungs- bzw. Interaktionsprobleme, die in bestimmten Nutzungskontexten auftreten. Sie können beim Entwurf oder der Entwicklung von Software eingesetzt werden. Usability-Patterns sind in strukturierter, relativ abstrakter Form beschrieben. Sie ermöglichen es, die für ein Produkt relevanten Usability-Merkmale bereits in frühen Phasen der Produktentwicklung und ohne weitere Usability-Expertise systematisch zu betrachten und besser zu berücksichtigen. Richtig eingesetzt, verbessert die Verwendung von Usability-Patterns die  Entwicklungs-effizienz, die Konsistenz der Benutzeroberfläche und die Codequalität. Sie unterstützt zudem die Qualitäts-sicherung der Produkte, die Kommunikation im Team und die Einarbeitung neuer Mitarbeiter.
Zunächst recherchiert der Softwaredesigner bzw. -entwickler geeignete Patterns und überprüft, ob diese im eigenen Kontext anwendbar sind, also zur Lösung der konkreten Probleme beim Oberflächendesign und der Interaktionsgestaltung beitragen. Es gibt zahlreiche öffentliche Patternsammlungen, die genutzt werden können. Unter Umständen ist es aber auch sinnvoll, eine eigene Pattern Library für die Projekte bzw. Produkte des Unternehmens aufzubauen.
Nach der Auswahl wird das jeweilige Usability-Pattern im eigenen Kontext umgesetzt. Die Auswirkungen der Umsetzung hängen vom jeweiligen Usability-Pattern ab. Dies können einfache Anpassungen der Oberfläche sein, es kann aber auch die Anpassung von Funktionen bzw. Funktionsschritten oder die Entwicklung zusätzlicher Funktionen notwendig sein.

Tabelle 2: Best-Practice-Beispiel „Usability-Patterns verwenden“

Aufwand für Anforderungsentwicklung bestimmen Requirements Engineering
Ziele: (1) Erhebungsaufwände genauer schätzen, (2) Tätigkeiten im Bereich Anforderungsentwicklung besser planen, (3) Fehlplanungen und Ressourcenengpässe vermeiden
Motivation: Mehr als die Hälfte aller Fehler in Entwicklungsprojekten entstehen im Requirements Engineering, z.B. durch unvollständige, missverständliche oder fehlerhafte Anforderungen. Trotzdem werden in vielen Projekten keine expliziten Aktivitäten für die Entwicklung von Anforderungen vorgesehen, und die erzielten Arbeitsergebnisse sind entsprechend mangelhaft. Um die Qualität zu erhöhen, z.B. in Form systematisch erhobener und abgestimmter Anforderungen, müssen Ressourcen für systematisches Requirements Engineering eingeplant und bereitgestellt werden.
Input: Ermittlung der relevanten Einflussfaktoren (siehe Beschreibung) Output: Anhaltspunkte für sinnvolle Aktivitäten (Art und Umfang) im Bereich Anforderungsentwicklung und für die Ermittlung von Aufwänden
Beschreibung: Hochwertige Anforderungen sorgen für reduzierte Entwicklungsaufwände und für eine höhere Produktqualität. Vor allem bei der Entwicklung komplexer Produkte und Systeme sind daher Aktivitäten zur systematischen Ermittlung, Prüfung, Dokumentation und Abstimmung von Anforderungen notwendig. Die Rahmenbedingungen und bestimmte Einflussfaktoren eines Projekts geben Auskunft darüber, in welchem Umfang Tätigkeiten für die Anforderungsentwicklung eingeplant und durchgeführt werden sollten. Die Bedeutung, die der Anforderungs-entwicklung innerhalb eines Entwicklungsprojekts beigemessen werden sollte, und der Aufwand, der hierfür eingeplant werden sollte, stehen in direktem Zusammenhang mit den Rahmenbedingungen des Projekts. Es gibt eine Reihe von Einflussfaktoren, die Hinweise auf die zu erwartenden Erhebungsaufwände geben. Je ausgeprägter diese Faktoren in einem Projekt sind, desto sinnvoller ist es, höhere Aufwände für die Anforderungsentwicklung zu veranschlagen:

  • hohes Sicherheitsbedürfnis
  • strikte Einhaltung externer Vorgaben (z.B. Gesetze, Standards)
  • hohe Qualitätsansprüche an das Produkt
  • hoher fachlicher und technischer Innovationsgrad des Projekts
  • hohe Komplexität der Fachlichkeit (z.B. Variantenvielfalt des Produkts)
  • geringe Wiederverwendbarkeit von Anforderungen
  • unklare Anforderungen der Stakeholder
  • konträre Ziele und Meinungen der Stakeholder (und damit verbundener Abstimmungsbedarf)
  • schlechte Erreichbarkeit und geringe Mitwirkung der Stakeholder
  • großes Entwicklungsteam (ggf. mehrere, geografisch verteilte Teams)
  • geringe Erfahrung des Entwicklungsteams
  • geringe Vertrautheit des Entwicklungsteams und/oder der Endanwender mit der verwendeten Technologie
  • geringe Vertrautheit des Entwicklungsteams mit der Fachdomäne
  • hohe Komplexität des Arbeitsplans (viele Abhängigkeiten)

Tabelle 3: Best-Practice-Beispiel „Aufwand für die Anforderungsentwicklung bestimmen““

Damit die Anwendung unserer Best Practices erfolgreich sein kann, müssen zwei Kriterien erfüllt sein: Zum einen muss eine effiziente Integration der ausgewählten Best Practices in vorhandene Softwareentwicklungsprozesse gewährleistet sein. Zum anderen müssen Softwareentwickler darauf vertrauen können, dass die Anwendung der Best Practices tatsächlich den gewünschten Effekt erzeugt.

Wir haben daher einerseits sowohl quantitative Studien vorgenommen, um zu prüfen, ob durch die Anwendung von Best Practices Qualitätssteigerungen in agilen Entwicklungsprojekten möglich sind. Andererseits haben wir auch qualitative Studien durchgeführt, um Einschätzungen seitens der Softwareentwickler bezüglich der Auswahl, der Anwendung und der Integration der Best Practices in den vorhandenen Softwareentwicklungsprozess zu erhalten. Die Studien haben wir mit drei Softwareherstellern unterschiedlicher Größe (zehn bis 300 Mitarbeiter) durchgeführt.

Bei der Auswahl geeigneter Best Practices hilft die Hinzunahme des von uns erstellten Qualitätsmodells: Softwareentwickler können entweder Qualitätsmerkmale des Qualitätsmodells auswählen, die sie durch Anwendung bestimmter Best Practices verbessern möchten, oder sie wählen Best Practices aus und erfahren aus deren Beschreibungen, welche Qualitätsmerkmale dadurch verbessert werden.

Überprüfung in der Praxis

Über einen Zeitraum von sechs Monaten wurden in regelmäßig stattfindenden Workshops qualitative Daten erhoben, und es wurde eine retrospektive Befragung der Softwareentwickler durchgeführt. Wir konnten dadurch zeigen, dass einzelne Qualitätsmerkmale durch den Einsatz der Best Practices verbessert werden, und dass diese Verbesserungen – beispielsweise ein effizienteres Arbeiten – auch von den Softwareentwicklern wahrgenommen werden.

Die Anwendung der Best Practices wird aus Sicht der Softwareentwickler für nachhaltig sehr nützlich gehalten. Zudem konnte ein unbewusster Einsatz einzelner Best Practices beobachtet werden, der für die Qualität der Best-Practice-Beschreibungen spricht, insbesondere für deren Verständlichkeit und Anwendbarkeit. Auch die Integration der Best Practices in den Softwareentwicklungsprozess wird als „nahtlos“ beschrieben. Weiterhin entwickeln die Softwareentwickler durch die Beschäftigung mit den Best Practices einen stärkeren Qualitätsgedanken. So werden Optimierungspotenziale des bestehenden Softwareentwicklungsprozesses identifiziert. Ferner werden Lösungen für auftretende Probleme erarbeitet.

Für die quantitative Analyse haben Softwareentwickler, Teamleiter, Kundenansprechpartner und Nutzer sowohl vor dem sechsmonatigen Einsatz der Best Practices als auch nach deren Einsatz jeweils einen umfangreichen Fragebogen ausgefüllt. Diesen Fragebogen haben wir speziell für PQ4Agile erstellt, um die Qualitätsbereiche Produktqualität, Nutzungsqualität und Prozessqualität abdecken zu können.

Messbare Steigerung der Qualität

Eine Varianzanalyse über alle Projektpartner hinweg ergab, dass insbesondere die Prozessanwendungsqualität gesteigert werden konnte. Eine weitere Varianzanalyse, gruppiert nach den Projektpartnern, ergab, dass ein Projektpartner die Prozessanwendungsqualität, ein anderer Projektpartner die Produktqualität und der dritte Partner sogar alle betrachteten Qualitätskategorien statistisch signifikant steigern konnte. Außerdem konnten neun Qualitätsmerkmale positiv beeinflusst werden:

  • Produktivität
  • Wiederverwendbarkeit
  • Nutzungsflexibilität
  • Interoperabilität
  • Ressourcenverbrauch
  • Zeitverhalten
  • Installierbarkeit
  • Analysierbarkeit
  • Wiederherstellbarkeit

Wir führen diese positiven Veränderungen auf den Einsatz der Best Practices zurück, auch wenn wir hierfür keinen eindeutigen Nachweis erbringen können.

Weiterhin wurde ermittelt, welche Eindrücke die Produkte der Projektpartner bei deren Kunden bzw. Nutzern hervorrufen sollen und welche sie tatsächlich hervorrufen. Hierbei war festzustellen, dass, nachdem die Best Practices angewandt wurden, negative Attribute weniger häufig, weniger stark oder überhaupt nicht mehr wahrgenommen wurden. Die Untersuchung zeigt uns damit messbar, dass der Einsatz der Best Practices die wahrgenommene Qualität der Softwareprodukte steigern und letztendlich zu einer höheren Produktakzeptanz führen kann.

Links & Literatur

[1] Schmitt, Hartmut; Rost, Domink: „Optimierte Qualität“, in: Entwickler Magazin 2.2015, S. 82 ff

Entwickler Magazin

Entwickler Magazin abonnierenDieser Artikel ist im Entwickler Magazin erschienen.

Natürlich können Sie das Entwickler Magazin über den entwickler.kiosk auch digital im Browser oder auf Ihren Android- und iOS-Devices lesen. In unserem Shop ist das Entwickler Magazin ferner im Abonnement oder als Einzelheft erhältlich.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -