Vom ersten Gespräch bis zur fertigen Software

Thomas Hiebl
Sonntag, 22. Dezember 2019

Als Entwickler von Individualsoftware setzen wir in der Praxis in der Regel dort an, wo es entweder noch keine Standard-Tools gibt oder Lizenzkosten nicht wirtschaftlich wären und schaffen gemeinsam mit unseren Kunden die perfekte, maßgeschneiderte Lösung für das jeweilige Problem. Doch wie funktioniert das eigentlich? Ich möchte in diesem Artikel den Weg vom ersten Kontakt bis hin zur fertigen Software skizzieren.

Das erste Gespräch

In den meisten Fällen wird das erste Gespräch mit einem Mitglied unseres Vertriebsteams geführt. Dabei versuchen wir schon so gut wie möglich zu verstehen, welches Problem eigentlich zu lösen ist. In manchen Fällen können wir dabei schon von Projekten mit ähnlichen Problemstellungen bei anderen Kunden erzählen. Es kann auch sein, dass wir uns schon zutrauen, eine sehr grobe Größenordnung für den Umsetzungsaufwand aus vergleichbaren Projekten in der Vergangenheit zu nennen, damit sich der Kunde orientieren und bereits jetzt eine Entscheidung treffen kann, ob sein verfügbares Budget mit dieser Größenordnung vereinbar ist.

Handelt es sich um ein komplexeres Thema – was allerdings in den meisten Fällen zutrifft – wird man sich zu einer gemeinsamen Konzeptionsphase entschließen, in der die optimale Lösung für das Problem erarbeitet wird.

Die Konzeptionsphase

Ab diesem Zeitpunkt wird das Projekt an einen Projektleiter aus dem cubido-Team übergeben. Dieser steht für die gesamte Dauer der Konzeptions- und Umsetzungsphase als zentraler Ansprechpartner für alle das Projekt betreffenden Belange zur Verfügung.

Die Konzeption beginnt nun mit einem Workshop, bei dem die exakte Problemstellung analysiert sowie Lösungsmöglichkeiten erarbeitet werden. Je nach Art der Aufgabenstellung sowie technischen Schwerpunkten wird der Projektleiter für diesen Workshop noch einen Software-Architekten hinzuziehen.

Wichtig ist uns bei diesen Workshops, dass bereits zu diesem Zeitpunkt die späteren Benutzer der Lösung mit eingebunden werden. Nur so lässt sich mit Sicherheit herausfinden, wie die Benutzer in der Praxis ihre Arbeit optimal erledigen können und die spätere Lösung einen echten Mehrwert bietet.

Ja nach Komplexität der Problemstellung können solche Workshops von einem halben Tag bis zu mehreren Tagen dauern.

Das Konzept

Die Ergebnisse des Workshops dokumentieren wir in einem Grobkonzept. Die wichtigsten Punkte in einem solchen Konzept sind:

  • Die exakte Problemstellung: welches Problem soll gelöst werden? Was ist der Mehrwert der neuen Lösung?
  • Das Big Picture: wie fügt sich die angedachte Lösung in die aktuelle Systemarchitektur ein? Wo befinden sich Randsysteme und Systemgrenzen? Welche Systeme befinden sich in der Cloud bzw. On Premises?
  • Personas: welche Benutzergruppen gibt es in der Lösung?
  • User Stories: alle Funktionalitäten werden in Form von User Stories beschrieben, wobei jede User Story aus Sicht einer Persona formuliert wird.
  • Mockups/Wireframes: ergänzend zu den User Stories werden Mockups entworfen. Meist lässt sich erst mit der Kombination aus beiden Informationen begreifen, wie sich die spätere Lösung „anfühlen“ wird.
  • Rahmenbedingungen: bei jedem Kunden gibt es andere Rahmenbedingungen, die einen Einfluss auf die Lösung haben können. Dies können z.B. technische, rechtliche oder Konzernvorgaben sein. Wir versuchen möglichst alle relevanten Einflussfaktoren zu identifizieren und zu berücksichtigen.

Der Prozess der Konzepterstellung erfolgt in der Regel mittels mehrerer Feedback-Schleifen. Dies geschieht so lange, bis die perfekte Lösung für den Kunden gefunden wurde.

In den allermeisten Fällen ist diese Lösung (noch) nicht die eierlegende Wollmilchsau. Es bewährt sich, in der ersten Phase des Projekts mit einer möglichst einfachen Variante zu starten, die sich auf die allerwichtigsten Kernfunktionalitäten beschränkt (angelehnt an die Idee des „Minimum Viable Product“, kurz MVP). Denn trotz intensivster Konzeptionierungsarbeit erkennt man oft erst im Echtbetrieb, wie die Benutzer die Lösung verwenden und in welche Richtung die weitere Entwicklung gehen soll.

Schätzung und Angebot

Auf Basis des Konzepts kann das Team von cubido eine detaillierte Schätzung durchführen. Dabei wird von einem Schätzteam (meistens zwei Software-Architekten) bereits gedanklich die Lösung erschaffen, die einzelne User Stories im Detail durchbesprochen und der Aufwand für die Umsetzung geschätzt. Dieser Prozess ist sehr aufwändig, da die spätere Umsetzung schon sehr genau durchgedacht werden muss.

Der so ermittelte Aufwand wird dann vom Vertriebs-Team bewertet und resultiert in einem bepreisten Angebot. Natürlich ist auch das zuvor erstellte Konzept Teil des Angebotes.

Immer wieder sind wir mit der Thematik konfrontiert, dass wir mit Kunden gänzlich neue und innovative Lösungen erdenken, für die in der Praxis noch keine Erfahrungswerte existieren. Dies macht eine sinnvolle Aufwandschätzung sehr schwierig. In diesem Fall bieten wir unseren Kunden sogenannte Proof of Concepts (PoCs) an. Bei diesen wird die spezifische, hochkomplexe Aufgabe mit einem zuvor definierten Budget vorab (vor dem eigentlichen Projekt) untersucht und eine Lösung ausgearbeitet. Vorteil ist, dass man die Risiken in ein sehr kleines Vorprojekt mit überschaubarem Budget auslagert und auf Basis dieser Ergebnisse eine fundierte Entscheidung bezüglich des eigentlichen Projekts treffen kann.

Die Umsetzung

Wurde das Angebot vom Kunden bestellt, so planen wir Ressourcen für die Umsetzung ein. Dazu werden aus den drei Entwicklungsteams von cubido Teammitglieder mit den passenden Skillsets ausgewählt und mit dem Projektleiter zu einem Projektteam geformt. In der Regel sind die Teammitglieder, die bereits in der Konzeption und/oder Schätzung involviert waren, Teil des Projektteams. Der Projektleiter dient dem Kunden als zentraler Ansprechpartner für alle Arten von Themen.

Den Beginn des Projekts bildet ein gemeinsames Kickoff-Meeting mit allen Projektteilnehmern – sowohl die des Kunden – als auch die des cubido-Teams. Neben dem persönlichen Kennenlernen im Team dient dieser Kickoff dazu, das gemeinsame Projektziel nochmals zu verinnerlichen.

Die Umsetzung erfolgt dann in mehreren Iterationen/Teillieferungen, wobei die Priorisierung/Reihenfolge der Implementierung gemeinsam mit dem Kunden definiert wird. Diese agile Herangehensweise soll sicherstellen, dass der Kunde so früh wie möglich das (vorläufige) Endprodukt sehen und testen kann. Dies ist immens wichtig, da so sehr rasch Feedback gegeben werden kann, um im Zweifelsfall die weitere Vorgehensweise adaptieren zu können. Zusätzlich verschiebt sich nicht die ganze Testphase an das Ende des Projekts, was eigentlich immer zu Stress führt.

Es zeigt sich auch immer wieder, dass Software für viele Menschen so abstrakt ist, dass auch trotz einem perfekt aufbereiteten Konzept erst das Ausprobieren am „echten“ Produkt dazu führt, das die Benutzer begreifen wie die Lösung in der Praxis funktioniert.

Die Umsetzung wird dann in so vielen Iterationen weitergeführt, bis die Lösung dem vom Kunden erwarteten Ergebnis entspricht. Dabei wird auch laufend der Zeit- und Budgetplan im Auge behalten.

Der Go-Live

Nach einer finalen Test- und Abnahmephase kann die neue Lösung in den Echtbetrieb übergehen. Dabei bietet das cubido-Team Unterstützung, um einen reibungslosen Start zu ermöglichen. Auch Migrations-Themen (z.B. Übertragung von Daten vom alten ins neue System) werden dabei umgesetzt.

Abhängig vom Betriebsführungskonzept wird die Lösung dann von unserem Team weiterbetreut oder das Team des Kunden mit dem Betrieb vertraut gemacht.

Diese Phase endet mit dem gemeinsamen Projektabschluss. Dieser Abschluss wird auch gerne anstelle eines formellen Meetings z.B. in Form eines gemeinsamen Abendessens abgehalten. Unabhängig von der gewählten Form nutzen wir diesen Anlass zum Einholen von Feedback, um mit jedem Projekt für die Zukunft dazuzulernen.

Zurück zum Start

Erfahrungsgemäß ist eine Software niemals fertig. Und so wird manchmal früher, manchmal später auf Basis der Erfahrungen des nun laufenden Echtbetriebs die Konzeptionierung der nächsten Ausbaustufe der Lösung begonnen. Dieser Zyklus führt bei unseren Projekten in den allermeisten Fällen zu einer langfristigen Partnerschaft mit unseren Kunden, in denen wir die Lösung gemeinsam weiterentwickeln.

In unseren Referenzen können Sie ein paar Projekte nachlesen, die wir erfolgreich gemeinsam mit unseren Kunden umgesetzt haben.

Weitere Blogbeiträge

zum Thema Development

Updates for innovators: Abonnieren Sie unseren Blog