Ihre Entwickler arbeiten in unserer Niederlassung in Indien

Umsetzung einer Cloud-Software: Eine Anleitung

Umsetzung einer Cloud-Software: Eine Anleitung

Cloud Lösungen werden immer beliebter. Das liegt daran, dass die Software nicht auf dem eigenen Server liegt und daher auch nicht gewartet und upgedatet werden muss. Besonders die Updates sind meisten sehr aufwendig.

Das Update eines, auf dem eigenen Server gehosteten, ERP-Systems kann mitunter Monate und Jahre dauern. Nur um dann mit dem neuesten Update starten zu müssen.

Bei den sogenannten Cloud-Lösungen werden die Updates im Hintergrund vorgenommen und für alle Nutzer/ Firmen gleichzeitig “ausgerollt”.

Der einzige “Nachteil” ist, dass es keine Custom Lösung ist, d.h. es ist nicht genauestens auf die eigenen Bedürfnisse angepasst. Oftmals ist dies jedoch auch nicht notwendig. Eine Lösung für das Beantragen von Urlaub oder das Eintragen von Kundendaten, muss nicht immer individuell auf die eigenen Bedürfnisse angepasst werden. Eine Standardlösung würde hier bereits genügen.

Das Besondere ist zudem auch, dass der Preis pro Nutzer meistens relativ gering ist, da es von vielen gleichzeitig genutzt wird. Nicht selten kosten solche Lösungen zwischen 10 und 29 Euro im Monat, welches für die meisten erschwinglich ist.

Die Umsetzung einer solchen Cloud-Software, welche man anderen anbietet, muss nicht unbedingt schwer sein. Man sollte es jedoch planen und trotzdem mit der Umsetzung nicht allzu lange warten, denn den perfekten Zeitpunkt gibt es nie. Zudem sehen die meisten Cloud-Software’s in der Version 1.0 nicht wirklich attraktiv aus. Wichtig ist das man anfängt.

Hier eine Anleitung wie die Entwicklung einer Cloud-Software aussehen kann.

1) Kundennutzen eruieren

Die Lösung sollte für eine grosse Gruppe von Kunden interessant sein. Am besten etwas, was man weltweit benötigt und für welcher diese Kundengruppe 10 bis 29 Euro oder etwas mehr im Monat pro Nutzer kein grosser Betrag ist.

Ein paar Beispiele:

  • Eine SEO Keyword Suchmaschine
  • Ein Landing Page Generator, welche man an seine Website anschliessen kann
  • Ein einfaches CRM System, in welches ein Selbstständiger seine Kundendaten eintragen und sich Reminder setzen kann
  • Ein ERP System für kleine Unternehmen aus einer spezifischen Branche (Beispiel: Agenturen, IT Dienstleister, Bäckereien, Hotels, kleine Strassenshops, etc.) mit welchem man die wichtigsten Dinge erledigen kann (Kundendaten einpflegen, Produktbestände überprüfen, Rechnungen abspeichern, etc.)
  • Human Resource Management System (Personalmanagement) für die Mitarbeiter, welche dort Urlaub beantragen können, etc.
  • Projektmanagement Werkzeug für eine besondere Nische (zum Beispiel, IT Freelancer, Projektmanager, etc.)
  • Notizbuch für den Privatverbraucher
  • Cloud-Lösung für die Service-Mitarbeiter welche unterwegs sind und Daten aufnehmen müssen

2) Mit einer Funktionalität anfangen

Wichtig ist es zudem keinen Funktionalitäten-Jungel von Anfang an aufzubauen. Die meisten Software-Umsetzer/ Gründer/ Startups kennen sich nicht mit der Softwareentwicklung aus, möchten aber gleich von Anfang an 50 Funktionalitäten und mehr in der Cloud-Lösung enthalten haben.

Am besten ist es jedoch nur eine oder maximal drei wichtige Funktionalitäten zu haben, welche dem Nutzer einen hohen Mehrwert bieten.

Zudem stellt man, durch die Fokussierung auf wenige Funktionalitäten, sicher, dass diese auch richtig funktionieren und nur wenige Bugs (Softwarefehler) enthalten.

3) Schnell Online gehen

Da man nur eine Funktionalität umsetzt, kann man auch relativ schnell mit der Lösung online gehen und diese den potentiellen Kunden anbieten. Idealerweise hat man bereits in den ersten 2 bis 3 Monaten die erste Beta-Version (Beta = die erste brauchbare Version).

Durch die schnelle Entwicklung verringert man auch seine Kosten und erhält relativ schnell das erste Kunden-Feedback.

4) Einfache Technologien verwenden

Viele Gründer und Unternehmer möchten die “Latest Technologies” nutzen, wie Node.JS oder ASP.NET Core oder Google’s Golang Programmiersprache.

Die Problematik ist hier mannigfaltig: a) Es gibt nur wenige Entwickler die sich damit auskennen und somit wird nur mal die Suche nach solchen Experten schwer. Zudem haben diese auch viel höhere Stundensätze. b) Die Softwareentwicklung mit solchen neuen Programmieransätzen ist noch nicht wirklich erprobt und man weiss nicht wirklich was die Vor- und Nachteile der jeweiligen Technologie sind. Bei erprobten Technologien wie PHP oder ASP.NET weiss man was möglich ist und was nicht. Zudem gibt es auch sehr viel Onlineforen und Communities die weiterhelfen können.

Hier eine Liste der Technologien die geeignet sein können:

  • PHP, MySQL, JavaScript, HTML, CSS: Eignet sich besonders gut für Onlineplattformen die von wenigen Hundert bis Tausend Nutzern angesteuert werden. Dies sind seit Jahren bewährte Technologien.
  • Laravel, Symfony, Zend: Wer mit PHP schneller entwickeln möchte, kann auch ein Framework nutzen. Besonders für den Einstieg kann es Sinn machen mit solchen PHP Frameworks zu arbeiten. Die Entwicklung geht dabei schneller voran, da vieles bereits als Bausteine verfügbar sind.
  • ASP.NET MVC: Diese Technologie wird besonders im Bereich Enterprise/ Unternehmenskunden genutzt. Oftmals wird ASP.NET bereits im Unternehmen verwendet und eine Anbindung in die Unternehmens-IT wird einfacher.
  • Java: Besonders für mittlere und grosse Unternehmen für welches Sicherheit (Datensicherheit, etc.) von höchster Bedeutung ist, kann es sinnvoll sein, mit Java zu arbeiten. Besonders Banken und Versicherungen vertrauen auf diese Technologie. Die Stundensätze in diesem Bereich sind jedoch um einiges höher.

5) Coding Standards, Code Kommentierungen, Code Dokumentierungen verwenden

Es ist höchstwahrscheinlich das nicht immer die gleichen Entwickler an der Cloud-Lösung arbeiten werden. Aus unterschiedlichsten Gründen werden die Entwickler wechseln. Und für einen Programmierer ist es das schlimmste, wenn der Code übersichtlich und unwartbar ist.

Um die Übersichtlichkeit zu wahren, sollte man Code Kommentare nutzen und gleichzeitig (parallel zur Programmierung) ein Dokument erstellen (zum Beispiel in Word), welches die Logik des Codes und die Logik des Programmierers während der Entwicklung aufzeigt.

Zudem sollten Coding Standards eingehalten werden, so dass der Code wartbar bleibt.

Hinweis: Im ersten Schritt kann man auch mit einem sehr einfachen “Spaghetti Code” anfangen. Man schreibt einfach den Code so, dass es einfach funktioniert. Das kann man sicherlich in einem Monat schaffen. So kann man relativ schnell das erste Feedback von den Nutzern bekommen. Später, wenn man sieht, dass es Abnehmer gibt, kann man den Code immer noch strukturieren.

6) Softwarearchitektur so gestalten, dass die Lösung erweiterbar bleibt

Nicht gut wäre es, wenn man nach zwei Jahren Entwicklung merkt, dass eine Erweiterung des Codes nicht möglich ist, weil die Architektur des Systems dies nicht zulässt.

Besser ist es also, sich von Anfang an Gedanken zu machen, wie eine Softwarearchitektur offen und erweiterbar bleibt.

Am besten kann man den Entwickler fragen, wie man so etwas angehen kann. Diese Frage alleine kann den Entwickler/ die Entwicklerin dazu anregen, das System besser zu planen.

7) Marketing Strategie ist sehr wichtig

Viele Softwarelösungen werden erstellt. Zum Teil richtig gut. Beim Marketing hapert es jedoch in 95 Prozent der Fälle.

Es wird nicht überlegt, wie der erste Kunde gewonnen wird. Und auch nicht wie die weiteren Kunden gewonnen werden.

Wichtig ist es, zahlende Kunden zu finden, die dann auch langfristig bleiben.

Google AdWords, Facebook Marketing, Flyer-Versendungen, Auftritte auf Veranstaltungen, SEO, Messen, Aufbau von Partnerschaften mit IT Unternehmen/ Freelancern, etc. können mögliche Schritte sein.

Ein Einbau einer Art “viralität” in die Software kann nicht schaden. Zum Beispiel ein “Geld-Bonus”, wenn der Nutzer einen weiteren Nutzer zum Kunden macht. Oder ein Gutschein, welchen man für die nächste Rechnung nutzen kann. Oder ein Bonusmonat für die kostenfreie Nutzung der Premiumversion der Lösung (wenn man zum Beispiel eine freie Version anbietet).

8) Freemium Model nutzen

Das mit Abstand beste Modell, um einen schnellen Einstieg zu schaffen ist das Freemium Modell.

Hierbei kann man die Lösung bereits, in einer abgespeckten Version kostenfrei nutzen. Wenn man dann den Vorteil sieht, kann der Nutzer zum Premium Abonnement (Premium = gegen monatlichen Preis) wechseln.

Somit wird die Findung der ersten Kunden einfacher. Denn man könnte es auch Freunden und Bekannten anbieten, welche es mit einer höheren Wahrscheinlichkeit testen werden, wenn es kostenlos ist.

9) Kosten für die Entwicklung niedrig halten

Um einen Gewinn erzielen zu können oder die Gewinnschwelle schneller erreichen zu können, sollten die Kosten dementsprechend niedrig sein.

Hierfür gibt es unterschiedliche Wege:

  • a) Erst weitermachen, wenn man die ersten zahlenden Kunden gefunden hat: Nachdem man die Beta-Version erstellt hat, kann man warten, bis die ersten zahlenden Kunden gefunden werden. Erst durch diese Bestätigung (dass das Ganze auch Geld einbringen kann), macht man weiter mit der Entwicklung.
  • b) Offshore Outsourcing verwenden: Entwickler in Indien oder in anderen Niedriglohnländern, können die Kosten senken. Meistens kosten Entwickler dort zirka 1500 bis 3500 Euro im Monat und dadurch werden die Entwicklungskosten erschwinglich.
  • c) Selber programmieren: Am besten ist es natürlich wenn man selber programmieren kann. Dies trifft natürlich nur auf wenige zu. So kann man die Kosten jedoch sehr gering halten. Viele der erfolgreichen Softwareprojekte wurden so gestartet. Es handelte sich um Programmierer, die nebenbei über Monate und Jahre an der Software und der Community darum gearbeitet hatten. Dabei muss jeweils nur die eigene Zeit aufgewendet werden.
  • d) Technischer CTO als Anteilsinhaber: Die andere mehr praktikable Lösung wäre es, sich jemanden zu suchen, der als CTO einsteigt, sozusagen als Co-Gründer, der die Aufgabe des “selber programmierens” übernimmt. Auch so kann man die Kosten zum Start gering halten.

10) Feedback Prozess einbauen

Von Anfang an sollte es einen Feedback Prozess geben. Zum Beispiel in Form eines Support Forums, dass man sich zum Beispiel mit Zendesk aufbauen kann.

Wenn der Nutzer ein Problem hat, kann er dort ein Ticket einstellen.

Zudem kann man den Nutzer fragen, wie man die Software verbessern könnte. Ein prominent platzierter Feedback-Chat im Frontend (auf der Vorderseite der Anwendung), kann hierbei helfen.

Sogar der erste Nutzer der Lösung sollte bereits in der Lage sein, sein Feedback geben zu können.

Klar ist auch: Nicht jedes Feedback sollte als Funktionalität umgesetzt werden. Oftmals merkt man jedoch mit der Zeit, was die Nutzer wollen, besonders wenn die gleiche Anfrage immer wieder gestellt wird.

11) Mit Preisen hochgehen, wenn man lang genug entwickelt hat

Nach ein oder zwei Jahren wird man merken, dass die Lösung einen sehr hohen Mehrwert für die Nutzer erbringen wird.

Zu diesem Zeitpunkt kann man dann auch mit den Preisen hoch gehen, zum Beispiel auf 49 Euro für die kleinste Version, 79 Euro für die mittlere Version und 199 Euro für die elaborate Version.

12) Noch heute starten

Wichtig ist zudem dass man nicht lange warten sollte. Planen ist gut, machen ist jedoch oftmals besser.

Zum Beispiel könnte man eine Domain kaufen, wie zum Beispiel “OnlinePlattformFuerBueros.de” und einen Landing Page Builder wie Instapage nutzen, mit welchem man eine Startseite baut, auf welcher man die Services bereits anbietet.

Dort kann man ein “Kauf-Button” einbauen, der den Nutzer jedoch dann zu einer Seite führt, welche darauf hinweist, dass die Plattform noch nicht fertig gebaut wurde und man den Interessenten informiert, sobald man die Beta Version verfügbar hat.

Somit kann man bereits das Interesse testen. Sobald man sieht, dass sich Personen für die Dienstleistung interessieren, weiss man, dass es in die richtige Richtung geht.

Hinweis: Man kann sich die Bilder und “Dashboards” der Plattform auf Wireframing Webseiten erstellen. Beispielsweise Balsamiq oder wireframe.cc sind mögliche Werkzeuge hierfür.

Fazit

Das ganze Feld der Cloud Plattformen wird immer spannender. Immer mehr Nutzer und auch Firmen sehen die Vorteile, welche solche “Shared” Online Lösungen bieten.

Man zahlt einen Bruchteil der Gesamtkosten, erhält jedoch die komplette Lösung.

Welche Ideen für Online Lösungen habt Ihr?

Ein paar interessante Beiträge:
Hagel IT zeigt die Vorteile von solchen Lösungen für Unternehmen auf
Auch exone geht auf die Herausforderungen und Chancen der Cloud ein

Bilder: Canva


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.

Schreibe einen Kommentar

Adresse

YUHIRO Entwicklungszentrum
Thattil Nadakalan Complex
(Opp. Church) Kuriachira
Thrissur, Kerala - 680006, Indien
Phone: +91 9846861166
Webseite: www.yuhiro.de
Email: info@yuhiro.de

YUHIRO

Wir arbeiten eng mit Ihnen zusammen um Ihre Anforderungen zu verstehen und daraufhin den richtigen Softwareentwickler für Sie zu finden und bereitzustellen.