Der Vorteil dabei ist, dass die Software perfekt an Ihre Bedürfnisse und Geschäftsprozesse angepasst ist. Außerdem gehören Ihnen sämtliche Rechte an der Software. Sie können die Software also verkaufen und damit auch Geld verdienen.
Nachteilig ist, dass die Entwicklung von Software (viel) Geld kostet. Das heißt, dass die Projektentscheidungen sehr sorgfältig getroffen werden sollten.
In diesem Artikel erhalten Sie die wichtigsten Informationen, die Sie für eine erfolgreiche individuelle Softwareentwicklung benötigen. Sie erfahren:
- welche Arten von Software programmiert werden können,
- wie ein Softwareentwicklungsprojekt abläuft,
- was die individuelle Softwareentwicklung kostet,
- wo Sie fähige Entwickler finden,
- wie Sie Ihre Anforderungen korrekt ermitteln,
- mit welchem Zeithorizont Sie bei der Entwicklung rechnen müssen,
- ob Sie Garantie- oder Gewährleistungsansprüche haben.
Arten von Software
In der Softwareentwicklung unterscheiden wir zwischen vier Gattungen der zu erstellenden Anwendung:
- Webanwendungen laufen im Browser und können einer großen Benutzergruppe zugänglich gemacht werden. Dazu zählen zum Beispiel auch Websites wie GoogleMail. Der große Vorteil von Webanwendungen ist, dass Sie auf jedem Computer und Smartphone ausgeführt werden können. Updates sind sofort auf allen Endgeräten sichtbar. Wir bei Adelt.IT haben uns auf diesen Zweig, also die Programmierung individueller Websoftware, spezialisiert.
- Desktopanwendungen werden auf dem Computer des Nutzers ausgeführt. Sie können prinzipiell auch offline, das heißt ohne Internetzugang, betrieben werden, sind aber abhängig vom verwendeten Betriebssystem. Auch wenn diese Art der Programmierung zunehmend aus der Mode kommt, hat sie durchaus ihre Daseinsberechtigung in einigen Bereichen. Überall dort, wo die Performance eine große Rolle spielt, kommen Desktopanwendungen zum Tragen. Das sind zum Beispiel Computerspiele und Fotobearbeitungsprogramme.
- Embedded Software wird direkt auf Microcontrollern ausgeführt. Dieser kleine Chip steuert ganz bestimmte Anwendungen. Im Alltag gibt es unzählige solcher Chips: in Wasserkochern (Abschalten und Piepsen bei Zieltemperatur), Waschmaschinen (Programmwahl), dem Auto (Bremsassistenten, Radio, etc.). Die Liste könnte ewig fortgeführt werden. Auch in der Industrie kommt solche individuelle Software zum Einsatz. Zu nennen sind hier etwa Speicherprogrammierbare Steuerungen und das gesamte Stichwort Industrie 4.0.
- Smartphone Apps werden direkt auf dem Handy ausgeführt. Das hat den großen Vorteil, dass der Nutzer jederzeit auf die App zugreifen kann. Außerdem erhält die App wertvolle Informationen und Möglichkeiten (Kamerazugriff, Telefonie, Standort,…). Idealerweise ist die Smartphone-App mit einer individuell entwickelten Webanwendung verbunden. So kann der Nutzer am Smartphone und am Computer mit dem Programm arbeiten.
Ablauf einer individuellen Softwareentwicklung
Es gibt eine ganze Reihe von Methoden zur strukturierten Vorgehensweise bei Softwareprojekten. Bei der individuellen Softwareentwicklung ist eine gewisse Systematik wünschenswert, um das Projekt zum erfolgreichen Abschluss zu führen. Sonst kann es passieren, dass die Kosten explodieren und das Projekt erst mit deutlicher Verspätung beendet wird.
Wir bei Adelt.IT versuchen immer, die wichtigsten Anforderungen von Anfang an zu verstehen, zu dokumentieren und zu kalkulieren. Das tun wir, indem wir mit einem Lastenheft arbeiten. Dieses ist grundsätzlich vom Kunden zu erstellen, doch wir unterstützen gerne bei diesem Prozess. Im Prinzip ist das Lastenheft ein Katalog mit allen Anforderungen an die Software.
Auf Basis des Lastenhefts kalkulieren wir die individuelle Softwareentwicklung und erstellen das Angebot.
Nun können Sie als Kunde wählen, ob Sie lieber eine agile Projektmethode bevorzugen oder streng nach Plan verfahren. Das hängt natürlich stark von Ihrer Branche ab. In der Pharmaindustrie arbeiten wir in der Regel nach einem strikten Plan, wohingegen wir in anderen Bereichen sehr frei und spontan agieren – ganz nach den Bedürfnissen des Kunden.
Kosten individueller Softwarelösungen
Individuelle Softwarelösungen sind in der Regel eine Investition. Nahezu immer soll die zu erstellende Software also mehr Geld einbringen oder einsparen, als sie kostet. Um die Sinnhaftigkeit dieser Investition zu bewerten und die Budgets zu planen, ist eine detaillierte Kostenplanung erforderlich.
Die Preise von freiberuflichen Softwareentwicklern und Unternehmen schwanken stark. Los geht es ab einem Stundensatz von ca. 75,-€. Hier bekommen Sie von einigen Freelancern individuelle Softwarelösungen mit einem in der Regel recht geringen Qualitätsniveau. Das eignet sich vor allem für kleine Aufträge mit einem klar abgegrenzten Volumen. Das obere Ende der Preisspanne liegt bei etwa 160,-€ für eine professionelle Entwicklerstunde. Erwarten dürfen Sie, dass der Entwickler mehrere Jahre Berufserfahrung hat, einige Programmiersprachen beherrscht und einen Studienabschluss der Informatik vorweisen kann.
Das äußert sich dann darin, dass er gängige Testverfahren kennt, performante Algorithmen programmieren kann und die Software deshalb stabil, fehlerfrei und schnell funktioniert.
Um nun die Gesamtkosten für Ihr aktuelles Projekt zu ermitteln, bitten wir Sie, mit uns in Kontakt zu treten. Wir ermitteln zusammen die Anforderungen und erstellen eine Kostenschätzung. Dieser Vorgang ist kostenlos und unverbindlich. Auf Wunsch erstellen wir gleich ein Referenzangebot, das Ihnen zeigt, was die Entwicklung bei uns kosten würde. Vergleichen Sie es mit anderen Angeboten – mit dem gemeinsam erstellten Lastenheft können Sie diese bei unseren Wettbewerbern anfordern. Natürlich wünschen wir uns, dass die ein oder andere langfristige Geschäftsbeziehung aus dieser kostenlosen „Starthilfe“ entsteht.
Entwickler finden
Entscheidender als alles andere für den Erfolg Ihres Softwareprojekts ist die Wahl des richtigen Teams bzw. Dienstleisters. Jeder, der an Ihrer Software arbeitet, sollte zuverlässig, fachlich kompetent und begeistert vom Projekt sein. Sie können es sich nicht leisten, jahrelang an mittelmäßiger Software herumzudoktern. Umso schlimmer ist es, dass viele Dienstleister ihre Zusagen nicht einhalten. Diese Erfahrung haben wir leider selbst schon machen müssen, als wir für eine Frontend-Entwicklung einen externen Partner beauftragt haben.
Des Weiteren sollte der Entwickler mindestens vier Projekte vorweisen können, die technologisch in eine ähnliche Richtung gehen wie Ihr Projekt. Projekte, bei denen der Softwareentwickler häufig wechselt, sehen nach einigen Jahren aus wie Kraut und Rüben. Die Folge ist, dass die Kosten für Updates und die Wartung explodieren und sich überall Fehler und Sicherheitslücken finden.
Daher ist unser eindrücklicher Rat: Setzen Sie auf Profis. Um diese zu finden, können Sie mehrere Kanäle anzapfen.
Entwickler online finden
Auf Twago.de können Sie Ihr Projekt ausschreiben. Sie erhalten dann mehrere Dutzend Standardschreiben von unseriösen Dienstleistern. Dazwischen kommt aber immer mal wieder ein ernst gemeintes Angebot mit konkreten Rückfragen und vielleicht sogar einer ersten Preisschätzung. Auch wir sind auf Twago aktiv und haben einen relativ hohen Twago-Punktwert, etliche erfolgreiche Projekte und sehr gute Bewertungen. Genau auf diese Eigenschaften sollten Sie bei der Auswahl eines Dienstleisters achten.
Der bessere Weg
Eine weitere Möglichkeit ist es, uns (oder einen vergleichbaren Dienstleister) direkt zu beauftragen. Adelt.IT ist ein kleines Unternehmen, das in Freiburg in Südbaden sitzt. Gegründet wurde es 2015 von Florian Adelt während seines Informatikstudiums. Florian hat bereits 2010 seine Ausbildung zum Fachinformatiker absolviert und verfügte somit über das nötige Hintergrundwissen. Mittlerweile sind wir zu viert und bilden auch aus: 2020 legte der erste Auszubildende Fachinformatiker für Anwendungsentwicklung mit Bestnoten seine Prüfung ab. Natürlich wurde er übernommen und kümmert sich seitdem um die individuelle Softwareentwicklung von Webportalen.
Softwareanforderungen ermitteln
Häufig wird die Relevanz der Anforderungen von Kunden und Entwicklern heruntergespielt. „Wir arbeiten partnerschaftlich“ heißt es dann oft. Der Aufwand einer professionellen Bedarfsermittlung wird oft gemieden. Auch wir haben in der Vergangenheit gelegentlich ohne formalisierte Anforderungen gearbeitet.
Das Ergebnis sieht wie folgt aus:
- Stellenweise weicht die Software von den Kundenwünschen ab. Der Kunde meldet die Abweichung – teilweise nach mehreren Monaten – als „Fehler“. Der Entwickler hingegen ist der Meinung, dass das nie vereinbart war und rechnet die Anpassung der Software ab.
- Ein Softwarefehler ist eine Abweichung der Spezifikation. Ergo benötigen Sie diese Spezifikation, wenn Sie Gewährleistungsansprüche geltend machen wollen. Ohne diese haben Sie es in späteren Auseinandersetzungen sehr schwer.
- Die Zeitpläne stimmen nicht und der Entwickler kommt mit dem Projekt und mit Folgeprojekten in Verzug.
Das Resultat ist dann häufig eine missmutige Grundstimmung bei allen am Projekt Beteiligten, die sich gegenseitig schlechte Arbeit unterstellen. Das ist jedoch vermeidbar. Als Kunde sollten Sie alle Anforderungen klar niederschreiben. Wenn Sie nicht über die hierfür notwendige Expertise verfügen, tun Sie dies am besten gemeinsam mit Ihrem Entwickler.
Beispiele für Anforderungen
Ein Beispiel von Anforderungen an individuelle Softwarelösungen finden Sie hier:
- Die Webanwendung muss auf den Browsern Mozilla Firefox, Google Chrome und Microsoft Edge fehlerfrei funktionieren.
- Nach dem Klick auf „Kaufen“, erhält der Kunde eine E-Mail mit der Bestellbestätigung. Die E-Mail mit der Bestellbestätigung enthält einen Anhang mit den AGB.
- Der Text für die E-Mails und die Anhänge sind im Backend vom Administrator pflegbar.
- Die Farbe des „Kaufen“-Buttons im Frontend ist Grün (Hex-Farbcode: #00ff00)
Mehr zum Erstellen des Lastenheftes für eine erfolgreiche Softwareentwicklung erfahren Sie in unserem Artikel: Softwareanforderungen dokumentieren.
Dauer der Entwicklung
Wenn alle Anforderungen vorliegen, werden sie einzeln vom Entwicklerteam geschätzt. Idealerweise schreibt hierzu jeder Entwickler seine Schätzung verdeckt auf eine Karte. Alle Entwickler zeigen dann gleichzeitig Ihre Schätzung. Die beiden Softwareentwickler mit der extremsten Schätzung (höchste und geringste) argumentieren dann über ihre Ansichten. So ist sichergestellt, dass nichts übersehen wird. Im Anschluss wird erneut geschätzt, der Mittelwert notiert und als Richtwert herangezogen.
Üblicherweise schlagen wir auf die Gesamtschätzung noch etwa 12%, um auf einen Puffer für Änderungswünsche, Fehlerbehebungen und Unvorhergesehenes zu haben.
Die Entwicklung von Software kann zwischen einigen Stunden (z.B. für ein kleines Plugin) bis hin zu mehreren Monaten für umfangreiche Systeme dauern.
Zur Gesamtlaufzeit hinzufügen sollten Sie etwa zwei bis drei Monate Vorlaufzeit. Alle guten Entwickler sind nämlich mindestens 8 bis 12 Wochen im Voraus ausgebucht. Dies ist jedoch keine verlorene Zeit, denn üblicherweise nutzen wir diese, um die Anforderungen zu präzisieren, Grafikentwürfe zu erstellen und Server anzumieten.
Mit dem Angebot erhalten Sie von uns auch einen exakten Zeitplan für die Umsetzung ab Beauftragung. Somit haben Sie alle Werkzeuge, die Sie zum Planen, Überwachen und Durchführen einer individuellen Softwareentwicklung benötigen.
Garantie und Gewährleistung auch bei individueller Softwareentwicklung
Als Softwareentwickler müssen wir die Software frei von Mängeln an den Kunden übergeben. Ein Mangel liegt dann vor, wenn die Software nicht die vereinbarte Beschaffenheit hat. Schwierig ist es, wenn gar keine Beschaffenheit vereinbart wurde. Dann muss man sich irgendwie einigen oder vor Gericht ziehen.
Ist die Beschaffenheit (also die Summe aller Anforderungen) im Lastenheft hingegen klar definiert, muss der Entwickler nachbessern. Diese Pflicht nennt man Gewährleistung.
Zusätzlich bieten manche Softwareentwickler (allerdings die wenigsten) freiwillige Garantien an. Bei Adelt.IT gehen wir dabei sehr weit: 4000 Tage ab Kaufdatum werden wir jeden Fehler in angemessener Zeit nachbessern. Auch hier greifen wir auf die Definition der Beschaffenheit im Lastenheft zurück.
Ergänzend dazu empfehlen wir einen Wartungsvertrag: Nur innerhalb dieses Wartungsvertrags stellen wir sicher, dass bei Updates von Fremdsystemen auch unsere Software weiterhin funktioniert. Das ist beispielsweise bei der Entwicklung von Plugins für Magento oder WordPress sehr wichtig. Ein Wartungsvertrag bietet Ihnen außerdem eine hervorragende Reaktionszeit im Fehlerfall auch an Sonn- und Feiertagen. Innerhalb von einer Stunde werden wir das Problem aufnehmen und kurzfristig beheben.
Häufige Fragen
Freiberufliche und gut ausgebildete Softwareentwickler kosten zwischen 75,-€ und 150,-€ die Stunde. Größere Firmen berechnen auch schon mal mehr, gerade wenn es sich um sehr spezifische Fachbereiche handelt.
Wir von Adelt.IT könnten das tun. Wir sind ein Team von Programmierern und jeder von uns hat zwischen fünf und zehn Jahren Erfahrung auf dem Gebiet der professionellen Softwareentwicklung. Alternativ könnten Sie auch auf einer Plattform wie Twago.de eine Ausschreibung starten.
Je nach Anwendungstyp müssen verschiedene Testverfahren angewendet werden. In der Webentwicklung haben wir Funktionstests, die einzelne Funktionsbausteine automatisch testen. Daneben verwenden wir auch Browsertests. Diese führen automatisch die Aktionen im Webbrowser aus. Das Ergebnis vergleicht der Tester dann mit einem Soll-Wert.
Natürlich sollte er fachlich einwandfrei arbeiten. Er muss also hervorragenden Code abliefern. Daneben sollte er aber auch Wissen über Softwaretests haben. Nur so lässt sich die Qualität dauerhaft sichern. Als Freelancer benötigt er außerdem Kenntnisse im Management von Projekten. Das ist wichtig, damit die Kosten nicht aus dem Ruder laufen.
In der Regel dauert die Programmierung etwa 1 – 6 Monate. Allerdings sollten Sie mit einigen Monaten Vorlauf kalkulieren. Denn gerade Entwickler mit gutem Ruf sind häufig ausgebucht.
Aus Gründen der leichteren Lesbarkeit wird auf eine geschlechtsspezifische Differenzierung, wie z.B. Entwickler/Entwicklerin, verzichtet. Entsprechende Begriffe gelten im Sinne der Gleichbehandlung für beide Geschlechter.