Blog über Software, Mensch und Persönlicher Entwicklung

Sinneseindrücke in der Software-Konzeption - Richard Seidl

Geschrieben von Richard Seidl | 24.05.2015

Problemstellung

Eine der Ursachen für gescheiterte Softwareprojekte liegt in der Transformation der Wünsche und Vorstellungen der Anwender in die technische Umsetzung. Requirements-Engineering setzt hier an und versucht die Vorstellungen der Anwender in technische Anforderungen an die Applikation umzusetzen. Diese Methoden stützen sich mehr auf die technische Seite und schaffen, wie z.B. UML, BPMN, etc., eine (semi-)formale Spezifikation aus den Aussagen der Anwender. Mit den hier vorgestellten Methoden lässt sich noch ein Schritt zuvor ansetzen und vertiefen. Indem nicht nur die Aussagen der Anwender herangezogen werden, sondern er wirklich beim Erkennen seiner Wünsche unterstützt wird. So entsteht die Möglichkeit, in die Tiefe zu gehen, wo normale RE-Methoden an der Oberfläche bleiben. Der gewonnene Input kann von der Planung des Funktionsumfangs bis zur Oberflächengestaltung das ganze Projekt unterstützen.

Begriffsdefinitionen

  • Anwender: nutzt später die Applikation
  • Kunde: bezahlt die Applikation
  • Stakeholder: ist in irgendeiner Form am Projekt beteiligt
  • Team: Entwicklungsteam

Walt-Disney-Strategie

Die Vision der Applikation fassen und prüfen.

Vorgehen: Die drei Rollen (Träumer, Kritiker, Planer) mit der Vision der Applikation durchlaufen.

Ergebnis: Klärung der Vision, Realitätscheck, erste Aktionsschritte

VAKOG-Modell

Vorstellungen der Anwender erfahren.

Vorgehen:

  1. Der Anwender taucht in seine Vorstellung der Applikation ein.
  2. Der Anwender beschreibt seine Vorstellung visuell, kinestäthisch und auditiv.

Ergebnis: detailliertere Beschreibung der Vorstellungen des Anwenders, ausgeprägte Wahrnehmungskanäle des Anwenders, Gemeinsamkeiten der Zielgruppe erfahren.

UI und Usability

Vorgehen:

  1. Dem Anwender Konzepte der Oberfläche und Bedienung visuell, kinestäthisch und auditiv präsentieren.
  2. Der Anwender gibt Feedback.

Ergebnis: Korrekturen und Anpassungen durch das Feedback des Anwenders. Verfeinerung der Details und des Bedienkonzepts.

Submodalitäten

UI und Usability konzipieren

Vorgehen:

  1. Der Anwender taucht in seine Vorstellung der Applikation ein.
  2. Der Anwender stellt sich die Oberfläche, die Haptik und die Workflows der Applikation vor.
  3. Der Anwender verändert die Submodalitäten bis ein für ihn stimmiges Bild/Gefühl entsteht.

Ergebnis: Ideen für die Anpassung der Oberfläche, der Bedienung und der Workflows.

Dilts Pyramide

Zukunftsbild der Applikation prüfen und verinnerlichen.

Vorgehen:

  1. Visualisieren des fertigen Produktes (Funktionen, Nutzen, UI).
  2. Durchlaufen der Dilts-Pyramide und das Produkt in den Ebenen erleben und prüfen:
    • Umwelt: Auf welche Umgebung (technisch) und welches Umfeld (Einstellung der Anwender) trifft sie?
    • Verhalten: Wie kann mit der Applikation gearbeitet werden? Welche Workflows bietet sie an? Wie interagiert die Applikation mit dem Anwender?
    • Fähigkeiten: Was kann die Applikation? Welche Funktionen und Möglichkeiten bietet sie?
    • Werte/Glauben: Welche Leitideen verfolgt die Applikation? Welche Architektur- und Designkonzepte verwirklicht sie?
    • Identität: Welchen Geschäftsprozess unterstützt die Applikation?
    • Vision: Welchen Nutzen stiftet die Applikation beim Anwender? Welches Gefühl hinterlässt sie nach der Arbeit?

Wahrnehmungspositionen

In die Lage der Stakeholder versetzen.

Vorgehen:

  1. Teammitglied (Entwickler, Designer, etc.) versetzt sich über Raumanker in die Position eines Stakeholders (Anwender, Kunde, Management, Support, Betrieb).
  2. Teammitglied fühlt in die Position hinein und beschreibt die Erwartungen, Wünsche und Sichtweise auf das Projekt/Produkt.

Ergebnis: Besseres Verständnis aller Projekt- und Produktbeteiligten.

Mentor-Technik

Befragung der wichtigsten Kunden/Anwender.

Vorgehen:

  1. Als Mentoren werden konkrete Kunden/Anwender der Applikation herangezogen.
  2. Fragestellungen werden aus Sicht der Mentoren beantwortet. Ideen für Fragestellungen:
    • Welchen Nutzen/Wert soll die Applikation bringen?
    • Welche Funktionen haben die höchste Priorität? Welche nicht?
    • Welche Plattformen sind relevant? Welche nicht?
    • Worin liegt der Fokus bei der Bedienbarkeit?
    • Was sind No-Gos für die Akzeptanz der Applikation?

Ergebnis: Laufender Check ob das Projekt noch in die richtige Richtung steuert. Zusätzlich zu realen Kundeninterviews.

Modelling für den Entwicklungsprozess

Entwicklungsprozess erfolgreicher Projekte modellieren.

Vorgehen:

  1. Suche und Identifizierung von erfolgreichen Projekten, passend zum eigenen Vorhaben.
  2. Elizitieren der Strategie.
  3. Transfer der Strategie auf das eigene Vorgehen, Anpassung an die eigenen Bedürfnisse und Vorgaben.

Ergebnis: Verbesserter Entwicklungsprozess, neue Sichtweise, Anwendung von Best Practices

TOTE-Modell

Der agile Entwicklungsprozess.

Vorgehen: Einsatz iterativer Entwicklungsmodelle wie z.B. Scrum. Kurze, fixe Iterationen zwischen 2 und 4 Wochen

    1. Im Planungsmeeting werden die Aufgaben der nächsten Iteration geplant. Die Priorität bei der Auswahl der Aufgaben liegt beim höchsten (Geschäfts)-Wert für die Applikation und auf Aufgaben, die auch während dieser Iteration komplett abgearbeitet werden können.
    1. Während der Iteration werden die Aufgaben vom Team abgearbeitet.
    1. Am Ende der Iteration findet ein Reviewmeeting statt, in dem das Ergebnis der Iteration dem Anwender/Kunden präsentiert wird. Dieser kann durch Feedback und Input den Fortlauf der nächsten Iteration beeiflussen und mitgestalten.
    1. Sind nach x Iterationen alle Anforderungen umgesetzt (Applikation entspricht der Kunden/Anwender-Erwartung) ist die Entwicklung abgeschlossen.

Ergebnis: Ein sich selbst justierender Prozess mit kurzen Feedbackschleifen, der schnelle Korrekturen ermöglicht.