Das Produkt der Softwareentwicklung ist Fokus
Es scheint so klar, was das Produkt der Softwareentwicklung ist: Software, Code. Doch ich glaube, das ist ein Missverständnis. Und durch dieses Missverständnis entstehen viele Konflikte, die viel Geld verbrennen.
Aber erstmal: Was ist ein Produkt? Ein Produkt ist, wofür ein Kunde bereit ist, Geld zu bezahlen. (Oder allgemeiner: dafür etwas dem Anbieter Wertvolles im Austausch zu geben.)
Das Produkt eines Bäckers? Ein Brot. Das Produkt eines Friseurs? Ein Haarschnitt. Das Produkt eines Busfahrers? Ein Transport zu einem Ziel.
Aber überlege einmal, was das Produkt eines Arztes ist. Klar, wenn du zum Arzt gehst, möchtest du gesund werden. Verkauft der Arzt dir aber Gesundheit?
Oder was ist das Produkt eines Bauarchitekten? Was du möchtest, ist ein Haus nach deinem Geschmack. Aber verkauft der Architekt dir ein Haus oder auch nur einen Bauplan?
Oder was ist das Produkt eines Personal Trainers? Dein Wunsch mag sehr konkret sein: „Ich möchte die 100m nicht mehr in 16 Sekunden laufen, sondern in 12 Sekunden.“ Doch was verkauft der Personal Trainer dir? Sind das „100m in 12 Sekunden“?
Schließlich: Was ist das Produkt eines Rechtsanwaltes? Du möchtest z.B. endlich das Geld von einer Versicherung bekommen und siehst dafür nur den Rechtsweg. Die Auszahlung verkauft dir der Rechtsanwalt allerdings nicht. Was aber dann? Einen bestimmten Ausgang des Rechtsstreits? Kaum.
Ich sehe da einen deutlichen Unterschied in der Art der Produkte zwischen Bäcker/Friseur/Busfahrer einerseits und Arzt/Bauarchitekt/Personal Trainer/Rechtsanwalt andererseits.
Off-the-shelf Produkte
Die erste Gruppe hat off-the-shelf Produkte im Angebot. Diese Produkte sind im Wesentlichen definiert, schon bevor du von dem Angebot Gebrauch machen willst. Allemal ist der Variationsrahmen bei diesen Produkten gering, selbst beim Friseur, der sich auf deine Kopfform und deine Haare einstellen muss.
Bei off-the-shelf Produkten kannst du das Produkt aussuchen, in dem du darauf zeigst oder sagst „So und so soll es sein!“ und dann ist alles klar, dann wird das Produkt ausgehändigt oder einfach hergestellt. Fertig.
Off-the-shelf Produkte sind im Wesentlichen Kopien. Jede weitere Produktinstanz ist zu einem großen Teil wie schon viele andere vor ihr.
Custom-made Produkte
Die zweite Gruppe Anbieter zeichnet sich dadurch aus, dass sie nicht off-the-shelf anbietet, sondern custom-made. Ihre Produkte sind ganz individuell auf dich als Kunde zugeschnitten. Da mag es auch Ähnlichkeiten geben zwischen dem, was du willst und was andere wollen, doch die stehen nicht im Vordergrund.
Allerdings möchte ich diese Produkte eigentlich nicht custom-made nennen, weil das zu wenig betont, was da eigentlich wirklich verkauft wird. Es ist eben nicht ein bestimmtes Endresultat, so individuell das aussehen mag.
Klar, am Ende willst du gesünder gar gesund sein oder einen Bauplan haben oder das Geld von der Versicherung bekommen. Doch das zu erreichen ist nicht das zentrale Produktversprechen von Arzt, Bauarchitekt, Rechtsanwalt.
Ein Personal Trainer kann dir nicht garantieren, dass du es schaffen wirst, die 100m in 12 Sekunden zu laufen. Ebenso wird dir auch kein Rechtsanwalt den Gewinn eines Rechtsstreits garantieren. Ebenso wird dir kein Arzt garantieren, dass du wieder gesund wirst.
All diese Anbieter verkaufen dir etwas anderes. Was die Anbieter von custom-made Produkten dir verkaufen ist: Zeit.
Im Grunde geschieht das auch bei off-the-shelf Produkten, doch bei custom-made Produkten ist es deutlicher. Du gibst als Kunde Geld für die Zeit der Anbieter aus.
Das Geld ist dir weniger wert als deine eigene Zeit. Wäre das nicht der Fall, würdest du selbst die Zeit investieren, um Brot zu backen oder Jura zu studieren und den Rechtsstreit auszufechten.
Doch du hast die Zeit nicht oder willst sie nicht haben, um die Expertise, für die die Anbieter stehen, selbst aufzubauen. Also zahlst du dafür, dass sie einen Teil ihrer Zeit dir widmen.
Die erste Kompetenz des Zeit-Anbieters
Der zentrale Punkt hier ist wirklich, dass das wahre Produkt hinter custom-made Zeit ist. Es ist nicht Gesundheit oder Versicherungszahlung, sondern die Zeit eines anderen Menschen.
Das bedeutet, es ist auch nicht die Fachexpertise des Menschen. Die lässt dich zwar den einen Menschen statt eines anderen auswählen – du gehst zum Arzt und nicht zum Juristen, wenn du ein gesundheitliches Problem hast –, doch nach der Auswahl zahlst du für Zeit.
Auf die Fachexpertise zu schauen ist schon eine Optimierung in Bezug auf den zeitlichen Aufwand, den du bereit bist zu zahlen.
Dabei ist es auch egal, ob der Preis fix ist oder nach tatsächlich eingesetzter Zeitmenge berechnet wird. Du kaufst in jedem Fall Zeit.
Wenn du das nur für den Moment einmal wirklich annimmst, was erwartest du dann vom Anbieter für eine Kompetenz? Was ist das Wichtigste, das er leisten können muss? Worin sollte er Profi sein, damit du für dein Geld viel Gegenwert erhältst?
Fokussierung!
Genau, der Zeit-Anbieter – von Arzt bis Rechtsanwalt – muss zu allererst ein Meister der Fokussierung sein. Er muss in der Zeit, die er dir verkauft, maximal auf die Lösung deines Problems konzentriert sein.
Abweichungen vom Wesentlichen, Umwege und Verzögerungen aller Art, Wiederholungen z.B. durch Nacharbeiten wegen schlechter Qualität… das alles sind Verschwendungen, die es zu vermeiden gilt.
Verschwendung ist das Gegenteil von Fokus.
Die Qualität eines Zeit-Anbieters macht also zu allererst seine Fähigkeit zur Vermeidung von Verschwendung aus. Die Zeit, die er dir verkauft, soll maximal fokussiert sein auf die Erreichung deines Ziels. Dazu wirft der Anbieter natürlich all seine Expertise in die Waagschale, doch vor allem beherrscht er die Kunst des Zeitmanagements und der „schlanken Arbeit“ (lean production).
Und was ist dann das Ergebnis solch fokussierter Zeit? Das Bestmögliche!
Mehr geht einfach nicht. Wer bei gegebener aufgewandter Zeit maximal fokussiert Expertise anwendet, kann nicht mehr und nicht besser liefern.
Vom „Meister des Fokussierens“ bekommst du immer das Menschenmögliche. Nicht mehr, nicht weniger. Dort ist dein Geld am besten eingesetzt.
Softwareentwicklung beurteilen
Was bedeutet das für die Softwareentwicklung? Oder besser: Was bedeutet das für den Kunden von Softwareentwicklung?
Der Kunde muss zunächst verstehen, dass Softwareentwicklung keine off-the-shelf Produkte anbietet. Wer Software beauftragt, bekommt immer eine custom-made Lösung. Das bedeutet, Softwareentwicklung verkauft keinen Code, sondern Zeit.
Daraus folgt, dass die erste Frage an Softwareentwicklung nicht lautet, ob sie in der Sache kompetent sei. Beherrscht ein Team die nötigen Technologien oder kennt es sich mit der Problemdomäne aus? Das ist interessant - muss aber nicht gefragt werden.
Die erste Frage lautet vielmehr: Wie stellt die Softwareentwicklung sicher, dass sie maximal fokussiert arbeitet?
Auf diese Frage antwortet die Softwareentwicklung dann ganz natürlich zunächst mit der Beteuerung ihrer technischen und inhaltlichen Kompetenz. Wer nicht kompetent ist, verschwendet nämlich Zeit mit Verständnisaufbau bei Technologien und Domäne.
Doch solche Kompetenz ist nicht alles. Vor allem, weil sie immer weit unter 100% liegt. Es gibt immer etwas zu lernen in punkto Technologien, aber vor allem in Bezug auf die Anforderungen und die Domäne.
Deshalb muss die Antwort der Softwareentwicklung darüber hinaus ganz schnell klar machen, welche Lernstrategie sie hat. Wie stellt sie sicher, dass Lernen stattfindet, so dass Verschwendung minimiert wird? Je länger das Projekt, desto wichtiger dabei auch die langfristige Lernstrategie. „Learning by doing“ ist keine Antwort, die Vertrauen einflößt.
Und wenn schon von Strategie die Rede ist, dann gehört zu einer Antwort ebenfalls, wie sichergestellt wird, dass die Strategie eingehalten wird. Was sind also die unterliegenden Normen, was ist unverbrüchlich?
Damit wird an der Autonomie von Softwareentwicklung gerührt. Nur wenn die nämlich hoch in Bezug auf Normen und Strategien ist, kann angenommen werden, dass eine Hoheit über das verkaufte Gut Zeit besteht.
Umgekehrt bedeutet es: Wo die Zeithoheit schwach ist, ist die Autonomie schwach und damit jede Beteuerung irgendwelcher Strategien fadenscheinig. Es ist mithin nicht zu erwarten, dass du als Kunde viel Wert aus der bezahlten Zeit herausbekommst.
Symptome für fehlende Zeithoheit und fehlende Normen bzw. Normen, die für dich als Kunde kontraproduktiv sind: Multitasking, Bereitschaft zu Unterbrechungen, Unzuverlässigkeit im Kleinen wie im Großen.
Darauf ist zu schauen, wenn Softwareentwicklung beurteilt werden soll. Die erste Fähigkeit geldwerter Softwareentwicklung ist also „gets things done“, wie Joel Spolsky es ausdrückt. Denn um verlässlich etwas zu schaffen, um zu fokussieren und um kontinuierlich Fortschritte zu liefern, braucht es gnadenlose Zeitdisziplin.
Da sehe ich auch eine vornehme Aufgabe von Führung. Gute Führung sorgt dafür, dass Fokus entsteht. Sie leitet an, verlässlich zu arbeiten, also nur solche Versprechen einzugehen, die gehalten werden können - und dann auch gehalten werden. Sie hilft, Verschwendungen jeder Art zu erkennen und zu beseitigen. Und ansonsten zieht sie sich zurück - denn sonst droht, dass auch gut gemeinte Führung selbst zur Verschwendung beiträgt.
Schlussfolgerung
Wenn du meinem Gedankengang gefolgt bist und ihm etwas abgewinnen kannst, dann sollte das für dich Konsequenzen haben:
- Als Kunde der Softwareentwicklung fordere von ihr fokussierte Arbeit. Dafür bezahlst du Geld. Was fokussierte Arbeit an Software liefert, ist das Beste, was du bekommen kannst. Sobald du etwas anderes als Fokus forderst, verbrennst du Geld.
- Als Softwareentwickler tue alles dafür, dich bei deiner Arbeit zu fokussieren. So dienst du dem Kunden und auch dem Code am besten. Sei sensibel für Verschwendungen jeder Art – Abweichungen, Verzögerungen, Wiederholungen – und beobachte, wo Konflikte während der Arbeit entstehen.
- Als Führungskraft in der Softwareentwicklung sei der Promotor von Fokus. Unterstütze Entwickler darin, ihre Zeit zu fokussieren. Stelle dich in den Weg von Unterbrechungen und Multitasking, fördere (und fordere) Lernen auf allen Ebenen, um Kompetenz und Systematik zu verbessern.