Einmal Katze im Sack bitte? Woher der Kunde weiß, welche Software er bekommt
Erinnern Sie sich noch an die geheimnisumwobenen Wundertüten aus unserer Kindheit? Für in Relation zum Inhalt horrendes Geld gab es da eine Papiertüte - und was war drin? Irgendwas. Viel zu oft etwas, was man gar nicht gebrauchen konnte - im besten Fall ließ sich zumindest der kleine Bruder oder die große Schwester damit glücklich machen. Trotzdem waren die Tüten unglaublich beliebt und sind es heute noch. Weil das Überraschungserlebnis einfach wichtiger war als der Inhalt.
Planungssicherheit statt Überraschungserlebnis
Im Arbeitsalltag sieht das in der Regel anders aus. Überraschungen sind in den seltensten Fällen ein positives Ereignis. Schon gar nicht, wenn es darum geht, was man für sein Geld bekommt. Wer einen Auftrag an einen Dienstleister vergibt, möchte möglichst früh möglichst genau wissen, wie das Ergebnis aussehen wird.
So auch beim Entwickeln individueller Software. Wer bei einem IT-Dienstleister Software in Auftrag gibt, die genau auf die speziellen Bedürfnisse seines Unternehmens zugeschnitten ist, möchte hinterher ein Ergebnis haben, das perfekt sitzt. Und wie immer, wenn man Dinge nicht selber tut, muss man an irgendeinem Punkt das Vertrauen haben, die Umsetzung in die Hände der Experten zu geben. Damit dieses Loslassen leichter fällt, hilft es, wenn ein paar Dinge vorab geklärt sind.
Wie wir die Wundertüte durchsichtig machen
Damit unsere Kunden keine Überraschung erleben, lassen wir sie schon möglichst früh einen Blick in die Wundertüte werfen. Und sorgen außerdem dafür, dass sie auch auf Dauer durchsichtig bleibt, so dass sich das Projekt nicht wie eine Blackbox anfühlt, am dem erst ganz am Schluss das fertige Produkt herauskommt. Aber wie?
1. Blick in die Zukunft
Damit alle von Anfang an in dieselbe Richtung unterwegs sind, liefern wir schon sehr früh Dokumente oder Daten, die einen Vorgeschmack auf das fertige Produkt erlauben.
- In der Regel erarbeiten wir als ersten Schritt gemeinsam mit dem Kunden und schon vor der Beauftragung eine Mindmap, in der die Anforderungen an das Projekt strukturiert und festgehalten werden.
- Jedes Angebot enthält den geplanten Funktionsumfang des Software-Projekts.
- In einem sogenannten Epic fassen wir die Anforderungen an die Software in Textform zusammen und formulieren die Ziele, die durch den Einsatz der Software erreicht werden sollen.
- Bei der Entwicklung von Web-Apps, Mobile-Apps und Desktop-Apps bietet es sich in der Planungsphase an, einen Clickdummy zu erstellen, in dem man wesentliche Funktionen und Abläufe testen kann, noch bevor diese tatsächlich programmiert wurden. Auf diese Art lässt sich zu einem frühen Zeitpunkt klären, ob es wirklich ein gemeinsames Verständnis der geplanten Funktionalitäten gibt, so dass die Implementierung bereits auf einem optimierten Konzept basieren kann.
- In anderen Projekten, in denen weniger die User Experience, sondern eher die technische Anbindung im Vordergrund steht, liefern wir beispielsweise frühzeitig einen Schnittstellenentwurf.
Auch wenn keines dieser Dokumente in Stein gemeißelt ist und sich während der Arbeit am Projekt noch verändern, können sich auf diese Weise alle Beteiligten von Anfang auf eine gemeinsame Richtung verständigen.
2. Kleine Schritte
Auch wenn wir von Anfang an das große Gesamtziel vor Augen haben, planen wir nicht alle Funktionalitäten in einem Riesenprojekt, sondern gehen Schritt für Schritt vor. Wir beginnen mit einem Minimal Viable Project (MVP), einem selbstständig funktionierenden, ersten Teilprodukt, und erweitern dies dann schrittweise um neue Funktionen. Auf diese Weise können erste Erfahrungen mit dem Produkt zu jedem Zeitpunkt mit in die weitere Entwicklung einfließen. Für den Auftraggeber hat dies den Vorteil, dass er in kleinen Abständen die Ergebnisse der Arbeit mit eigenen Augen sehen kann. Damit hat der Kunde die Möglichkeit, das Projekt auf einer fachlich-funktionalen Ebene zu steuern, während wir gleichzeitig in der Umsetzung agil bleiben.
3. Feedback
Die benötigten Funktionalitäten dokumentieren wir mit User Stories, über die wir die einzelnen Funktionen mit unseren Kunden genau abstimmen.
4. Transparente Kommunikation
Eine der zentralen Voraussetzungen für erfolgreiche Zusammenarbeit in komplexen Software-Projekten ist eine gut funktionierende, transparente Kommunikation. Das Einigen auf klare Zuständigkeiten gehört dabei ebenso dazu wie die Abstimmung der passenden Kommunikationskanäle. Auch bei einem agilen Umsetzungsprozess lohnt es sich, Zeit in die Abstimmung von Funktionalität und Zielsetzung zu investieren, denn so spart man sich Umwege und damit im Ergebnis viel Zeit.
Wenn diese Voraussetzungen geschaffen sind, ist die Wundertüte Softwareentwicklung schon gar nicht mehr so geheimnisvoll. Für Überraschungen müssen dann andere Lebensbereiche sorgen. Aber das ist vermutlich auch ganz gut so.