Kundenspezifische Software zu entwickeln, ist kostspielig, kompliziert und manchmal mit Emotionen verbunden. Ein gelungenes Projekt muss einer genauen Linie folgen, um alle Herausforderungen wie Kosten, Timing, Zweck, User-Bedürfnisse, technische Einschränkungen, Instandhaltbarkeit, Erweiterungsmöglichkeit und betriebliche Belange erfolgreich zu meistern.
Die Idee für ein Produkt ist erst der Anfang. Um erfolgreich zu sein, braucht man ein gutes Auge für das Wichtige, die Bereitschaft das Äußerste zu geben und es bedarf sorgfältiger Planung. Diese Sammlung an Eigenschaften fassen wir unter dem Begriff „Ownership annehmen“ zusammen – d.h. alle Kraft in den Erfolg unserer Projekte zu investieren.
Auffassung von Erfolg
Die Softwaregestaltung und -entwicklung erfordert große und viele kleine Entscheidungen. Alle involvierten Parteien müssen große Entscheidungen mittragen. Die vielen kleinen Entscheidungen können nicht umfassend diskutiert werden, da die Kosten einfach zu hoch sind.
Es ist also entscheidend, dass jeder im Team mit einem tiefem Verständnis für das Geschäft, die Ziele und operativen Bedürfnisse unserer Kunden handelt. Genau wie ein Schneider den Kunden nicht wegen jedem Schnitt und Nadelstich bei der Maßanfertigung eines Kleidungsstücks fragen sollte, muss ein erfahrenes Team genau wissen, was wichtig für das Geschäft ist, um effizient und effektiv zu arbeiten.
Dies hat Auswirkungen auf alle Bereiche unserer Arbeit.
Eine B2C App muss eine hochpolierte App mit schönem Nutzererlebnis sein. Ein B2B Produkt gewinnt jedoch wahrscheinlich an Wert durch zweckmäßiges Design und ein paar zusätzliche Funktionen. Unser Team entwickelt Software, die nicht nur nutzerfreundlich ist, sondern auch den Ansprüchen unserer Kunden, deren Kunden und Softwarenutzern genügt. In der realen Welt bedeutet dies ein vorsichtiger Kompromiss.
Viele Entwickler sind nur darauf fokussiert, ein Programm zu schreiben. Es funktioniert, aber das Programmdesign erleichtert einige Änderungen und erschwert andere. Ein Entwickler, der die „Ownership annimmt” ist sich dessen bewusst und strukturiert das Programm, so dass es sich nach den Geschäftsgegebenheiten ihrer Kunden richtet. Was ist zuverlässig und was nicht? Was bedarf einer Iteration, nachdem es auf dem Markt getestet wurde? Welche Langzeitvision gibt es und wo führt der Wettbewerb hin? „Die Ownership annehmen“ bedeutet für einen Entwickler, vorsichtige Entscheidungen zu treffen, um die Kosten für mögliche Änderungen zu minimieren. Zur gleichen Zeit macht man sich das zu Nutze, was zuverlässig die Kosten senkt und die Lieferung beschleunigt. Ein erfolgreiches Produkt erreicht nicht nur die gesteckten Ziele, sondern ebnet den Weg für zukünftigen Erfolg.
In den meisten Unternehmen gibt es nicht nur einen Stakeholder. Die meisten Projekte erfordern den Einsatz mehrerer Stakeholder, jeder mit eigenen Vorstellungen, die ins Gleichgewicht mit allen anderen gebracht werden müssen. „Die Ownership annehmen“ bedeutet, auf ein fundiertes Wissen über die Ziele und das Geschäftsmodell der Kunden zurückzugreifen, um einen Mittelweg zwischen konkurrierenden, manchmal widersprüchlichen Interessen und den unüberwindbaren Grenzen des Projekts zu finden – diese sind zumindest immer eine Kombination aus Budget und Zeit.
Ein Projekt ist nicht nur Mittel zum Zweck, sondern ein Prozess, der Überraschungen, Entdeckungen und externe Verantwortung beinhaltet. Unsere Teams sind sich dessen bewusst und begleiten Projekte, auch wenn es ihnen einiges abverlangt.
Manche Projekte sind überschaubar. Obwohl wir versuchen, Todesmärsche durch sorgfältiges Planen zu vermeiden, sind lange Nächte und Wochenenden manchmal unausweichlich, um die Fertigstellung eines Prototyps für eine Messe zu gewährleisten. „Die Ownership annehmen“ heißt, manchmal Opfer für den Erfolg zu bringen.
Andere Projekte sind ungewöhnlicher. Unsere Kunden sind normalerweise keine Softwareexperten mit tiefem Verständnis für Programmdesign und Nutzererlebnis – sie sind Vermarkter, Verkaufspersonal, Geschäftsführer und Unternehmer. Um Kunden, Manager und Investoren zufrieden zu stellen, ist eine umsichtige Kommunikation notwendig. In manchen Fällen hat nur das Team ausreichend Wissen, um ein klares Bild zu kreieren. Ein Entwickler, der Marketingmaterial erstellt? Ein Projektmanager, der eine Produktidee einem Vertriebsleiter vorstellt? „Die Ownership annehmen“ heißt manchmal außerhalb der persönlichen Komfortzone zu arbeiten.
Und manchmal bedeutet das Äußerste geben, undankbare Tätigkeiten oder das Alltägliche zu verrichten, wenn kein anderer dazu bereit oder in der Lage ist. Daten müssen bereinigt und mit Querverweisen versehen werden. Die Rechtschreibung muss überprüft werden. Unsere erfahrenen Teams boxen sich durch die Arbeit, die mit den verfügbaren Ressourcen erledigt werden muss, auch wenn es nicht ihr Job ist oder zu Tätigkeiten unterhalb ihrer Gehaltsklasse gehört. „Die Ownership annehmen“ bedeutet, auf Details zu achten, um exzellente Software zu liefern, dem Kunden eine großartige Projekterfahrung zu bieten oder die Marke deines Kunden mit Sorgfalt und Respekt zu repräsentieren.
Das Erstellen eines Softwareproduktes beinhaltet mehr als nur Vorlaufkosten. Langfristige Überlegungen sind entscheidend. Die erwartete Lebensdauer einer Anwendung hat direkte Auswirkungen auf die Balance zwischen Zweckmäßigkeit und Instandhaltbarkeit. Fortschrittliche, neue Technologien reduzieren wahrscheinlich die Implementierungskosten im Voraus, senken die Fehlerquote und vereinfachen die Instandhaltung und Erweiterung eines Produktes – aber wie harmonisieren sie mit dem bestehenden IT Personal und der Kultur eines Unternehmens und bestehen mögliche Risiken bezüglich langfristiger Lizenzierung und Unterstützung? Langfristige Überlegungen müssen das detaillierte Design und die Einführung eines Produktes prägen.
Andererseits sollte nicht jede Software mit nachhaltigem Wert entwickelt werden. Ein Minimalprodukt, das schnell auf den Markt gebracht werden muss, um einen Wettbewerbsvorteil zu erlangen, hat andere Erfolgsparameter als ein technisches System, das das Basisnetz eines Unternehmens für absehbare Zeit sein wird. In manchen Fällen hängt der langfristige Wert nicht von der Software selbst ab, sondern von der Marktposition oder dem kurzfristigen Problem, das es löst.
„Die Ownership annehmen“ bedeutet zu erkennen, dass es keinen einheitlichen Prozess für die Erstellung von Software gibt. Jedes Projekt muss in Abhängigkeit der Kundenbedürfnisse und deren Geschäftsgegebenheiten durchgeführt werden. Dazu gehört den Prozess, die Qualitätsmetriken und das Design richtig abzustimmen, um nicht nur die Ziele dieser Arbeit zu erreichen, sondern um unseren Kunden insgesamt bestmöglich und nachhaltig zu positionieren.