App Präsentation

Entwicklung von Individualsoftware und die Alternative

Lesedauer ca: 15 Minuten

Wir stellen hier vor, welche Stärken und Schwächen Individualsoftwareentwicklung und der Einsatz von Standardsoftware haben und wie Sie Ihre Entscheidung einfacher treffen können. Dazu haben wir die wichtigsten Aspekte zusammengefasst. 

1. Wie grenzen sich Individualsoftware und Standardsoftware voneinander ab?

Bei Individualsoftware handelt es sich um eigens für Sie entwickelte Anwendung. Das heißt, Ihr Dienstleister entwickelt eine maßgeschneiderte Software genau nach Ihren Wünschen. Wie der Name bereits sagt: es wird „individuell“ für Ihre Geschäftsprozesse entwickelt. Standardsoftware, als Alternative zur Individualsoftware, sind hingegend Massenprodukte, die lediglich durch wenige Parameter auf Ihren Anwendungszweck angepasst werden können. Naturgemäß ist der Einsatz von Standardsoftware im ersten Schritt kostengünstiger, zwingt Sie aber dadurch in ein gewisses Korsett an Funktionen und Bedienkonzepten zu schlüpfen. 

  • Einmalbezahlung für lebenslange Lizenz 
  • Miete von Software as a Service (Cloud-Lösungen) 
  • Freemium (Kostenlose Grundversion mit Zusatzfunktionen zum Freischalten) 

Viele der Hersteller schwenken immer mehr zum Abo-Modell und der Vermietung von Cloud-Software. Dadurch haben Sie wiederkehrende Kosten. Jedoch bekommen Sie dafür regelmäßige Updates.

Bei der Entwicklung von Individualsoftware wird in den meisten Fällen nach Aufwand vergütet. Wie jeder Dienstleister rechnet auch Ihr Partner für Softwareentwicklung die Kosten stundenbasiert ab. Wie viel die Software Sie am Ende kostet, hängt hauptsächlich von den für Sie entwickelten Funktionen ab. Die Entwicklung von Individualsoftware ist für alle interessant, die interne Prozesse optimal unterstützen wollen und diese von Anfang bis Ende durchgehend automatisieren möchten. Mit Individualsoftware lassen sich auch Ihre Kunden in die Prozesse integrieren und über die gewohnten Kanäle bedienen. Aufwändige Anwendungen (wie z.B. Textverarbeitung) empfehlen wir nicht selbst zu entwickeln. Vielmehr wäre es dann in diesem Beispiel sinnvoll, bestehende Standardsoftware wie Word automatisiert in die entwickelten Prozesse zu integrieren und durch Individualsoftwareentwicklung zu stützen.

  • Bearbeitung von Texten und Bildern (Word, Excel, Photoshop, …) 
  • E-Mail-Programme 
  • Newsletter-Marketing 
  • ERP-Software 

Die oben genannten Anwendungsfälle lassen sich bereits heute relativ gut durch Standardsoftware abbilden. Bestehende Anbieter haben hier bereits hoch anpassbare und aufwändig entwickelte Produkte umgesetzt.

  • Entwicklung eines Softwareproduktes für verschiedene Nischen 
  • Unterstützung individueller Prozesse im Unternehmen 
  • Kleine Helfer im Büroalltag 
  • Prozesse vor Ort durch mobile Anwendungen 
  • Integration von Kunden in eigene Prozesse per App

2. Wo liegen die Stärken und Schwächen von Individualsoftware und Standardsoftware?

Die folgende Tabelle fasst die wichtigsten Stärken und Schwächen der Vorgehensweisen Individualsoftwareentwicklung und Standardsoftware zusammen. 

 Standardsoftware Individualsoftware 
Flexibilität Große Abhängigkeit von den Entscheidungen des Herstellers. So gut wie keine Einflussnahme auf neue Features Höchste Flexibilität und Software nach Maß 
Time to Market Sofort Je nach Teamgröße und Anwendungsfall: 3 bis 12 Monate 
Schnittstellen Abhängig vom Hersteller beider Softwareprodukte Individuell planbar und integrierbar 
Kosten Monatliche Lizenzkosten abhängig von Mitarbeiterzahl und Anzahl der Lizenzen Initialer Kostenblock mit überschaubaren Wartungskosten 
Anpassungen Nicht möglich Individuell planbar 
IntegrationAufwendig, da die Prozesse an die Software angepasst werden müssenUnkompliziert, da die Software an die Prozesse angepasst wird
Wartung & PflegeSehr eingeschränkter Einfluss auf die WeiterentwicklungIndividuell planbar
KontaktAbhängig vom HerstellerDirekter Ansprechpartner

 

3. Beispiele für Individualsoftware

Die Entwicklung von Individualsoftware bietet viele Möglichkeiten. So haben wir für unsere Kunden neben ganz neuen Geschäftsmodellen (Blepi) auch hardwarenahe Software entwickelt (Rehm Schweißtechnik). Bei allen Projekten gilt dabei, dass man gerade bei der Softwarearchitektur alles richtig machen muss. Hier hilft es mit Dienstleistern zusammen zu arbeiten, die bereits viel Erfahrung in unterschiedlichen Anwendungsbereichen sammeln konnten. Dadurch kann eine hohe Qualität bei der Individualsoftwareentwicklung stets gewährleistet erhalten werden.

Das Unternehmen Rehm Schweißtechnik aus Uhingen entwickelt, produziert und vertreibt qualitativ hochwertige Schweißgeräte in der Region Göppingen. Zusammen mit uns hat Rehm seine Schweißgeräte fit für die vierte industrielle Revolution gemacht. Ziel war es dabei, ein System zu schaffen, das möglichst flexibel ist und die neusten Webstandards unterstützt. Hier begann die Zusammenarbeit beim Design der App, bis hin zur Entwicklung eines Webservers, der maschinensprache in aktuelle Standards der Webentwicklung überführt.

Vielen Dank an Codana für die gemeinsame Umsetzung der App für unsere Schweißgeräte. Was mit der Umsetzung eines App-Designs begann wurde zu einer jahrelangen und partnerschaftlichen Zusammenarbeit.

Gerd Kretzschmar, Leiter Entwicklung Rehm GmbH u. Co. KG

Auch ist die Individualsoftwareentwicklung für Startup Unternehmen ein spannender Bereich. Hier beginnt man meistens auf der grünen Wiese, wie z.B. bei unserem Kunden JakoMedien GmbH. Zusammen haben wir die App „blepi“ entwickelt, die Tierbesitzer und Tierbetreuer zusammen bringt. Das spannende an diesem Projekt war die Umsetzung von automatisierten Zahlungsprozessen. Denn sobald eine Plattform als Bezahlplattform auftritt, benötigt man als Anbieter eine sogenannte E-Geldlizenz. Mit den richtigen Partnern konnten wir eine konforme, sichere und einfach zu bedienende Plattform für Tierbetreuungen schaffen.

Mir ist es wichtig einen starken und zuverlässigen Partner an meiner Seite zu haben, der mein Vorhaben vollumfänglich versteht und umsetzt. Mit Codana habe ich diesen Partner gefunden. In kürzester Zeit wurde die App verwirklicht und die perfekte Grundlage für meine Idee geschaffen. Auf die Jungs von Codana ist Verlass.

Eva Jarosova-Korte, blepi-Gründerin und Inhaberin

4. Prozess zur Entwicklung von Software und Individualsoftware

Wer sich länger mit Projektmanagement im IT-Umfeld auseinandersetzt kommt an der Chaos-Studie nicht vorbei. Diese zeigt, dass die Hauptfehler im Projektmanagement unvollständige Anforderungen und sich häufig ändernde Anforderungen sind. Die Schwierigkeit in der Softwareentwicklung besteht darin, eine Architektur festzulegen, die zukunftsträchtig ist und eine hohe Flexibilität in der Ausgestaltung zukünftiger Funktionen bietet.

Doch die Zukunftsfähigkeit sollte nicht so viel Zeit in Anspruch nehmen, sodass man mehrere Jahre benötigt, um die Anwendung der Öffentlichkeit bereitstellen zu können.

Aus dieser Erfahrung sehen wir in der Entwicklung von Wasserfallmodellen und vom „Projektmanagement auf Zuruf“ ab. Unsere Software wird vorausschauend geplant und in kleinen Schritten umgesetzt. Hierzu setzen wir auf das Vorgehensmodell Scrum. Bei Scrum handelt es sich um ein Rahmenwerk für agile Softwareentwicklung, welches aufgrund seiner iterativen und inkrementellen Gestaltung hervorragend für die Entwicklung von Individualsoftware geeignet ist.

App-Entwicklung

Die Softwareentwicklung wird dabei in mehrere Sprints aufgeteilt. Jeder Sprint besitzt eine festgelegte Dauer und hat nach Ende der Frist die Auslieferung eines Artefakts als Ziel. Dieses Rahmenwerk zieht den Kunden in die Verantwortung und ermöglicht die schrittweise Verbesserung des Produkts und die Flexibilität, die das altbekannte Wasserfallmodell nicht besitzt.

Idealerweise führt jeder Sprint zum Release einer neuen Softwareversion für den Kunden und durch Analysen und Befragungen zu neuen Erkenntnissen des Nutzungsverhalten. Schritt für Schritt wird damit die Software immer mehr zu dem, was sich der Großteil der Nutzer wünscht.

Um Ihnen ein besseres Verständnis über die Unterschiede der genannten Vorgehensmodelle zu geben, haben wir für Sie beide Ansätze verglichen und die wichtigsten Aspekte zusammengefasst: 

 WasserfallmodellScrum
ZielerreichungDer Weg ist im Vorfeld fest definiert Der Weg wird Schritt für Schritt definiert 
Flexibilität Unflexibel gegenüber Änderungen und im Vorgehen Anforderungsänderungen können jederzeit problemlos übernommen werden 
Mitwirkung Zuarbeit des Auftraggebers ist nur in der Konzeptionsphase nötig Auftraggeber ist regelmäßig in den Entwicklungsprozess involviert 
FehlentwicklungenFallen erst sehr spät im Projekt auf Werden frühzeitig erkannt, da die Umsetzung nach jedem Sprint bewertet wird 
DokumentationLasten- und Pflichtenheft Nicht nötig 
Endprodukt Fertiges Produkt steht erst am Ende des Entwicklungsprozesses zur Verfügung Endprodukt entspricht besser den Bedürfnissen des Nutzers, da die Anforderungen im Laufe des Projekts angepasst werden 

 

Heutzutage stellt sich kaum ein Entwickler diese FrageEs sei denn der Auftraggeber wünscht sich als Vorgehensmodell das Wasserfallmodell. Doch dieser Fall wird immer seltener. Das liegt daran, dass das Wasserfallmodell zu den klassischen Ansätzen in der Softwareentwicklung gehört. Scrum hingegen ist der modernere Ansatz, der viele Vorteile gegenüber dem Wasserfallmodell bietet.  

Der ScrumExperte Kenny Rubin bemängelt beim Wasserfallmodell, dass es plangesteuert ist und dass erst am Ende des Projekts ein Wert entsteht.  Bei Scrum werden alle paar Wochen neue Features geliefert, anstatt sich auf ein Release irgendwann in der Zukunft zu konzentrieren.”  

Heute ein fertiges Feature zu bekommen bedeutet auch, heute Umsatz zu machen und Feedback zu erhalten”, erklärt Rubin. „Und Geld und Wissen heute zu erlangen, ist viel mehr wert, als Geld und Wissen erst morgen zu bekommen. 

Wir teilen die Meinung von Herrn Rubin und können Ihnen mit guten Gewissen Scrum als Vorgehensmodell für die Entwicklung Ihrer Software empfehlen.

5. Tips für die Entwicklung von Individualsoftware

Die Entwicklung von Individualsoftware zählt zu den komplexesten Vorhaben, die man anstreben kann. Ohne der Nutzung bestehender Komponenten ist die Entwicklung von individueller Software sehr teuer und nicht zielführend umsetzbar. Beachtet man ein paar Tips für Individualsoftware, kann man aber einige Fehler vermeiden.

Idealerweise führt jeder Sprint zum Release einer neuen Softwareversion für den Kunden und durch Analysen und Befragungen zu neuen Erkenntnissen des Nutzungsverhalten. Schritt für Schritt wird damit die Software immer mehr zu dem, was sich der Großteil der Nutzer wünscht.

Softwarekomponenten können als Bausteine zusammengesteckt, ein großes Ganzes ergeben. Das spart enorm viel Zeit, da die einzelnen Komponenten in sich geschlossen vertestet und funktional sind. Wir haben eigens hierfür verschiedene Benutzerschnittstellen bereits so entwickelt, dass sie in verschiedenen Projekten wiederverwendet werden können. Einen Anmeldebildschirm zum Beispiel entwickeln wir nicht mehr. Wir nutzen stattdessen einen bereits in unserem Fundus vorhandenen. Hier wissen wir auch, dass dieser Bildschirm funktioniert und alle nötigen Anforderungen für ein Softwareprodukt beinhaltet. Dies hat für die Entwicklung Ihrer Software den Vorteil, dass Sie sich bei Standardkomponenten wie dem Login keine großen Gedanken machen müssen. Dadurch sparen Sie enorm viel Zeit und Sie können sich auf komplexere Kompenenten konzentrieren.

Der Alptraum für einen Kunden: Mein Entwickler hat einen Fehler gelöst und nun funktioniert der Rest nicht mehr. Das kann man absolut vermeiden durch den Einsatz von Praktiken für Softwareentwicklung. In der Fachsprache nennt sich das: „Continous Integration“. Bei einem Projekt in dem bereits mehrere Monate Aufwand produziert wurde, kann man auf Dauer nicht mehr alle Bereiche und Methoden auswendig kennen.

Was, wenn ich die eine Methode ändere? Hat das Seiteneffekte für andere Bereiche? Genau hierfür nutzen Softwareunternehmen einen automatisierten Prozess. Dieser Prozess testet jede Änderung am Code und schlägt bei Seiteneffekten alarm. Ebenso wird die Auslieferung der Software automatisiert. Das hat den Vorteil, dass man den ausgelieferten Artefakten vertrauen kann. Wenn Entwickler auf ihren eigenen Rechnern die Artefakte bauen und ausliefern, kann es schnell sein, dass inkonsistente Versionen ausgeliefert werden. Wir raten strengstens davon ab, mit Unternehmen zusammen zu arbeiten, die kein Continuous Integration für ihre Projekte als Standard einsetzen.

Sie können noch so viel über Ihr Produkt nachdenken. Wie das Produkt ankommt, können erst Ihre Endnutzer sagen. Deshalb empfehlen wir die frühestmögliche Veröffentlichung der Anwendung. Das kann gerne auch mal nur 80 Prozent der Funktionen enthalten. Mit den Rückmeldungen Ihrer Nutzer können Sie die letzten 20 Prozent entwickeln. Aber dann, indem Sie das Feedback Ihrer Nutzer berücksichtigen und Ihr Produkt noch stärker am Markt ausrichten. Das „Minimum Viable Produkt“ beschreibt genau den Funktionsumfang, der für die erste Veröffentlichung Ihrer Software nötig ist. Nicht mehr und nicht weniger.

Was heißt das für Sie? Sie sollten sich auf das Wesentliche konzentrieren und Ihre Ideen reduzieren. Denn, je weniger Sie an Funktionen in den ersten MVP packen, desto schneller bringen Sie Ihr Produkt auf den Markt. Wir helfen Ihnen die wichtigsten Funktionen auszuarbeiten.

6. Förderung von Individualsoftware

Software ist die Zukunft. Digitalisierung eine der größten Herausforderungen für den Standort Deutschland. Das wissen die Länder und der Bund und bieten verschiedene Fonds und Zuschüsse für die Entwicklung von Individualsoftware an. Hier finden Sie eine Auflistung der aktuell laufenden Förderprogramme. Kommen Sie gerne auf uns zu, um gemeinsam einen Antrag zu stellen oder Unterstützung bei der Auswahl der Töpfe geben zu können.

  • https://www.digitaljetzt-portal.de/
  • https://wm.baden-wuerttemberg.de/de/innovation/innovationsgutscheine/
  • https://www.htgf.de/de/

7. Softwaremarkt Entwicklung in den nächsten Jahren

Das Jahr 2020 war für die meisten Branchen kein leichtes. Home-Office, Unsicherheiten und neue Maßnahmen gegen die Verbreitung von Covid haben uns alle in dem Jahr beschäftigt. Doch es gibt Hoffnung für den Softwaremarkt. Der „Corona-Knick“ ist in der unten abgebildeten Grafik sehr deutlich zu sehen. Aber gerade die Produktivitätssoftware und Unternehmenssoftware werden sich laut Studie in den nächsten Jahren nicht nur erholen, sondern weiter stark wachsen.

Die Grafik spiegelt das Ergebnis der Umfrage wieder, wo mehr als 10.500 Arbeitnehmer/innen Auskunft über die verwendeten Softwarelösungen in ihren Untehrnehmen gegeben hatten. Sie zeigt, dass der Softwaremarkt allgemein und besonders die Kategorie Unternehmenssoftware (hier als orangener Balken abgebildelt) im B2B-Bereich kuntinuierlich gewachsen ist und weiter wachsen wird. Der Grund dafür ist, dass die Unternehmen weiterhin bereit sind in die Unternehmenssoftware zu investieren.

*Um zur quelle zu gelangen, klicken Sie auf das Bild

Fazit Entwicklung von Individualsoftware oder Standardsoftware

Pauschal lässt sich die Frage, ob Individualsoftwareentwicklung oder Standardsoftware, zu Beginn nicht beantworten, aber anhand der oben genannten Stärken und Schwächen kommt man der Entscheidung ein großes Stückchen näher. Bei einigen Ansätzen lohnt es sich nicht, das Rad neu zu erfinden. So würden wir davon abraten, ein individuelles Produkt für Customer Relationship Management zu entwickeln, wenn man nicht ganz spezielle Anforderungen an den Prozess hat. Je mehr die Software in den Kern Ihres Geschäftsmodells dringt, desto eher würden wir die Entwicklung von Individualsoftware empfehlen. Oft lassen sich auch Anwendungen individuell und kostengünstig umsetzen. Gerade im Hinblick auf Ihren Wettbewerb kann die erfolgreiche und individuelle Entwicklung einen entscheidenden und komparativen Wettbewerbsvorteil bringen. Individuell entwickelte Software lässt sich nämlich um einiges schwieriger kopieren, als Software für den Massenmarkt.

Sie haben eine Projektidee?​​​

Vereinbaren Sie jetzt ein unverbindliches Strategiegespräch mit einem unserer Experten.