Fürs Marketing zählen Features wie einfache Benutzerführung, Facts & Figures. Das sind Verkaufsargumente. Der Software-Entwickler achtet auf ein perfektes Design der Anwendung und auf ein solides Gerüst (Architektur). Die Anwendung muss einige Jahre «leben». Fürs Marketing ist eine schnelle und kostengünstige Lieferung wichtig. Der Software-Entwickler braucht Zeit (=Geld), die optimale Lösung zu finden. Willkommen im Spannungsfeld Pragmatismus vs. Perfektionismus.
Marketing Sicht
Folgendes passiert, wenn die Anwendung vollständig aus Marketing Sicht entwickelt wird:
- Rasche Umsetzung der ersten Features. Die Kosten sind im budgetierten Rahmen.
- Der erste Release ist ein Erfolg. Es gibt mehrere zufriedene Kunden.
- Neue Kundenwünsche brauchen mehr Zeit für die Umsetzung als erwartet. Die Kosten steigen, die Termine können nicht mehr eingehalten werden.
- Die Kunden sind verärgert.
Entwickler Sicht
Folgendes passiert, wenn die Anwendung vollständig aus technischer Sicht entwickelt wird:
- Bestes Design & optimales Gerüst.
- Alle Eventualitäten und späteren Erweiterungen sind berücksichtigt.
- Die Anwendung ist zu 100% getestet, bevor sie freigegeben wird.
- Die Entwicklung dauert viel zu lange / wird nicht fertig und ist dementsprechend zu teuer.
- Die Anwendung kann nicht verkauft werden.
Kombinierte Sicht
Die Wahrheit liegt dazwischen:
- Gerüst und Design müssen passen. Damit sind Wartbarkeit und künftige Erweiterungen effizient möglich.
- Die Grundfunktionalität muss vorhanden und getestet sein.
- Danach muss möglichst schnell verkauft werden.
- Zusatzfunktionen werden später realisiert.
- Marketing und Entwicklung müssen miteinander sprechen.
Ein paar Details zu obigen Punkten:
Gerüst und Design:
- Grundsatzentscheide fällen, z.B. Web Anwendung oder Desktop Anwendung.
- Existierende Programmier- und Architektur-Standards verwenden, z.B. Angular 2, .NET Core, WPF mit MVVM.
- Libraries / vorhandene Komponenten nutzen, z.B. für die Erzeugung von pdf-Files.
- Richtige Umsetzung durch kompetente Entwickler, das Rad nicht neu erfinden.
Grundfunktionalität:
- Der minimale Funktionsumfang muss durch das Marketing definiert werden.
- Die Geschäftslogik wird mit sogenannten Unit Tests (automatische Tests) geprüft.
- Die Benutzeroberfläche wird mit manuellen Tests geprüft.
Verkauf:
- Die Entwicklungskosten müssen möglichst schnell gedeckt werden.
- Je schneller verkauft wird, desto rascher gibt es ein Kundenfeedback.
- Elementare Probleme werden so früh wie möglich erkannt. Grössere Probleme können vermieden werden.
- Der Entwickler muss über seinen eigenen Schatten springen, weil manchmal die Zeit nicht reicht, eine Funktionalität technisch perfekt zu realisieren. Solange das Gerüst und das Design immer noch stimmen, ist das kein Problem.
- Der Verkäufer muss über seinen eigenen Schatten springen, weil er nicht alle Features von Anfang an verkaufen kann.
Zusatzfunktionen:
- Mittels agiler Entwicklung werden neue Features / Kundenwünsche rasch umgesetzt (Zyklen von 2- 3 Wochen)
- Das Risiko wird minimiert, unnötige Features zu realisieren (die von Anfang an geplant aber nie gebraucht werden). Dies spart Kosten und Zeit.
Miteinander sprechen:
- Missverständnisse zwischen Marketing und Entwicklung müssen vermieden werden. Dies kann teuer werden. Von Anfang an das Richtige entwickeln.
- Keine Spezifikation ist 100% genau, es gibt immer Interpretationsspielraum. Wichtig ist, möglichst schnell etwas zeigen zu können.
Zusammenfassung
Eine erfolgreiche Anwendung entsteht, wenn Marketing und Entwicklung eng zusammenarbeiten. Eine gesunde Mischung aus Perfektionismus und Pragmatismus ist nötig, um den minimalen Funktionsumfang so rasch wie möglich zu realisieren. Dies ist die Basis für den langfristigen Erfolg.