Der Weg zu Ihrer fertigen Software
Im Laufe der Jahre haben wir gelernt, welche Schritte man gehen muss, um ein Softwareprojekt erfolgreich abzuschließen. Hier erklären wir sie im Detail, damit Sie wissen, was Sie in der Zusammenarbeit mit uns erwarten dürfen!
1. Schritt im Softwareprojekt: Kontaktaufnahme
Der Startpunkt jedes Projekts ist Ihre Anfrage, die wir per E-Mail oder Telefon erhalten.
Das Team unserer Product Owners entscheidet gemeinsam, wer die Anfrage übernimmt. Für diese Entscheidung ist maßgeblich, wer Zeit und die (möglicherweise nötige) spezielle Expertise hat.
Was sind Product Owners?
Kurzer Einschub für alle, die sich jetzt fragen, was denn ein "Product Owner" ist: Der Begriff "Product Owner" stammt aus Scrum, einem bekannten Vertreter des agilen Projektmanagements.
Product Owners sind die internen Stellvertreter:innen des Kunden in unserem Team. Sie sind Ihre Ansprechpartner:innen und repräsentieren Ihre Wünsche und Anforderungen.
2. Schritt: Ein Telefonat, um über das Softwareprojekt zu reden
Wenn entschieden ist, wer die Product Owner Rolle für Ihr Projekt übernimmt, nimmt er/sie Kontakt mit Ihnen auf.
Bei uns ist das Erstgespräch immer ein Telefonat oder Online-Meeting. Das ist weit effizienter als ein sofortiges Treffen oder seitenlange E-Mails – und zwar für beide Seiten, da man so schon viele wichtige Themen klären kann:
Sind wir grundsätzlich der passende Dienstleister für Ihre Aufgabenstellung? Können wir die Leistung erbringen, die Sie benötigen? Hierfür müssen wir grob verstehen können, WAS Sie benötigen. Das Telefonat ist eine Art Beratungsgespräch, in dem wir auch skizzieren, WIE wir vorgehen werden und welche die nächsten Schritte sind.
Wir fragen auch nach der geplanten Projekt-Dauer und dem vorgesehenen Budget - beides versuchen wir auf Basis unserer Erfahrungen als realistisch oder unrealistisch einzuschätzen und der personellen Verfügbarkeit unsererseits gegenüberzustellen.
Ein weiterer wichtiger Punkt sind in dieser Anfangsphase auch die personellen Kapazitäten auf der Kundenseite: Zum einen in der Konzeptionsphase für das Mitdenken, zum anderen auch bei der Umsetzung.
Wenn nach diesem Telefonat für beide Seiten klar ist, dass ein gemeinsames Projekt interessant und möglich ist, folgt im nächsten Schritt das persönliche Kennenlernen!
3. Schritt: Persönliches Gespräch
Das erste persönliche Treffen ist immer kostenlos und findet im Idealfall in einer größeren Runde statt: Ihrerseits nehmen idealerweise jene Personen teil, die (später) in das Projekt involviert sind und die Entscheidungen darüber treffen. Von unserer Seite sind oft zwei Product Owners dabei, vor allem, wenn es sich um ein komplexes Projekt handelt.
Während des Treffens wird detaillierter auf Ihr Projekt eingegangen und wir erklären genau, wie wir arbeiten, um eine optimale Lösung für Sie umzusetzen, die Ihnen einen Mehrwert bringt.
Auf Basis der Infos aus diesem Gespräch ist auch eine erste, grobe Einschätzung des Kostenrahmens möglich. Ein Angebot legen wir jedoch immer erst nach der Konzeption und Schätzung.
4. Schritt: Angebote für Konzeption und Umsetzung
Das erste unserer Angebote beinhaltet die Konzeption des Projektes – denn ohne eine detaillierte Konzeption zu starten ist wie ein Haus auf Basis einer Bierdeckel-Skizze zu bauen.
Dem Angebot für die Konzeption gehen schon einige Überlegungen voraus: Die Product Owners denken darüber nach, was alles in die Konzeption für dieses Projekt einfließen muss ("wir überlegen uns, was wir uns in der Konzeption überlegen müssen", hat es ein Kollege einmal treffend formuliert).
Dauer der Konzeption
Sie bekommen das Angebot für die Konzeption und sobald Sie es bestellt haben, startet die Konzeption – diese dauert oft länger, als viele Kunden sich das vorher vorstellen. Wochen und Monate sind keine Überraschung für uns; nicht selten dauert diese Phase solange wie die Umsetzung der Software selbst. Weshalb das so ist bzw. was alles in die Konzeption hineinfällt, haben wir vor einiger Zeit in dem Artikel "Software Design" zusammengefasst.
In manchen Fällen ist an der Konzeption auch schon ein Software-Entwicklungsteam beteiligt; z.B. wenn Vorab-Tests zur Evaluierung technischer Machbarkeit nötig sind (auch "Spike" genannt).
Schätzung und Angebot für die Umsetzung
Das Resultat der Konzeption ist die Basis für die Schätzung. Diese Aufwandschätzung führt eines unserer Entwicklungsteams gemeinsam mit den Product Owners durch, die die Erkenntnisse daraus dann mit Ihnen besprechen.
Hin und wieder sind anschließend noch Anpassungen im Umfang des Projekts notwendig, zum Beispiel um ein vorgegebenes Budget einzuhalten – dafür arbeiten unsere Product Owners gemeinsam mit Ihnen die wichtigsten Funktionen für die erste Version heraus (Stichwort: Minimum Viable Product / Minimum Loveable Product).
Wenn die Schätzung mit Ihnen besprochen ist, wird das zweite Angebot - diesmal für die Gesamt-Projektumsetzung - von uns erstellt. Und wenn dieses von Ihnen – zu unserer großen Freude – bestellt wird, geht es an die Umsetzung!
5. Schritt: Umsetzung Ihrer Software
Die Product Owners tragen das Projekt mit dem geschätzten Aufwand in die Planung des ausgewählten Teams ein. Hierbei werden auch die Urlaube einzelner Teammitglieder, Feiertage etc. berücksichtigt, um den "idealen" in einen "realen" Zeitplan zu verwandeln und eine detaillierte Personaleinsatzplanung durchzuführen.
Bei der nächsten Sprintplanung wird das Projekt vom Team detaillierter eingeplant (Start, Durchlaufzeit & Ende). Das Team macht diese Planung vollkommen eigenständig und stimmt sich dabei mit dem/den zuständigen Product Owners ab.
Manchmal kommt es vor, dass für ein Projekt aus guten Gründen eine fixe Deadline besteht (z.B. ein Event, bei dem die neue App oder die neue Website präsentiert werden soll). Es kann dadurch passieren, dass andere Projekte neu priorisiert oder anders "geschachtelt" werden müssen, damit wir all unsere Kunden zufriedenstellen können.
Das bedeutet natürlich auch, dass die Product Owners mit ihren jeweiligen Kunden regelmäßig die aktuellen Zeitpläne und etwaige Veränderungen abstimmen, um auch dringende Projekte immer schnell einplanen und umsetzen zu können!
Die Sprintplanung
Oben im Text haben wir von "Sprintplanung" geredet und so mancher wird den ersten Teil des Worts nur aus dem Sport kennen. In unserem Fall kommt er aus der agilen Softwareentwicklung: Unsere Teams arbeiten intern in einwöchigen Sprints (auch "Timeboxes" genannt). Die Planung dieser Sprints findet somit einmal die Woche statt. In der Sprintplanung wird zum einen der vergangene Sprint betrachtet (Lief es wie geplant? Ist alles fertig?), zum anderen wird der kommende Sprint geplant.
Die Basis für die Planung sind die sogenannten User Stories. Dis ist eine Beschreibungstechnik für Anforderungen bzw. Features an die Software mit Fokus auf deren Mehrwert. Sie sind aus Anwender:innen-Sicht geschrieben und folgen der Formel: "Ich in meiner Rolle als Anwender:in möchte mit der Software das tun können, um folgendes Ziel zu erreichen." (z.B. "Als registrierter Webshop-Nutzer möchte ich meine letzten Bestellungen aufrufen können, um ein Produkt nochmals nachbestellen zu können."). Diese User Stories werden schon in der Konzeptphase des Softwareprojekts geschrieben und mit Ihnen besprochen.
Die Sprintplanung macht das Team alleine, nur wenn spezielle Fragen zum Projekt oder einer User Story bestehen, werden Product Owners miteinbezogen. Wichtig ist uns auch, dass das Team nur an geplanten Dingen arbeitet. Für ungeplante Arbeiten wird extra ein gewisser Prozentsatz an Arbeitszeit fix bei der Sprintplanung eingeplant (zum Beispiel für Supportanfragen und Wartung)!
Unsere Product Owners sind übrigens während des gesamten Projekts die Ansprechpartner:innen unserer Kunden, repräsentieren Sie gegenüber dem Umsetzungsteam und testen die fertiggestellten Funktionen. Gleichzeitig haben sie auch die Verantwortung für den finanziellen Erfolg ihres jeweiligen Projekts.
Während der Projektumsetzung sammeln wir laufend Daten über den Fortschritt und bauen dadurch Erfahrungswerte auf, mit denen wir unsere Schätzungen und Schätzverfahren für künftige Projekte verfeinern und verbessern. Außerdem können wir anhand dieser Daten jene Projekte abrechnen, die auf Aufwand durchgeführt werden, sowie generell den Projektfortschritt objektiv messen.
Die Demos für Sie während des Softwareprojekts
Ein wichtiger Teil der Umsetzung sind die regelmäßigen Demo-Meetings mit Ihnen, entweder persönlich oder online. Theoretisch können wir jede Woche, nach jedem Sprint, die neuen Features präsentieren. Praktisch findet – abhängig von der Projekt-Art – ein Demo-Meeting sinnvollerweise alle zwei oder drei Wochen statt.
Die Demo-Meetings bieten Ihnen die Möglichkeit, von Anfang an Feedback zu geben und zu testen. Idealerweise sind auf Ihrer Seite schon Personen involviert, die die Softwarelösung nach der Fertigstellung nutzen werden, da diese das beste Feedback geben können.
Dieses regelmäßige Feedback sorgt dafür, dass wir schnell und ohne großen Aufwand kleine Kurskorrekturen vornehmen können und nicht am Ende dem fertigen, großen "Tanker" mühsam eine neue Richtung geben müssen.
In vielen Fällen ist beim Demo-Meeting auch das Entwicklungsteam anwesend. So bekommt es direkt das Feedback von Ihnen und kann besser verstehen, wie Sie sich Ihre Software vorstellen.
Auch bieten wir von Beginn an ein UAT-System (UAT steht für User Acceptance Test) für Ihre Software an, auf das Sie ab einem bestimmten Projekt-Stand zugreifen können.
6. Schritt: Die Abnahme der Software
Das letzte Demo-Meeting sorgt für glückliche Gesichter, denn Sie nehmen die fertige Software ab!
7. Schritt: Ihre Software ist fertig!
Nach der Abnahme erfolgt der "Live Release" der Software-Lösung an einem mit Ihnen abgestimmten Termin. Erfahrungsgemäß kommt danach noch sehr viel Feedback: Vieles fällt erst auf, wenn die Software intensiv von unterschiedlichsten Anwender:innen genutzt wird. Die Zeit für dieses Feedback berücksichtigen wir schon in unserer Planung.
Unser Softwareservice
Mit dem Live Release endet unsere Arbeit für Sie allerdings nicht. Wir bieten im Bereich Softwareservice (Wartung) verschiedene Leistungen an, die auf den jeweiligen Kunden und die Technologie zugeschnitten sind. Dabei arbeiten wir sowohl reaktiv (sprich: wir lösen auftretende Probleme), als auch proaktiv (wir kümmern uns zum Beispiel um rechtzeitige Updates).
Auch nach der Lieferung der Software sind unsere Product Owners weiterhin für unsere Kunden da und verantwortlich dafür, dass sie über lange Zeit mit der Software glücklich sind!