Individualsoftware entwickeln lassen
Reicht eine Standardsoftware für Ihre Bedürfnisse nicht aus und Sie suchen einen Partner oder eine Partnerin für die externe Entwicklung Ihrer Individualsoftware? Dann finden Sie über unseren Bedarfs-Check bis zu drei passende Softwarefirmen.
Mit unseren hilfreichen Fragen für die Eignungsermittlung sowie unserer Übersicht über die Vorteile einer Individualsoftware unterstützen wir Sie beim Entscheidungsprozess.
Unsere KMU-Einkaufsexpertinnen und -Einkaufsexperten kennen den Schweizer Markt und arbeiten mit über 180 geprüften Softwareentwicklungsfirmen in der Schweiz zusammen. So finden wir schnell und einfach die passenden Partnerinnen oder Partner für Ihr Unternehmen.
Bedarf checken
Ausgewählte Anbieter vergleichen
Vom besten Angebot profitieren
Individualsoftware oder Standardsoftware – Was eignet sich?
Im Vorfeld eines Softwareprojektes wird dem Auftraggeber bzw. der Auftraggeberin häufig die Frage gestellt, ob die Bedürfnisse mit einer Standardsoftware wie einem CRM- oder ERP-System gelöst werden können, oder ob es eine individuelle Softwarelösung, also eine Individualsoftware, braucht. Diese Fragen können beim Entscheid für oder gegen individuelle Softwarelösungen helfen:
- Lassen sich die Geschäftsprozesse mit einer Standardsoftware gut genug abbilden?
- Ist eine Integration der Standardsoftware in die bestehende Umgebung möglich? Sind Schnittstellen vorhanden?
- Ist eine Individualsoftware schnell genug verfügbar und können entsprechende Ressourcen sowie Partnerinnen oder Partner gefunden werden?
- Wie flexibel sind Anpassungen möglich?
- Sind Ressourcen zur Wartung einer individuellen Softwarelösung vorhanden?
- Welches Budget steht zur Verfügung? Lässt sich eine kundenspezifische Softwareentwicklung finanzieren?
Achtung: Die Kosten einer Individualsoftware für Ihr Unternehmen sollten schon vor dem Projektstart abgeschätzt werden, denn diese können rasch in die Höhe schnellen. Nicht selten benötigt eine Individualentwicklung mehr Zeit und wird dadurch teurer als ursprünglich geplant. Ein sorgfältig aufgesetztes Pflichtenheft sowie erfahrene Softwareentwicklerinnen und Softwareentwickler verringern die Wahrscheinlichkeit von Verzögerungen. Es kann sich zum Teil auch lohnen, auf Open-Source-Softwareprodukte zu setzen. Diese können im Gegensatz zu vielen Standardsoftwares entsprechend den eigenen Bedürfnissen weiterentwickelt werden, was günstiger kommen kann als eine komplette Eigenentwicklung.
Vorteile einer Individualsoftware für Ihr Unternehmen
Zu den Vorteilen einer Individualsoftware gegenüber einer Standardsoftware gehören unter anderem:
- Hohe Flexibilität
- Unkomplizierte Integration in die bestehende Systemumgebung
- Nachträgliche Anpassungen und Schnittstellen sind jederzeit möglich
- Bestehende Geschäftsprozesse müssen nicht oder nur minimal an die Software angepasst werden
- Minimaler Schulungsaufwand, da Softwarelösung an das Unternehmen und seine Geschäftsprozesse angepasst ist
Schritt-für-Schritt zur Individualsoftware
Im Gegensatz zur Standardsoftware, die von einem Softwarehaus für verschiedenste Kundinnen und Kunden angeboten wird, handelt es sich bei der Individualsoftware um eine massgeschneiderte, individuelle Softwareentwicklung. Von Mobilen Apps über Webapplikation bis hin zu einer spezialisierten Desktopanwendung, jedes Softwareentwicklungsprojekt ist individuell. Erfolgreiche Entwicklungen haben jedoch alle etwas gemeinsam. Sie durchlaufen auf die ein oder andere Weise diese Phasen:
1. Beratung
Die Beratung legt die Grundlage für ein erfolgreiches Projekt. Dabei werden das Ziel des Projektes, die Rahmenbedingungen, sowie die benötigte Grundfunktionalität für Ihr Business mit dem Dienstleister bzw. der Dienstleisterin abgeklärt und festgelegt. Ihr Entwicklungspartner bzw. Ihre Entwicklungspartnerin zeigt Ihnen entsprechende Lösungsansätze und Strategien auf und legt mit Ihnen die nächsten Schritte des Projektes fest.
2. Analyse & Spezifikation der Individualsoftware
Bei der Anforderungsanalyse werden die vorhandenen Systeme, Prozesse und Softwares analysiert und die Spezifikationen der Individualsoftware erhoben. Der daraus erstellte Anforderungskatalog (Definition vom Lastenheft/Pflichtenheft) dient als Basis für eine detaillierte Kosten- und Terminschätzung sowie für den Entwurf der Softwarearchitektur. Bei der agilen Softwareentwicklung mit Scrum & Kanban werden die Anforderungen nicht im Detail spezifiziert, sondern anhand von User Storys beschrieben.
3. Systemarchitektur
Die Systemarchitektur beschreibt den Aufbau einer Software, die verwendeten Technologien und Komponenten und das Zusammenspiel der einzelnen Elemente. Eine gute Softwarearchitektur ist entscheidend in Bezug auf Punkte wie:
- Wartungsfähigkeit / Support
- Flexibilität
- Skalierbarkeit
- Umsetzbarkeit
- Geschwindigkeit
Um eine langfristige und nachhaltige Lösung zu erhalten, muss eine gute Softwarearchitektur schnelle Veränderungen durch den Hersteller oder die Herstellerin miteinbeziehen können.
4. Entwicklung der Individualsoftware
Diese Phase beinhaltet die eigentliche Entwicklung der Software. Je sorgfältiger in den Schritten davor gearbeitet wurde, desto effizienter gestaltet sich die Umsetzung. Das Resultat sollte eine nachhaltige, stabile Lösung sein, die einen minimalen Wartungsaufwand aufweist. Je nach Anbieter werden unterschiedliche Methoden der Softwareentwicklung eingesetzt (zum Beispiel agile Entwicklung/Scrum oder Wasserfallmethode).
5. Software-Testing
Um die Qualität einer Individualsoftware sicherstellen zu können, muss jede Funktion oder jeder Use Case in jeder möglichen oder wichtigen Umgebung (Browser, Betriebssystem etc.) getestet werden. Ein professionelles Testing ist Bestandteil einer guten Softwareentwicklung und stellt sicher, dass die Software auf jedem Gerät korrekt funktioniert und angezeigt wird.
6. Produktion / Go Live der Individualsoftware
Ist eine Software ausreichend getestet und vom Kundinnen und Kunden geprüft, kann der Schritt in die Produktion, das sogenannte Deployment erfolgen. Dies ist oft der kritischste Schritt, insbesondere wenn es sich um eine Ablösung eines bestehenden Systems handelt und der Betrieb nahtlos weiterlaufen soll. Daten müssen vom alten ins neue System migriert werden, Anwenderinnen und Anwender geschult und auftretende Fehler schnellstmöglich behoben werden. Alle Aspekte des Software-Deployments müssen im Projekt rechtzeitig durchdacht und geplant werden.
Agile Softwareentwicklung mit Scrum & Kanban
Beim eben beschriebenen Vorgehen ist mehrmals die Methode der agilen Softwareentwicklung erwähnt worden. Als agile Softwareentwicklung werden Entwicklungsprozesse und Methoden bezeichnet, die grösstmögliche Flexibilität und eine schnelle Projektumsetzung ermöglichen. Mit Methoden wie Scrum und Kanban soll neben der Optimierung des Arbeitsflusses auch das Risiko des Scheiterns möglichst klein gehalten werden. Durch die grosse Flexibilität kann ausserdem schnell auf unvorhergesehene Ereignisse reagiert und dadurch das Budget besser im Griff behalten werden.
Firmenverzeichnis
Hier gehts zum Anbieterverzeichnis mit mehr als 4'000 Einträgen.
Fakten und Zahlen zum Gryps-Offertenvergleich
- 50'000 KMU-Kunden
- 4'800 geprüfte Anbieter aus der Schweiz
- 110 Produkte und Dienstleistungen
- 13 Jahre Markterfahrung
Agile Development mit Kanban und Scrum – FAQ
Agile Softwareentwicklung ist der Überbegriff für einen Softwareentwicklungsprozess, bei dem Methoden wie Scrum und/oder Kanban angewandt werden, die grosse Flexibilität und schnelle Projektumsetzung ermöglichen. Zudem soll damit das Risiko des Scheiterns eines Softwareprojektes oder einer Produktentwicklung minimiert werden.
Wichtige Prinzipien sind dabei die frühe und kontinuierliche Auslieferung von Software in kurzen Zeitspannen und übersichtlichen Blöcken, die tägliche Zusammenarbeit der wichtigen Beteiligten, Einfachheit sowie selbstorganisierte Teams.
Gegenüber den klassischen Vorgehensmodellen wie dem V-Modell (Wasserfallmodell) ist die agile Entwicklung flexibler und schlanker und kommt mit kürzeren Entwicklungszyklen aus. Das Risiko, dass das System zum Zeitpunkt der Einführung von den äusserlichen Gegebenheiten schon wieder überholt ist, ist geringer.
Konsequentes agiles Entwickeln im Team kann anstrengend sein, da tägliche Kommunikation zwischen den definierten Rollen essenziell ist und die Zyklen sehr kurz getaktet sind. Bei Auftragsentwicklung durch externe Partnerinnen oder Partner kann zudem die Vertragsgestaltung und Preisfindung sehr anspruchsvoll sein. Festpreise sind schwierig, wenn die genaue Funktionalität im Detail erst während der Projektlaufzeit definiert wird. Es gibt jedoch Methoden, auch zu einem agilen Festpreis zu kommen, damit Projekte kalkulierbar bleiben.
Die häufigsten Methoden, die im Zusammenhang mit agiler Softwareentwicklung zum Einsatz kommen, sind Scrum und Kanban. Scrum ist die etwas komplexere Methode, bei welcher der Umgang mit Rollen, das Anforderungsmanagement mit User Stories, Backlog, die Aufwandschätzung (Planning Poker) und der Umgang mit Problemen (Impediment Backlog) genau definiert sind. Kanban hingegen fokussiert sich auf den Arbeitsfluss und auf die Begrenzung der Anzahl an Aufgaben in Bearbeitung, um so den maximalen Durchfluss zu erzielen.
Der Hauptunterschied zur Aufwandsabschätzung bei agiler Entwicklung im Vergleich zu klassischen Verfahren liegt darin, dass nicht mehr der Aufwand für im Detail definierte Funktionen geschätzt wird, sondern nur noch deren Komplexität. Dies hat den Vorteil, dass bei einer leichten Änderung der Funktion, die Komplexitätsabschätzung nicht ständig verändert werden muss. Bei den agilen Schätzverfahren wird das gesamte beteiligte Entwicklungsteam miteinbezogen.
Insbesondere bei externen Entwicklungsprojekten möchten viele Auftraggeberinnen und Auftraggeber mit einem fest definierten Projektpreis planen, um damit einerseits finanziell die Kontrolle zu bewahren und andererseits den Auftragnehmer oder die Auftragnehmerin in die Pflicht zu nehmen, ein Projekt zu vereinbarten Kosten und im gegebenen Zeitrahmen fertig zu stellen. Beim agilen Festpreis werden nach einer initialen Projekt- und Testphase die Kosten und der Termin definiert und mit dem Kunden oder der Kundin ein Vorgehen zur Steuerung in einem gewissen Rahmen vereinbart.
Scrum funktioniert in einem selbstorganisierten Team ohne Projektleiter oder Projektleiterin, bei dem trotzdem gewisse Rollen fest definiert sind. Der Scrum-Master kümmert sich um die Einhaltung des Prozesses und den Prozessablauf. Der Product Owner definiert und priorisiert die Anforderungen und arbeitet direkt mit den Entwicklerinnen und Entwicklern zusammen. Man arbeitet in Sprints, das heisst Entwicklungszyklen von ein bis vier Wochen. Anhand eines Produkt- und Sprint-Backlogs sowie kurzen täglichen Standup-Meetings werden die Arbeitspakete definiert und abgearbeitet. Als weiteres Hilfsmittel für die Entwicklerinnen, Entwickler und Teammitglieder kann ein Kanban-Board helfen.
Kern der Softwareentwicklung mit Kanban ist die Verwendung eines Whiteboards, im Idealfall sogar physisch an der Wand, welches den Entwicklungszyklus anhand von Kolonnen enthält (zum Beispiel Backlog, In Progress, Test, Deployment, Livetest). Die Entwicklungsaufgaben werden dabei in übersichtliche Schritte aufgeteilt und mit Post-it’s im Backlog aufgeklebt und Schritt für Schritt durch die verschiedenen Stufen geschleust. Der Fokus liegt dabei auf dem Arbeitsfluss und der Beseitigung von möglichen Hindernissen.
Bei DevOps geht es darum die sogenannte «Wall of Confusion» zwischen Entwicklung und Betrieb zu schliessen, damit kein wichtiges Applikations-Know-how bei der Übergabe in den regulären Betrieb verloren geht. Es handelt sich dabei weder um eine Methode noch um ein Framework, sondern setzt auf der Ebene Kommunikation und Organisation an. Ein DevOps-Team ist interdisziplinär zusammengesetzt und trägt die Verantwortung für ein Produkt über den gesamten Lifecycle. Es ist die logische Weiterführung eines agil entwickelten Projektes.
Brauchen Sie Hilfe bei Ihrer Beschaffung?
Joshua Olmesdahl und sein Team freuen sich auf den Kontakt mit Ihnen und beantwortet gerne Ihre Fragen.

Joshua Olmesdahl
Teamleiter KMU-Einkaufsexperten