Custom Business Applications

Welche Business-Software benutzt fast jedes Unternehmen?

Business Software dürfte in den meisten Startups ein Gesprächsthema sein. Wie bei allen Marketingbuzzwords fehlt aber auch hier oft eine klare Vorstellung, was eigentlich erreicht werden soll und erwartet werden kann. In den meisten Fällen wird Software eingesetzt, die nur teilweise den zugrunde liegenden Prozessen entgegenkommt. Das kostet viel Zeit und Geld und kann auch durchaus zum Scheitern von Vorhaben beitragen, die eventuell wesentlich einfacher und näher am Unternehmen durchgeführt werden können.

Die Antwort ist einfach: Excel. Gerade kleinen Unternehmen oder Startups fehlt das nötige Wissen über Business Software beziehungsweise Geschäftsprozesse im Allgemeinen. Meist wird angenommen, das Budget reiche nicht aus oder es gäbe nur unzureichend Bedarf. In der Realität werden Meilensteinplanung, Marktanalysen, Kundendaten, Mitarbeiterakten, Buchhaltung, Finanzkalkulation, Presseverteiler et cetera in Spreadsheets verwaltet. Mitunter spielen sich über Jahre ausgefeilte Workflows ein, die dann oft nur eine Person beherrscht.

Excel unterstützt zahlreiche Formeln und hat eine eigene Skriptsprache, die aufwändigere Datenverarbeitung ermöglicht. Kaum ein Mitarbeiter ist in der Lage wirklich das gesamte Potential von Spreadsheets zu nutzen. Das Umsetzen schon nicht mehr ganz trivialer Relationen mit Berechnungen erfordert viel Geschick.

Nichtsdestotrotz eignen sich Spreadsheets (oder sonstige Office-Dokumente), um nach Business-Software, Geschäftsprozessen und vor allem um nach deren Verbesserungspotenzial zu fahnden.

Wie kann Business Software Unternehmensaktivitäten unterstützen?

Generell kann Software überall eingesetzt werden, wo Menschen arbeiten. Im Grunde genommen könnte jeder Prozess automatisiert werden, in welchem nicht unbedingt menschliche Kreativität und Entscheidungsfindung nötig ist. Heruntergebrochen heißt das:

Businesssotftware soll:

  • Zeit sparen
  • direkt Geld sparen
  • den Gewinn maximieren (helfen)
  • Prozesse automatisieren
  • Aufgaben übernehmen, die für Menschen nervtötend und schwierig sind
  • die Zusammenarbeit und den Arbeitsalltag erleichtern
  • Informationen über das Unternehmen bereitstellen
  • Schnittstellen zwischen Unternehmen schaffen

Klassische Einsatzbereiche

  • Projektmanagement
  • Knowledgemanagement
  • Resourceplanning
  • Accounting
  • Redaktionssysteme
  • Feedbacksysteme
  • Warehousemanagement
  • Salestracking
  • Customer Relationship Management
  • Zuliefererverwaltung
  • Import / Export und Konvertierungswerkzeuge
  • Data Mining

Zwei Ebenen

a) Generische Businesssoftware
b) spezielle Applikationen

Mit generischen Lösungen sollte man in der Lage sein, ähnlich wie in Excel, die eigenen Datentypen und Felder definieren zu können, Beziehungen zwischen Entitäten abzubilden sowie importieren und exportieren zu können.

Das führt zu ganz bestimmten Anforderungen an die Software. Beispielsweise ist die Logik, die für eigene Datentypen‘ und ‚eigene Felder‘ nötig ist, nicht ganz trivial. Man kann mit einem solchen System sowohl ein Warehouse als auch seine Customer Relations managen. Die Schwierigkeit besteht in der Einrichtung des Systems und daran sieht man in der Praxis viele Unternehmen scheitern. Auch die User Experience leidet bei solchen Anwendungen meist, da der Verwendungzweck der Software nicht bekannt ist.

Auf der anderen Seite stehen Produkte, die ihren Verwendungszweck (CRM, ERP, Sales) bereits im Namen tragen. Worauf man sich hier verlassen kann (sollte) ist, dass die Oberfläche an die jeweiligen Wünsche der betreffenden Abteilung angepasst ist. Worauf man sich aber auch verlassen kann ist, dass diese Werkzeuge

a) irgendetwas können, das andere in ihrem Unternehmen auch können
b) sehr schlecht mit diesen kommunizieren werden

Möglichkeiten, eine Business Application zu betreiben oder zu beziehen

Software as a Service

Ein wichtiger Trend sind Anwendungen, die nicht mehr im Unternehmen installiert werden müssen, sondern als Service (über das Internet) benutzt werden können. Hier fehlt allerdings das tatsächliche Potenzial, komplexe Änderungen vornehmen zu können, und oft fühlt man sich etwas gefangen. Datenschutzfragen bleiben ungeklärt.

Open Source Software

OSS ermöglicht theoretisch die Anwendung selbst weiter zu entwickeln. Praktisch wird das aber oft an einer alten, gewachsenen und unschönen Codebase scheitern. Die Hoffnung, viele ausgereifte Updates aus der Community zu bekommen, bewahrheitet sich zwar bei klassischen Plugins, aber Kernfunktionalität, die fehlt, ist schwer zu beschaffen.

Kommerzielle, namhafte Anbieter

Es gibt einige bekannte Swiss Army Knifes und zahllose spezialisierte Lösungen auf dem Markt, für jeden Bereich oder für das ganze Unternehmen. Hier ist oft ein hoher Anpassungsaufwand nötig, der in der Regel nur von (teuren) zertifizierten Beratern des Unternehmens realisiert werden kann. Die Bestandteile solcher Werkzeuge können technisch relativ veraltet und unübersichtlich sein, was auch einfach wirkende neu Features oft erst nach geraumer Zeit mit sich bringen.

Außerdem gehen sie häufig mit bestimmten Anforderungen an Serversysteme oder auch Client-Rechner einher, was zu weiteren hohen Anschaffungskosten führen kann.

Custom Business Software

Es ist ein Trend zu erkennen, den vermutliche alle Teams in dem Bereich kennen: Unternehmen beauftragen Dienstleister nicht mehr nur für Frontend-lastige ‚Websites‘ oder Internetstartups, sondern für interne Prozesse. Wo früher noch auf jeden Fall große Markennamen wie SAP oder Sage gefallen wären und das Projekt dann aus Budgetgründen vielleicht eingestellt worden wäre, können die Technologien, die für die Entwicklung von Internetstartups zur Reife gebracht wurden, hier nur glänzen.

Generell ist Softwareentwicklung wesentlich bezahlbarer geworden. Dienstleister entwickeln ‚behaviour driven‘, ‚iterativ‘, ‚agil‘, ‚test driven‘ etcetera, ohne darauf im Detail eingehen zu wollen: Webentwickler sind es gewohnt, ständig neu definierte Anforderungen umsetzen zu können und haben die Werkzeuge, um den Endnutzer in den Prozess einzubeziehen.

Plus: Klassische Anbieter wie SAP mussten erst mühsam ‚Web lernen‘, weil sich herausgestellt hat, dass heutzutage eigentlich niemand mehr mit Einzelplatzlösungen arbeiten kann, Teams verteilt, Konzerne globalisiert und sowieso alle im Internet sind. Auch, wenn zahlreiche Programmierer selbst wenig bis keine Erfahrung mit Produkten wie SAP in ihrem Umfeld haben, ist das, was sie zu hören bekommen:

  • irrsinnig teure Projekte, in der Regel mindestens sechsstellige Kosten
  • extrem hoher Anpassungsaufwand (das Geschäfsmodell der Anbieter)
  • nochmal extrem hoher Schulungs- und Changemanagement-Aufwand.

Mal davon abgesehen, ob die Zufriedenheit danach dann vorhanden ist oder nicht, ist das etwas, das sich für kleine Unternehmen nicht einmal anbietet. Hier kann Custom Development punkten. Die Entwicklung erfolgt idealerweise iterativ, also mit schnellen ersten Ergebnissen und wöchentlichen Tests mit den zukünftigen Nutzern. Und nicht das Unternehmen wird an die Software angepasst, sondern umgekehrt. In der Regel lohnt sich das.

Dabei ist die Rechnung ganz einfach: Wenn man 40 Leute in der Redaktion hat, weil das Startup irgend etwas mit Content zu tun hat, sind das vielleicht 80.000 Euro im Monat. Wenn man nun die Produktivität um 20 Prozent durch eine maßgeschneiderte Lösung steigern könnte, dann haben sich die Entwicklungskosten für eine maßgeschneiderte Redaktionslösung vermutlich schon nach zwei Monaten amortisiert.

Geschäftsanwendungen aus dem Unternehmen herausentwickeln

Entwicklung von Businessanwendungen durch Story Driven Development: also die Entwicklung von Software anhand eines gewünschten Nutzererlebens (UX). Die Userstories können von den Mitarbeitern, welche die Anwendung benutzen sollen, auf recht einfache Weise beschrieben und dann direkt mit den Entwicklern ausspezifiziert werden.

Oft wird die Erfahrung gemacht, dass Anforderungen erstens wesentlich einfacher und günstiger umgesetzt werden können als im ersten Moment angenommen, wenn man sich mit den Prozessen im Unternehmen genauer beschäftigt und zweitens sich in der Regel schnell Alternativen und Workarounds für die zugrundeliegenden Prozesse finden lassen, die komplexeren Entwicklungsaufwand einsparen.

Mitarbeiter mit einbeziehen

Bei Rails-Coachings in Berlin, die überwiegend von jungen Vertriebs- oder Projektmitarbeiterinnen Berliner Startups besucht wurden, wurde sehr häufig Folgendes als Motivation zum Ausdruck gebracht, Programmieren zu lernen: “…,damit ich mir endlich selbst Software bauen kann, die meine Arbeit leichter macht”.

Aus Sicht eines größeren Railsteams erscheint es zwar utopisch, Softwareprobleme dadurch lösen zu wollen, dass alle Mitarbeiter mal ein bisschen Entwickeln lernen. Aber im Grunde ist das genau der richtige Punkt. Denn

  1. können sie so Prototypen erstellen
  2. an professionell erstellter Software Anpassungen vornehmen
  3. mindestens besser verstehen, was ihre Anforderungen sind und wie man sie umsetzt.
Bild: michael berger  / pixelio.de