Anatomie der Softwarerevolution

08. Jan 2019

Alexander Troy

7 Min.

Anatomie eines Softwareprojektes

Software übernimmt die Weltherrschaft und wir verraten euch, wie ihr Teil der neuen Weltordnung werdet.

„Companies in every industry need to assume that a software revolution is coming.“ Diesen Satz gab der Risikokapitalgeber Marc Andreessen im Jahr 2011 von sich. Die Frage, ob er damit recht hat, können Taxiunternehmen, Reisebüros, Hotels oder Videotheken ziemlich sicher beantworten.

Die Erkenntnis, wie richtig Andreessen mit dieser Aussage lag, scheint mittlerweile im kollektiven Bewusstsein der Wirtschaft angekommen zu sein. Vorträge zum Thema „Digitalisierung“ sind heutzutage so häufig wie Talk-Shows im Nachmittagsfernsehen der 1990er Jahre. Das bedeutet, wenn ihr es nicht schon tut, dann werdet ihr euch bald mit Softwareentwicklung beschäftigen, und dabei können wir ein, zwei Worte mitreden.

Da der erste Schritt bekannterweise der schwerste ist, werden wir in diesem Beitrag den Start-Prozess eines Software-Projektes entmystifizieren. Wir geben euch Einblick in den Workflow, durch den ein gutes Software-Projekt zustande kommt.

Software is eating the world – Marc Andreessen

1. Projektdefinition und Budgetierung

Fusonic hat keine Sales-Abteilung. Das bedeutet, dass in der Regel unsere Kunden auf uns zukommen. Manche von ihnen haben schon eine mehr oder weniger konkrete Vorstellung ihrer Wunsch-Software dabei, doch der überwiegende Großteil hat lediglich ein Problem, das gelöst werden muss.

Dazu findet zunächst ein Workshop statt, um die Detailfragen des Projektes gemeinsam auszuarbeiten. Dabei sitzen keine Verkäufer, sondern Software-, Design- und Projektmanagement-Experten am Tisch, die dutzende Software-Projekte geplant und erfolgreich umgesetzt haben. Während dieses Workshops wollen wir ein gutes Verständnis für eure Branche, den Umfang und vor allem den Zweck des Projektes erhalten. Außerdem versuchen wir, wertvolle Beratungsaspekte mit einzubringen.

Von da an geht es in die Budgetschätzung. Gemeinsam definieren wir ein MVP und vereinbaren gemeinsam mit euch ein Budget, welches das Projekt zum Erfolg führt.

2. Die drei Projekthebel

Da ein Software-Projekt über einen längeren Zeitraum läuft, hat es – wie jedes langfristige Projekt – drei „Hebel“, über die man Einfluss auf den Projekt-Output nehmen kann. Wir sind überzeugt davon, dass es wichtig ist, zwei dieser Hebel niemals anzufassen.

  • Hebel 1: Qualität

    Man könnte beispielsweise am Qualitätshebel ziehen, indem weniger automatisierte Tests, weniger manuelle Tests, weniger Code Reviews, usw. gemacht werden. Das würde zwar kurzfristig Zeit sparen, aber wir weigern uns das zu tun. Denn auf lange Sicht wäre das äußerst schädlich für eine wartbare Software. Dadurch müsste die zuvor eingesparte Zeit in vielfacher Menge zurückgezahlt werden.

  • Hebel 2: Budget

    Die zweite Möglichkeit ist der Geldhebel – fleißig Kapital nachschieben, bis es ausgeschöpft ist. Aber dann könnte man sich die Budgettierung gleich sparen. Das vereinbarte Budget gibt den Rahmen vor und unsere Aufgabe ist es, dafür zu sorgen, dass sich eure Investition lohnt.

  • Hebel 3: Projektgröße

    Bleibt also noch der letzte Hebel: die Skalierung. Wir helfen dabei, Releases phasenweise zu planen, damit sich der Return on Investment nach und nach testen lässt, ohne den ursprünglichen Budgetbereich überschreiten zu müssen.

3. Konkrete Vorstellung

Jedes unserer Projekte beginnt mit dem Design. Das ist überaus wichtig, um sicherzustellen, dass wir die richtige Software entwickeln. Schließlich wäre es ungünstig, Hunderttausende Euro auszugeben, nur um zu bemerken, dass die falsche Software gebaut wurde.

Jede Projekt beginnt mit dem Design

Doch wie entscheidet sich, was die richtige Software ist? Ganz einfach. Es ist die Schnittmenge aus den technischen Erfordernissen, den unternehmerischen Voraussetzungen und den Anforderungen der Nutzer. Diese wird in Kick-off-Workshops erarbeitet. Wir stellen Hypothesen über mögliche Ziele auf, erforschen potenzielle Nutzer und testen Theorien. Wir tauchen tief in euer Tagesgeschäft ein, um während des Projektes die richtigen Entscheidungen treffen zu können.

In dieser Phase investieren wir genug Zeit, um euch eine konkrete Vorstellung von Form und Funktionen der Software geben zu können.

4. Die agile Entwicklung

Sobald wir eine gute Vorstellung vom gewünschten Ergebnis haben, können wir anfangen, Software zu machen! Bei Fusonic ist unser Software-Entwicklungsprozess das Ergebnis einer kumulativen Software-Erfahrung von 211 Jahren. Aufbauend auf dieser haben wir unseren eigenen Ansatz der agilen Softwareentwicklung geschaffen – mit eigenen Tools, Zuständigkeiten und Meetings.

Der für euch wichtigste Bestandteil unseres Workflows sind die Sprints. Das sind sich wiederholende Zeitrahmen, in denen an konkreten Features gearbeitet wird, die zusammengenommen letzten Endes die Software ergeben. Die Länge dieser Sprints ist projektabhängig und wird gemeinsam mit euch bestimmt.

Die für euch wichtigste Person in diesem Workflow ist der Projektmanager oder die Projektmanagerin. Sie haben drei wichtige Aufgaben:

  1. Dafür zu sorgen, dass das Team jederzeit alles hat und weiß, was es benötigt, um Fortschritte zu machen.
  2. Sicherzustellen, dass eure Prioritäten auch von unserem Team übernommen werden.
  3. Euch laufend über den Projektstatus zu informieren.

Nach einigen Sprints lässt sich das Momentum des Projektes messen. Anhand dessen kann das Projektmanagement einschätzen, wie lange das Projekt tatsächlich dauern wird. Diese Prognosen werden transparent mit euch geteilt. Wir glauben, dass dies ein wichtiger Bestandteil effektiver, agiler Projektplanung ist. Je mehr Sprints abgeschlossen werden, umso genauere Vorhersagen können getroffen werden.

5. Make Meetings matter

Wir verbringen sehr gerne Zeit mit euch. Was wir nicht gerne tun, ist eure Zeit zu verschwenden. Deswegen legen wir Wert darauf, Meetings relevant zu halten. Vor allem Abschlüsse größerer Sprints bieten sich an, um alle up-to-date zu halten und die zukünftigen Sprints zu planen. So ist sichergestellt, dass nie die Übersicht verloren geht, bis das Projekt vollendet ist.

Make Meetings matter

Eure eigene Software-Revolution

Wie anfangs erwähnt, werdet ihr wahrscheinlich nicht darum herumkommen, euch früher oder später mit Software-Entwicklung zu beschäftigen. Es ist verständlich, dass es da für viele Unternehmen sinnvoller erscheint, ihre eigenen Software-Teams zusammenzustellen. Wenn man nur den Stundensatz eines externen Partners mit dem Stundensatz der eigenen Mitarbeiter vergleicht, scheint das eine lohnenswerte Investition zu sein. Was bei diesem Vergleich fehlt, sind die Kosten für die Gewinnung, Einstellung und Verwaltung von Mitarbeitern.

Ein funktionierendes, effektives Team aus Software-Entwicklern von Grund auf aufzubauen, ist eine große Herausforderung – mit einem hohen Risiko zu scheitern. Zieht man diesen Umstand in Betracht, erschließen sich die Vorteile eines verlässlichen, langfristigen Partners.

Natürlich können Unternehmen, die auf Software angewiesen sind, nicht ihre gesamte Entwicklung auslagern. Daher helfen wir auch dabei, interne Software-Projekte auf Schiene zu bringen. Wir binden eure Entwickler in unser Team ein, während wir das Fundament der Software schaffen. Dadurch ist sichergestellt, dass sie mit der Codebasis vertraut sind. Dieser hybride Ansatz ermöglicht euch, von unserer Erfahrung zu profitieren, eigenes Software-Know-how aufzubauen und dadurch euch und euer Geschäftsmodell stetig weiterzuentwickeln. Wir genießen solche langjährigen Partnerschaften in denen man gemeinsam wächst, gemeinsam neue Ideen entwickelt und gemeinsam Erfolge feiert.

Wie fast alle Partnerschaften, beginnen auch diese mit einem ersten Anruf. Doch bei diesem ist es nicht nötig drei Tage zu warten – wir freuen uns jetzt schon auf euch.