Sätze die ich in der Softwareentwicklung nicht mehr hören möchte!

Folgendes sind Anfragen die ich immer wieder mal bekomme und die manchmal schon schwer zu verdauen sind 🙂

Ich hab da mal eine Idee – “Ich hab da mal eine Idee für eine Software. Soll so ähnlich sein wie XYZ (Amazon, Facebook, Whatsapp oder irgendeine andere grosse Plattform einsetzen)”

Warum das so schlimm ist: Eine einzelne Funktionalität, zum Beispiel ein Einkaufsbutton bei Amazon, hat meistens ein eigenes Team an Programmierern und Online Experten, welche daran seit Jahren arbeiten.

Man kann mich solch einer Anfrage nicht viel anfangen.

Die meisten die solche Anfragen stellen, haben irgendwo mal was aufgeschnappt. Man sollte sich jedoch vorher informieren, welche Aufwände sich hinter der Entwicklung solcher Portale verstecken.

Was kostet das? “Ich habe da eine Idee für eine App, wieviel kostet das?”

Jede Antwort mit einem Euro Betrag wäre komplett daneben. Man kann eine App Projekt nicht mit wenigen Informationen abschätzen.

Man braucht mindestens die Infos zu den Grundfunktionalitäten als auch idealerweise die Wireframes.

Die Wireframes kann zwar der Designer im App Entwickler Team umsetzen, dafür fallen jedoch meistens 20 bis 40 Stunden an Arbeit an, welche natürlich vergütet werden müssen. Jedoch: Diese Informationen kann man dann auch für weitere Anfragen nutzen, sollte man das Gefühl haben, dass das Projekt irgendwo anders besser aufgehoben ist.

Im Idealsten Fall lässt man sich auch ein Pflichtenheft erstellen. Dies benötigt jedoch auch einiges an Zeit, Geld und auch den Willen die notwendigen Inputs zu geben.

“Sowas wie Amazon” reicht leider nicht aus.

Für alle Plattformen – “Ich möchte die App für iOS, Android, Windows Phone, Web und MAC OS”

Meistens besteht kein Hintergrund in der App Entwicklung. Aber der Anfragende möchte gleich mal für alle Plattformen entwickelt haben.

Die Problematik ist Folgende: Zum Teil muss für jede dieser Plattformen separat entwickelt werden. Für die iOS App braucht es einen iOS/ Objective-C/ Swift Entwickler, für die Android App braucht es einen Android Entwickler (oder Entwicklerin), für Windows Phone braucht es einen .NET/ C# Entwickler, für die Web Applikation braucht es einen PHP/ Ruby On Rails/ ASP.NET Entwickler.

Es bräuchte also gut und gerne mal 4 Entwickler, nur mal um die Expertise für die grundlegenden Plattformen zu erhalten.

Dann stellt sich jedoch noch die Herausforderung der unterschiedlichen Gerätetypen. Die Komplexität, die sich aus den unterschiedlichen mobilen Endgeräten (Android Bildschirmgrössen, zum Beispiel und deren unterschiedliche Konfigurationen, zum Beispiel die Speichergrösse, die CPU, etc.) ergeben, ist nicht gering. Der Testing Aufwand erhöht sich in das fast unendliche (etwas übertrieben gesagt 😊)

Durch die Komplexität der unterschiedlichen Plattformen steigert sich auch der Kommunikationsaufwand.

Besser ist also immer folgendes: Zuerst für eine Plattform bauen. Zum Beispiel für iOS iPhones. Wenn man das fertig entwickelt hat und alles gut funktioniert, kann man zur nächsten Plattform, zum Beispiel Android übergehen.

Indien fast kostenfrei – “In Indien ist das sicherlich günstiger”

Klar kann man im Ausland günstiger entwickeln. Das bedeutet jedoch nicht, dass die Gesetze der Marktwirtschaft nicht mehr gelten!

Wichtig ist zu verstehen, dass Softwareentwicklung immer Zeit benötigt, egal wo man das macht.

40 Stunden in Europa sind auch 40 Stunden in Asien. Der Asiate kann das, was der Europäer macht, nicht in der Hälfte der Zeit umsetzen.

Das bedeutet auch, wenn ein Projekt in Europa 10000 (Zehntausend) Stunden dauert, dann dauert es auch in Asien 10000 (Zehntausend) Stunden.

Die Hoffnung bei Anfragenden ist immer (sicherlich auch unterbewusst), dass die Zauberasiaten alles supergünstig und ohne Aufwand erstellen können. Das ist sicherlich nicht der Fall.

Wenn man mit Outsourcing nach Indien erfolgreich sein will, dann sollte man zumindest starke Kenntnisse von qualitativ hochwertigem Softwarecode haben (d.h. die Möglichkeit haben, die erstellte Arbeit gegenzuchecken), Englischkenntnisse (um sich mit dem indischen Entwickler direkt austauschen zu können), Projektmanagementwissen (wie kann man IT Projekte umsetzen und leiten) und einiges mehr.

In den meisten Fällen lohnt sich ein Freelancer oder eine Agentur aus Deutschland mehr! Besonders wenn man selbst keine Expertise in der Softwareentwicklung hat und fast die komplette Verantwortung für die Entwicklung abgeben möchte.

Kleines Projekt – “Ich hab da mal ein kleines Projekt”

Entweder entpuppt sich das Projekt als Mammut-Aufgabe, welche im Grunde genommen mehrere Monate Aufwand bedeutet, an welchem mehrere Entwickler gleichzeitig arbeiten müssten oder eben um ein wirklich kleines Projekt, mit nur 8 bis 10 Stunden Aufwand maximal.

Das mit dem Mammut-Projekt entsteht, wie vorher bereits angesprochen aus Unwissen (zumindest wenn man es “kleines Projekt” beschreibt).

Und wenn es wirklich kleinteilige Aufgaben sind, dann sollte man auf den Freelancer seines Vertrauens setzen, welcher vielleicht einen höheren Stundensatz hat, dafür aber eine saubere Arbeit abliefert.

Lasst Euch Zeit – “Lasst Euch Zeit, ich brauche das erst in zwei Monaten”

In den meisten Fällen braucht die Eruierung der Anforderungen bereits ein bis zwei Wochen, wenn nicht sogar länger.

Die Erstellung eines Lasten- und Pflichtenheftes zum Beispiel braucht einiges an Zeit.

Danach oder davor hat man noch Workshops, in welchen die Anforderungen besprochen werden. Nur mal einen Termin zu erhalten, wo beide Seiten (Kunde und Ansprechpartner bei dem Dienstleister) Zeit haben, dauert meistens mehrere Tage und manchmal Wochen.

Dann müssen noch die Wireframes (grobe Zeichnungen der unterschiedlichen Seiten der Website/ App) und dann das Design zum Beispiel in Photoshop erstellt werden.

Auch dies kann mehrere Tage und Wochen dauern. Entsprechend der Schnelligkeit des Feedbacks des Kunden und auch der Verfügbarkeit des Designers auf Seiten des Dienstleisters.

Und dann kommen noch die Vertraglichen Details (Unterschrift Vertrag, Überweisung des initialen Betrages, etc.). Alles das braucht Zeit.

Wenn die erste Zeile Code geschrieben ist, kann somit bereits ein Monat und mehr ins Land verstrichen sein.

Wenn man jetzt noch hinzunimmt, dass unterschiedliche Versionen (z.B. Android und iOS) verlangt werden, dann ist das Zeit-Dilemma komplett. Es wird niemals möglich sein, in so einer kurzen Zeit (z.B. 2 Monate) eine fertige App oder Software zu haben.

Tipp: Man sollte genug Zeit einplanen. Nur mal das Testing auf Seiten des Dienstleisters kann einiges an Zeit benötigen. Und dann sollte man auch noch Endnutzer Tests durchführen. In vielen Projekten kann das alleine (Beta-Phase) mehrere Monate dauern.

Fazit

Die Liste lässt sich noch beliebig weiterführen. Das waren jedoch die Klassiker. Diese, werden in der einen oder anderen Form bei mir, gefühlt, jeden Tag nachgefragt.

Ich weiss auch gar nicht mehr wie ich darauf antworten soll. Man möchte ja auch nicht als unfreundlich rüberkommen. Zeit ist auch ein Thema, will man sich wirklich die Zeit nehmen, um zu erklären, wie das in der Softwareentwicklung funktioniert. Sozusagen die Basics? Das ist definitiv ein zusätzliches Dilemma für mich.

Wie handhabt Ihr das? Wie geht ihr mit solchen Anfragen um?


Der Autor: Sascha Thattil arbeitet bei YUHIRO und hilft Unternehmern und Unternehmen beim einfachen Aufbau von Programmier-Teams in Indien. YUHIRO ist ein deutsch-indisches Unternehmen welches IT Firmen, Agenturen und IT Abteilungen Softwareentwickler bereitstellt.

4 Kommentare
  1. So läuft es halt in den Entwicklungsländern. ;o)

  2. Du könntest beim Abschnitt, wo es um das Outsourcing nach Indien geht das mit den Stunden m.M.n. korrigieren oder etwas mehr spezifizieren.

    10.000 Entwicklerstunden sind sicherlich nur dann 10.000 Entwicklerstunden in Indien, wenn man davon ausgeht, dass die beiden verglichenen Entwickler:
    1. über genau dasselbe Know-How verfügen.
    2. dieselbe Dedication an den Tag legen.
    3. zuverlässig Deadlines einhalten.
    4. QS Abwicklung denselben Wert beimessen.
    5. problemlos in englischer Sprache kommunizieren können.

    In der Umsetzung ist noch nicht enthalten, dass man evtl. zig Rücksprachen mit den Indern halten muss, weil nicht nur die eigenen Englisch-und Fachkenntnisse auf die Probe gestellt werden, sondern auch die der Inder, mit denen man zusammenarbeiten möchte.

    Also ich habe die Erfahrung gemacht, dass Projekte in denen ich meine indischen Kollegen für einzelne Funktionen hinzugezogen habe, trotz ausführlichster Aufgabenstellung und -beschreibung, letztendlich SEHR viel mehr meiner Zeit in Anspruch genommen haben, als wenn ich diese Teilfunktionen direkt selbst umgesetzt hätte.

    ___________

    Zurück zum Thema „seltsame Kundenanfragen“.

    Mein Tipp:
    Grundsätzlich bietet es sich an eine Art Wiki oder Knowledgebase bereitzustellen, wo solche Fragen direkt abgefrühstückt werden und eventuell auch irgendwelche illusorischen Vorstellungen im Keim erstickt werden können. Einfach weil ein Wiki den ahnungslosen Kunden entsprechend aufklärt.

    Ruft dennoch ein Interessent an und fragt eine dieser seltsamen Fragen, kann dann einfach auf den entsprechenden Wiki-Artikel im Support-Abschnitt der eigenen Website verwiesen werden. Thema erledigt. Das kann man sehr freundlich formulieren und falls nicht noch andere Fragen bestehen, kann man dann solch ein Gespräch recht schnell und dennoch für den Kunden zufriedenstellend beenden – ohne dass er den Eindruck erhält, man wolle ihn abwimmeln.
    Im Anschluss an das Telefonat, sendet man dem Interessenten dann noch eine freundlich Follow-up E-Mail, die den Link zum erwähnten Wiki-Artikel enthält. Außerdem die eigenen Kontaktdaten und falls man möchte, kann man den Interessenten zumindest als Lead im verwendeten CRM anlegen und diese Kommunikation dort hinterlegen. Eventuell ergibt sich ja doch noch eine Zusammenarbeit in der Zukunft.. man trifft sich immer zweimal im Leben.
    Deshalb:
    always be kind.

    Viele Grüße
    Saskia Lund

Schreibe einen Kommentar