Wie können wir überhaupt in der Schweiz entwickeln?
Ist es nicht viel zu teuer in der Schweiz Software zu entwickeln? Sätze in Indonesien, Indien, China oder Polen sind Faktoren tiefer als in der Schweiz. Warum müssen wir denn hier entwickeln? Mit Skype und allem müsste es doch einfach sein, im Ausland zu entwickeln - so kostengünstig dass eventuelle Kostenabweichungen oder Ineffizienzen überwunden werden können. Irgendwas stimmt mit dieser Rechnung offenbar nicht.
Es gibt es mehr und mehr Entwicklungen die wieder in der Schweiz gemacht werden. Die Industrie ist gesund, alle Software-Bauer suchen Entwickler, in den verschiedensten Technologien. Offenbar ist es doch nicht so einfach im Ausland zu entwickeln: Wir kennen viele Projekte, die fehlschlugen oder nahezu fehlschlugen, frustrierte Kunden, Entwickler die schlechten Code pflegen und wütend unter Zeitdruck Bugs von anderen fixen müssen, und mit etwas Wohlwollen finden wir vielleicht eine einzelne Referenz von einem gelingenden Projekt. Warum diese Diskrepanz? Es müsste doch gehen, es müsste doch günstiger sein, seid ihr Softwareentwickler denn alle nicht interessiert daran?
Das Problem daran ist, dass solche strategischen Entscheide nicht von denselben Personen gefällt werden, welche die technischen Entscheide fällen. Die Recheneinheit ist die Mannstunde oder der Manntag. Klar ist jedem bewusst dass eine Mannstunde in Indien nicht dasselbe heissen muss wie in der Schweiz. Aber die Mannstunde hält immer noch hin als “Proxy” für reale Entwicklungsleistung. Und das ist der Kern des Problems: Was wenn ich behaupte, der Overhead von Missverständnissen, Bürokratie, falsch verstandenen Aufgaben und blanker Unfähigkeit beim Auftragnehmer kombiniert einen Faktor fünf bis zehn ausmacht? Wie sieht es dann aus mit dem Kostenvorteil?
Pascal Betz und ich haben 2006 zusammen vor der Gründung von Simplificator einige Projekte in Bangalore, Indien durchgeführt, für unseren Schweizer Arbeitgeber. Wir haben dabei gelernt, was die Probleme sind: Kommunikation, Organisation, fehlender gemeinsamer Kontext. Diese Aspekte sind wichtiger, als wir uns vorgestellt haben. Software zu bauen ist nicht nur eine technische Herausforderung, sondern eben vor allem eine menschliche. Wir bauen nicht einen einzelnen Prozess auf, den wir dann wiederholen können (wie zum Beispiel bei industrieller Produktion von iPhones). Wir betreiben nicht nur Bau, sondern auch Forschung, Entdeckung, Planung. Und das sind genau die Dinge die in der Übersetzung verlorengehen - sozusagen “Lost in Translation”. Die Komplexität die in Softwareentwicklung inhärent ist trägt dazu bei, dass die wahren Probleme nicht wahrgenommen werden: Es ist so einfach zu sagen dass der Auftrag nicht klar genug formuliert worden ist, oder dass Softwareentwicklung halt mit Risiken verbunden ist.
"Und sowieso habt ihr ja den Vertrag so unterzeichnet und dort steht das ja genau so wie wir ihn erfüllt haben - wie kann es denn unser Fehler sein wenn ihr uns nicht sagt was ihr braucht."
Genau. Danach können nur noch Anwälte Geld verdienen. Zurück zur Schweiz:
Wie wäre es, wenn Softwareentwicklung wieder als Arbeit verstanden werden könnte, nicht als Magie, zu erledigen von abstrakten Ressourcen, die ihre Manntage in Cubicles irgendwo auf der Welt als erledigen, sondern Menschen mit denen man reden kann? Die regelmässig mit Papier und Bleistift Annahmen klären, Dinge visualisieren, den Auftraggeber zurück in die kontrollierende Position rücken? Die die Fragen fragen die sie interessieren, expliziter von implizitem Bedarf unterscheiden? Statt Jaja-Sklaven echte Diskussionspartner, die teure Fehlentscheidungen rechtzeitig hinterfragen, Rückfragen, keine Angst haben die grossen Entscheidungen anzuzweifeln?
Der Ausbildungsstandard in der Schweiz ist hoch. Wir haben ein Qualitätsverständnis, und eine Ehrlichkeit. Wir haben weniger Hierarchiegläubigkeit als andere. Das macht es vielleicht am Anfang des Projektes anstrengender, aber dafür kommt etwas dabei raus. Als wir das herausgefunden haben, haben wir verstanden dass wir in der Schweiz eine Chance haben mit einer eigenen Firma.
- Die Kosten pro Stunde sind höher. Aber die Effizienz eben auch.
- Wir sehen dass Komplexität nicht weg-abstrahiert werden kann, sondern gemanagt werden muss. Also steht und fällt der Erfolg mit der Fähigkeit, mit Komplexität umgehen zu können.
- Persönliche Treffen haben die höchste Bandbreite von zwischenmenschlicher Kommunikation.
- Papier und Bleistift sind immer noch durch nichts zu ersetzen.
- Agile, iterative Entwicklung verlangt nach dauernder Kommunikation und Anpassung der Ziele.
- Der Umgang mit Komplexität verlangt nach agiler, interaktiver Entwicklung.
- Wenn es einfach wäre, hätten wir keinen Job. Der Umgang mit der Komplexität ist der Kern unserer Arbeit.
Deswegen heisst die Firma Simplificator GmbH.
Damit bekommen wir einen finanziell wertvollen Standortvorteil in der Schweiz, verstärkt durch Anwendung von agilen Technologien und Vorgehensweisen. Darum müsste es klappen.
Und es hat geklappt.
Was heisst das nun?
Es heisst, dass es finanziell schlau sein kann, in der Schweiz zu entwickeln, und dass das nicht ein bequemer Luxus ist, sondern ganz konkret mit dem Schaffen von realen Werten zu tun hat. Software die vor Ort mit guten Partnern entwickelt wird, ist summa günstiger. Das mag wegen oben genannten Gründen nicht von Anfang an sichtbar sein. Aber unsere Erfahrung und diese Überlegungen schaffen nicht nur ein emotionales, sondern auch ein rationales Argument für die Entwicklung von Software in der Schweiz.
Und jetzt kommt der sogenannte "Call to action": Wir können auch einfach mal drüber sprechen, es muss nicht gleich ein Projekt daraus entstehen. Wir beraten auch, machen Qualitätssicherung, oder Hosting in der Schweiz. Und wir haben guten Kaffee. Ruf an.
Jetzt. :-)
Kontakt: 044 500 47 50, info@simplificator.com oder @simplificator. Wir freuen uns.