Ein Plädoyer für die Einbindung externer Expertise in Softwareprojekten.
Ein Gastartikel von Marcel Müller
Software-Entwicklung besteht längst nicht mehr nur aus den Aktivitäten im Bereich Informatik, die der Erstellung, Gestaltung, Bereitstellung und Unterstützung von Software dienen.
Gute Software-Entwicklung ist Leidenschaft. Gute Software-Entwicklung ist Kunst.
Table of Contents
Perspektiven & Spezialisierungen
Man kann Software immer aus verschiedenen Perspektiven entwickeln und bewerten.
Der Fokus kann marktgesteuert sein, das Produkt kann den Fokus vorgeben, der Kunde oder die Marke. Schlussendlich ist aber vor allem auch der Benutzer der Software im Zentrum des Interesses.
Im Laufe der Zeit hat sich die Software-Entwicklung weltweit rasant entwickelt und neben verschiedenen neuen Methoden gibt es zahlreiche Spezialisierungen in den Tätigkeitsfeldern Design, Frontend, Backend oder DevOps.
Es gibt ihn eigentlich kaum noch, den einen Programmierer, der alles macht.
Neben der Forschung an Universitäten und Instituten treiben neben großen Technologie-Firmen auch Firmen mit eigenen Produkten, Händler, Agenturen oder Freelancer die Entwicklung voran.
Dank großartiger Open-Source-Software können Aufwände verteilt werden und sich die Entwickler darauf spezialisieren, die Software zu verbessern anstatt wie früher mit viel Aufwand Content-Management-Systeme oder APIs zu bauen.
Die Wahl der passenden Technologien ist aufwändiger geworden, aber die Umsetzung und die Ergebnisse dafür umso professioneller.
Vor allem die interdisziplinäre Zusammenarbeit zwischen Kerngeschäft, Konzept, Design, Usability, Entwicklung, Testing, Operations, Marketing und Kunden-Support ist auf der einen Seite herausfordernd in Sachen Organisation und Kommunikation, schafft auf der anderen Seite aber perfekt abgestimmte Ergebnisse.
Abhängigkeiten & Overhead
Während man früher noch Baukastensysteme wie WordPress, Typo3 oder Shopware von der Stange gekauft hat, gibt es heute kluge Teams, die „from Scratch“ individuelle, maßgeschneiderte Software, erweiterbar nach Kundenwunsch mit ausgewählten Technologien und Software-As-A-Service Providern passende Produkte entwickeln.
Echte Software Entwicklung also statt komplexer Administrationsoberflächen und eingeschränkter Optimierungsmöglichkeiten mit Plugin-Systemen.
So bauen wir in Zukunft also keine Monolithen mehr auf Basis von Software, die alle handelsüblichen Content-Management-Funktionen hat, aber nur notdürftig ein Shop sein kann, oder im Umkehrschluss zahlreiche Shop Funktionen hat, aber nur notdürftig ein Content-Management-System ist.
Wir konzentrieren uns auf die USPs und Features, die der Kunde wirklich braucht.
Wir minimieren stets den Overhead, um die Wartungskosten zu reduzieren.
Es scheint auf den ersten Blick günstiger, eine Library zu installieren, ist es aber nicht.
Jede – vor allem externe – Zeile Code bedeutet ein Stück weit Abhängigkeit. Updates müssen häufiger gemacht werden und Bugs sind schwerer oder gar nicht ohne ein Refactoring zu beheben. Auch hier gilt also wie so häufig: it depends.
Strategien
Um maßgeschneiderte Software zu entwickeln und die richtigen Entscheidungen aus allen Perspektiven zu erhalten, benötigt es neben Erfahrung im ersten Schritt vor allem sehr gute Strategien.
Die Konzepte müssen auf Basis von exakten Business Requirements entwickelt werden, eingepasst in die technologische Umgebung und den Anforderungen aus dem Design gerecht werden.
Nebenher braucht es Instrumente für die Qualitätskontrolle, zum Testen, für den Kundensupport und für das Marketing. Nebenschauplätze wie Social Media und SEO werden schnell unübersichtlich und selbst dafür gibt es mittlerweile Unternehmen, die sich nur in diesen Bereichen spezialisiert haben und zuarbeiten.
In dieser Komplexität scheint es nur sinnvoll, diese Aufgaben Experten zu überlassen. Zu schnell ändern sich Tools, SDKs, Libraries, Frameworks oder sogar Programmiersprachen.
Zudem wird es stets komplexer in jedem Bereich. Im Design waren es in den letzten Jahren Design-Systeme, die sich etabliert haben, im Frontend Animationen und Headless Technologien und im Backend fallen Buzzwords wie KI oder Blockchain.
Zudem sind die Benutzer von Software durch Apps heutzutage sehr verwöhnt. Wenn eine Funktion in UI, UX oder gar funktionell nicht passt, spricht sich das heutzutage im Internet schnell herum. Falsche Priorität oder schlechte Qualität können schnell das Ende für ein Startup oder gar etabliertes Unternehmen bedeuten.
Doch obwohl das alles nicht neu ist, verhalten sich viele Firmen immer noch anders. Oft wird versucht, die Arbeit spezialisierter Bereiche stiefmütterlich selbst zu erledigen.
Generell scheint sich in vielen Bereichen wie Design und Frontend eine Überheblichkeit entwickelt zu haben, den Experten nicht mehr zu vertrauen. Warum ist das schlecht?
Wenn ich mit einer Frage zu einem Facharzt gehe, sollte ich auf den Rat des Experten hören.
Wenn ich mir wirklich nicht sicher bin, ob es ein Experte ist, dann hole ich mir ggf. als unsicherer Mensch noch eine Zweitmeinung ein.
Was ich aber auf keinen Fall in Betracht ziehen sollte ist, die Ergebnisse aus der eigenen Recherche als besser zu bewerten.
Was neuerdings als Cyberchondrie bezeichnet wird, also das krankhafte Googlen nach Symptomen, kann auch in der IT zur Gefahr werden, wenn man versucht, immer alle Probleme selbst zu lösen. In der IT passiert das leider aber immer noch sehr oft.
Zu Themen wie Funktionsumfang, Design und Usability hat natürlich jeder eine Meinung und das ist auch gut so, denn diese Meinung wird in Business Requirements und User-Tests auf die Probe gestellt.
Dadurch ergibt sich ein auf Evidenz basierendes Zielbild, das eben nicht subjektiv nach Gefühl entschieden wurde.
Doch trotz alledem vergleichen wir sehr oft. Doch nur weil ein Konkurrent ein Feature entwickelt hat, muss es nicht zwingend so sein, dass dieses Feature für unsere Zielgruppe notwendig ist oder gar funktioniert.
Strategie ist hier ein wichtiges Schlagwort. Nur ein einziger USP im Leitbild des Unternehmens kann dafür sorgen, dass ein komplettes Feature nicht nur sinnlos ist, sondern dem gesamten Unternehmen schaden kann.
Gerade wenn man sich einen Purpose wie Nachhaltigkeit auf die Brust schreibt, kann das schnell nach hinten losgehen. Es gibt nicht umsonst bei sehr großen Unternehmen bereits Personen, die tagtäglich nur danach schauen, dass die Unternehmenswerte eingehalten werden.
In vielen Bereichen wie Security ist es klar, dass dieses Thema für Firmen wie Google oder Apple existenznotwendig ist. Aber gerade Apple hat auch mit dem iPhone bewiesen, wie wichtig Markenentwicklung, Design und Usability für den Erfolg eines Konzerns sind.
Und auch Apple entscheidet oft über die Köpfe der Benutzer hinweg, was die beste Lösung für die Zukunft ist.
Software zu entwickeln und zu betreuen ist also anspruchsvoller geworden, die Software selbst ist aber einfacher geworden. Klingt paradox! Früher war – oder als Spezialist ist – man es gewohnt, in tiefen Menüstrukturen eine Funktion wiederzufinden.
Gerade Microsoft ist mit Windows und Office dadurch erfolgreich geworden und viele Expertenprogramme im Bereich Design, Musikproduktion oder CAD funktionieren so. Die meisten B2C-Kunden und selbst viele B2B-Kunden sind damit aber heutzutage überfordert und erwarten einfache Lösungen wie sie es von ihren Apps kennen, die in den letzten Jahrzehnten geschaffen wurden.
Auch hier hat man oft nicht mehr nur noch eine Software, die zahlreiche Probleme löst, sondern mehrere Tools die jeweils genau ein Problem sehr gut lösen. Genau wie bei Design, Musik und Kunst ist hier auch oft die Prämisse: Weniger ist mehr.
Teamwork & Long game
Das Stichwort ist also nach wie vor „Perspektive“. Auch Vielfalt spielt hier eine große Rolle. Einfach gesagt:
Team work makes the dream work.
Um Qualität umzusetzen, braucht es interdisziplinäre Experten.
So kümmert sich eine Gruppe um das Geschäftsmodell, gemeinsam kümmert man sich um das Produkt und ein Software-Team um die Software-Entwicklung.
Andere Bereich wie Kundensupport, Lager, Marketing finden Gehör und bringen sich thematisch in die Feature-Entwicklung mit ein.
Dieser demokratische Prozess führt mithilfe von guter Organisation und Kommunikation häufig zu exzellenten Ergebnissen.
Man kann sich auf die Themen konzentrieren, die gerade wirklich wichtig sind.
Natürlich gibt es in der Realität immer unternehmerische Phasen, in denen dieser demokratische Prozess temporär nicht beibehalten werden kann. Jedoch sollte man sich immer bewusst sein, dass das reine Betrachten von Einnahmen und Ausgaben oftmals das Unternehmensziel verfälscht. Viele Startups beweisen es, in dem sie in den ersten Jahren nur rote Zahlen schreiben und dann erfolgreich werden.
Man muss investieren und man sollte es auch, denn gerade in der IT ist der Veränderungsprozess sowohl der Nutzer als auch der Technologien rasant. Es bietet sich daher an, mutig zu sein und auch in Themen zu investieren, die erst mal keinen kurzfristigen, aber vor allem einen nachhaltigen Wert schaffen.
Schließlich funktionieren Menschen so. Oder erinnert sich einer noch an kurzfristige Freundschaften oder Geschäftsbeziehungen? Auch hier sind es die langjährigen, verändernden Kontakte, die uns positiv im Gedächtnis bleiben.
Fazit
Abschließend bleibt zu sagen, dass gerade in Deutschland immer viel gemeckert wird, dass wir in der Digitalisierung so abgeschlagen sind im internationalen Vergleich.
Das stimmt auch und kann man zu Recht kritisieren. Aber es liegt an uns allen, wie wir miteinander arbeiten und wie wir uns vertrauen. Egal wie groß oder klein eine Firma ist, egal wie alt oder neu das Thema.
Egal ob Politik, Forschung oder Wirtschaft. Man kann Großes gemeinsam schaffen, wenn man offen und mutig ist. Lasst uns also auch in Zukunft reden und gemeinsam einen tollen Mix aus unterschiedlichen Perspektiven erstellen.
Über den Autor
Marcel Müller ist seit 8 Jahren Lead Frontend-Engineer bei der Zweischneider GmbH in Wiesbaden.
Ihr findet mehr Infos über ihn unter https://www.marcelmueller.de