Fragenkultur – Grundlage für eine erfolgreiche Softwareentwicklung

 

Der Hauptfokus bei der Softwareentwicklung liegt in den meisten Fällen auf der Lösungsdiskussion.
In diesem Beitrag versuche ich zu erklären, warum es notwendig ist eine Fragenkultur zu entwickeln, um bessere Lösungen zu finden.

Wer kennt nicht das nachfolgende Phänomen? Es werden Anforderungen gesammelt, eine Projektplanung aufgesetzt und Teams eingeteilt. Bei Agilen-Projekten, werden User Stories erstellt und herunter gebrochen auf Basis des INVEST-Prinzips.
Man hat scheinbar alles „richtig“ gemacht. Und trotzdem gibt es sowohl bei der Erstellung der System-Architektur als auch bei der Implementierungsphase Diskussionen darüber, was das Ziel der Software ist .
Diesem Phänomen will ich in diesem Beitrag nachgehen.
Hierbei geht es weniger um die Frage nach den Ursachen und den Methodiken. Hier geht es vielmehr um die Frage nach der „Kommunikationskultur“ und wie man das oben beschriebene Dilemma verhindern oder zumindest mildern kann.

Die richtigen Fragen Stellen?

Was soll ich fragen
Abbildung: Was soll ich fragen

Als meine Kinder in die Schule kamen, haben sie sich richtig auf das Lernen gefreut. Jedoch nach 3-4 Wochen war es mit der Freude vorbei.
Wenn ich in einem Meeting bin oder wenn ich eine Präsentation halte, dann stelle ich fest, dass die Anzahl der Fragen nahezu Null ist.

Eine Erklärung für beide Phänomene habe ich in dem Buch von Warren Bergen gefunden mit dem Titel

Die Kunst des klugen Fragens.

Beim Lesen des Buches wurde mir bewusst, dass unsere Lern- und Kommunikations-Kultur auf Antworten fokussiert ist. Lösungen werden in den Mittelpunkt stellt. In der Schule, bei der Ausbildung und auch im Berufsleben liegt der Fokus auf dem Finden von Antworten. Hierbei wird vergessen zu beachten, ob es sich um die richtige Fragestellung handelt.
Viel wichtiger ist zunächst zu hinterfragen, was das Problem ist. Fragen helfen dabei, Dinge besser zu verstehen. Wer Dinge und Probleme besser versteht, kommt zu besseren Lösungen.

 

Wichtigkeit von Fragen

 

Abbildung: Wichtigkeit des Fragens

Aufgrund dieser Erkenntnis bin ich dazu übergegangen in Meetings und Präsentationen, mich auf Fragen zu konzentrieren. Dabei habe ich festgestellt, dass meine Präsentation einen höheren Mehrwert für die Zielgruppe bietet und Meetings einen viel konstruktiveren Verlauf nehmen, wenn sichergestellt ist, das die Fokus-Frage ist.

Offene Fragen sind hierbei wichtig, da man dadurch die Kontrolle abgibt und viel mehr Informationen von dem Kommunikationspartner erhält als bei geschlossenen Fragen.

Geschlossene Fragen

 

Abbildung: Geschlossene Fragen
Offene Fragen

 

Abbildung: Offene Fragen

Was bedeutet dies für die Erstellung einer System-Architektur?
Dies möchte ich nachfolgend näher ausführen.

Hierzu ist es zunächst notwendig, zu klären, was sind denn die richtigen Fragen.

Was sind die richtigen Fragen?

Richtige Fragen gibt es nicht. Dies würde implizieren, dass es auch falsche Fragen gibt.
Somit ist die Überschrift für diesen Abschnitt irreführend und ist eher provokativ gemeint.

Viel besser ist es die Fragen nach geschickt oder ungeschickt zu unterscheiden. Das Unterscheidungsmerkmal ist hier bei sehr einfach.

Wenn wir eine Frage haben und erwarten, dass wir aus der Antwort konkrete Hinweise erhalten, die uns weiterbringen, dann ist dies eine wichtige Frage und es ist sinnvoll dieser Frage weiter auf den Grund zu gehen.

Handelt es sich jedoch um eine Frage, von deren Antwort wir keine oder wenig Hinweise erwarten, die uns weiterhelfen, dann ist dies eine Frage, die eher ungeschickt ist und deren Beantwortung zunächst zurückgestellt werden oder ggf. verworfen werden sollte. Solche Fragen gehören eher in den Bereich der Philosophie.

Fragen geschickt stellen

 

Abbildung: Gute Frage

Nach diesem Prinzip lassen sich alle Fragen entsprechend priorisieren. Dies bedeutet, wir legen fest, welche Fragen am wichtigsten ist und deren Antwort zunächst geklärt werden sollte, bevor andere Fragen zu klären sind.
Priorisieren ist ein sehr wichtiger Schritt, um zu vermeiden, dass man zu früh in eine Detaildiskussion eintritt.

In der Software-Entwicklung bedeutet dies, dass zunächst die Fragen nach fachlichen Anforderungen zu klären sind, bevor Fragen nach Technologien zu klären sind.

Wie finde ich den Einstieg in die Fragen.

Ausgangspunkt bei jeder Produktentwicklung sind die sogenannten zentralen Fokus-Fragen.
Die zentralen Fokus-Fragen lassen sich einem Fragen-Quadrat für die W-Fragen verdeutlichen.
Betrachten wir hierzu die nachfolgende Abbildung.


 

Abbildung: Das Fragen-Quadrat

Block A. Entwickle ich das RICHTIGE Produkt?

Hier geht es um die Fragen

  • Was ist das Problem?
  • Warum stellt sich das Problem?
  • Wie wichtig ist die Lösung für den Anwender?
  • Wie sieht der Problem-Kontext aus?
  • Wer hat diese Problem?
  • Wie häufig stellt sich das Problem?
  • Welche Randbedingungen sind bei der Umsetzungen der fachlichen Anforderungen zu beachten?

Die Antworten liefern einen Hinweis, über das Ziel und die Bedeutung des Produktes/System für einen Kunden.

Diese Art von Fokus-Fragen sind wichtig, wenn es um

  • das Finden einer Business Strategie
  • die Definition eines Produkt-Portfolios
  • die Festlegung der Anforderungen an ein Software Produkt oder einer Dienstleistung

Bei der agilen Softwareentwicklung sind dies die entscheidenen Fragen, die sich jeder Produkt-Owner stellen muss.

Block B. Entwickle ich das Produkt RICHTIG?

Hier geht es darum, zu hinterfragen, wie fachliche Anforderungen umzusetzen sind. Voraussetzung hierfür ist, dass die fachlichen Anforderungen verstanden und verschriftlicht wurden.

Fragen hierzu sind:

  • Wie sehen die fachlichen Anforderungen aus?
  • Wie sind die fachlichen Anforderungen umzusetzen?
  • In wie weit bestehen technologische Randbedingungen?
  • Welche Schnittstellen sind zu definieren und wie sind diese zu definieren?
  • Wie sieht der Lösungs-Kontext aus?

Für die Lösungsdiskussion bieten sich hier folgende Fragetypen an:

  • navigierende Fragen
  • schliessende Frage

Navigierende Fragen sind „Was wäre wenn,..“

Fragen. Sie haben fiktiven Charakter und fördern die Kreativität. Es lädt ein über eine mögliches Umsetzungsszenario offen nach zudenken. Dies ist wichtig, da speziellen in der Entwicklung bei eventuellen Lösungsvorschlägen sofort an die Machbarkeit und den Aufwand der Implementierung gedacht wird und im Vorfeld Lösungsansätze verworfen werden, da der Aufwand zu hoch oder zu schwierig eingeschätzt wird.

Schliessende Fragen sind „Wie machen wir es genau….“.

Sie helfen, Design-Entscheidungen herbeizuführen, die als Grundlage für weitere Design-Entscheidungen notwendig sind.

Block C. Entwickle ich das RICHTIGE Produkt* zur RICHTIGEN Zeit?

Mit diesem Bereich beschäftigt sich das Projekt Management.
Die Fragen wie:

  • Wann ist das Produkt / die Dienstleistung verfügbar?
  • Was ist in dem Produkt enthalten?
  • Was wird das Produkt kosten?

und viele mehr, ergeben sich aus dem angestrebten Business heraus.

Schnittpunkt zur Erstellung der System-Architektur besteht bei der agilen Softwareentwicklung darin, sich bzgl. der Sprint-Planung abzustimmen. Das Ergebnis eines Sprints ist ja verhandelbar.

Wie wende ich dies in der Praxis an?

Die Fokus-Fragen aus dem Fragenquadrat haben sich bei der Vorbereitung auf folgende Themengebiete bewährt. Dort habe ich sie als erstes ausprobiert.

  • Vorbereitung auf ein Kick Off Meeting zum Projektstart
  • Bei der Erstellung der Präsentation oder einem Vortag
  • Vorbereitung auf eine Besprechung
  • Beim Erlernen einer neuen Technologie
  • Anwendung innerhalb einer Besprechung, um den Fokus nicht zu verlieren

Hierzu habe ich folgendes Vorgehen für mich entwickelt, welches mir hilft effektiver zu arbeiten und zu lernen, den Fokus während einer Besprechung nicht zu verlieren und hilft bei der Anforderungsanalyse effektiver zu sein.


Vorgehen bei der Entwicklung von Fragen

Figure: Workflow
  1. Ich starte zunächst mit einer leeren Seite Papier bzw. leerem Editor Fenster.
  2. Ich wende Brainstorming an, um die wichtigsten W-Fragen zu dem Thema aufzuschreiben. Hierbei hilft das Fragen-Quadrat. Ich schreibe alles auf und nehme keine Bewertung vor.
  3. Danach gruppiere ich die Fragen. Hierbei packe ich alle Fragen, die in die gleiche Richtung zielen in eine Gruppe.
  4. Danach lege ich für die einzelnen Gruppen fest, welche Antworten ich als erstes benötige, um dann ggf. weitere Fragen zu stellen.
  5. Abschliessend prüfe ich, in wie weit es sinnvoll ist, Fragen zu präzisieren oder weiter herunter zu brechen.
  6. Stoße ich bei dem Brainstorming oder bei der Vorbereitung auf Aussagesätze, dann formuliere ich eine Aussage in ein offene Frage um. Dies fördert zusätzlich meine Kreativität.

Mein Tip für den Alltag

Einfach bei dem nächsten Meeting, sich mitten in einer Detail-Diskussion melden, um eine grundlegende Frage zu stellen. Siehe nachfolgende Abbildung.

Tipp für die Praxis

 

Figure: Praxis-Tipp

Persönlich Anmerkung:

Über Feedback und konstruktive Kritik würde ich mich freuen.

Schlagwörter: , , ,
Copyright © 2014. All rights reserved.

Veröffentlicht1. Januar 2022 von jaekle-visualconsult-admin in Kategorie "Methodik", "Produktivität