Entwicklung einer Individualsoftware

( 6 )
Softwareentwicklung

Reicht eine Standardsoftware für Ihre Bedürf­nisse nicht aus und Sie suchen einen Partner oder eine Partnerin für die ex­terne Ent­wicklung Ihrer Indi­vi­dual­soft­ware? Dann finden Sie über unseren Bedarfs-Check bis zu drei passende Soft­ware­firmen.

Mit unseren hilf­reichen Fragen für die Eignungs­er­mittlung sowie unserer Über­sicht über die Vor­teile einer Individual­soft­ware unter­stützen wir Sie beim Ent­schei­dungs­prozess.

Unsere KMU-Einkaufs­exper­tinnen und -Ein­kaufs­experten kennen den Schweizer Markt und ar­beiten mit über 160 geprüften Soft­ware­ent­wick­lungs­firmen in der Schweiz zusammen. So finden wir schnell und einfach die passenden Partner­innen oder Partner für Ihr Unter­nehmen.

Kostenlos 3 Offerten für Softwareentwicklung erhalten



Falls Sie bereits einen User haben, können Sie mit dem Passwort die Eingabe der Kontaktdaten abkürzen.
*Mit dem Absenden stimmen Sie unseren Nutzungsbedingungen zu und nehmen Sie unsere Datenschutzbestimmungen zur Kenntnis.
Fortschritt: 0%

gryps.ch - Ihre KMU Einkaufsexperten
unabhängig, einfach und kostenlos

step by step icons

Weitere Infos zu unserem Service

Individualsoft­ware oder Stan­dard­soft­ware – Was eignet sich?

Im Vorfeld eines Software­projektes wird dem Auf­trag­geber bzw. der Auftrag­geberin häufig die Frage gestellt, ob die Bedürf­nisse mit einer Stan­dard­soft­ware wie einem CRM- oder ERP-System gelöst werden können, oder ob es eine individuelle Softwarelösung, also eine Individual­software, braucht. Diese Frage­n können beim Ent­scheid für oder gegen indivi­duelle Soft­ware­lösungen helfen:

  • Lassen sich die Geschäfts­pro­zesse mit einer Stan­dard­soft­ware gut genug abbilden?
  • Ist eine Integration der Standard­soft­ware in die beste­hende Umgebung möglich? Sind Schnitt­stellen vorhanden?
  • Ist eine Individual­soft­ware schnell genug ver­füg­bar und können ent­sprechende Res­sourcen 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 Ver­fügung? Lässt sich eine kunden­spezi­fische Soft­ware­ent­wicklung finanzieren?

Achtung: Die Kosten einer Indivi­dual­soft­ware für Ihr Unternehmen sollten schon vor dem Projekt­start abge­schätzt werden, denn diese können rasch in die Höhe schnellen. Nicht selten benötigt eine Indivi­dual­ent­wick­lung mehr Zeit und wird dadurch teurer als ur­sprünglich geplant. Ein sorg­fältig auf­ge­setztes Pflichtenheft sowie erfahrene Soft­ware­ent­wick­lerinnen und Soft­ware­ent­wickler ver­ringern die Wahr­schein­lichkeit von Ver­zö­ge­rungen. Es kann sich zum Teil auch lohnen, auf Open-Source-Soft­ware­produkte zu setzen. Diese können im Gegen­satz zu vielen Stan­dard­soft­wares ent­sprechend den eigenen Bedürf­nissen weiter­ent­wickelt werden, was günstiger kommen kann als eine kom­plette Eigen­entwicklung.

Mehr zur IT-Kompetenz von Gryps


Vorteile einer Indivi­dual­soft­ware für Ihr Unternehmen

Zu den Vorteilen einer Individual­soft­ware gegen­über einer Stan­dard­soft­ware gehören unter anderem:

  • Hohe Flexibilität
  • Unkomplizierte Integration in die beste­hende System­umgebung
  • Nachträgliche Anpassungen und Schnitt­stellen sind jeder­zeit möglich
  • Bestehende Geschäfts­prozesse müssen nicht oder nur minimal an die Soft­ware angepasst werden
  • Minimaler Schulungsaufwand, da Soft­ware­lösung an das Unter­nehmen und seine Ge­schäfts­pro­zesse angepasst ist


Schritt-für-Schritt zur Indivi­dual­soft­ware

Im Gegensatz zur Standard­soft­ware, die von einem Soft­ware­haus für ver­schie­denste Kundinnen und Kunden angeboten wird, handelt es sich bei der Individual­soft­ware um eine mass­ges­chneiderte, indivi­duelle Soft­ware­ent­wicklung. Von Mobilen Apps über Webapplikation bis hin zu einer speziali­sierten Desk­top­anwendung, jedes Soft­ware­ent­wick­lungs­projekt ist indivi­duell. Erfolg­reiche Ent­wick­lungen haben jedoch alle etwas gemeinsam. Sie durch­laufen auf die ein oder andere Weise diese Phasen:


1. Beratung

Die Beratung legt die Grund­lage für ein erfolg­reiches Projekt. Dabei werden das Ziel des Projektes, die Rahmen­be­dingungen, sowie die benötigte Grund­funk­tiona­lität für Ihr Business mit dem Dienst­leister bzw. der Dienst­leis­terin abge­klärt und fest­gelegt. Ihr Ent­wickl­ungs­partner bzw. Ihre Ent­wick­lungs­part­nerin zeigt Ihnen ent­spre­chende Lösungs­an­sätze und Stra­tegien auf und legt mit Ihnen die nächsten Schritte des Projektes fest.


2. Analyse & Spezifi­kation der Indivi­dual­soft­ware

Bei der Anforderungsanalyse werden die vor­han­denen Systeme, Prozesse und Sof­twares analy­siert und die Spezifi­ka­tionen der Indivi­dual­soft­ware erhoben. Der daraus erstellte An­for­de­rungs­katalog (Defini­tion vom Lastenheft/Pflichtenheft) dient als Basis für eine detail­lierte Kosten- und Termin­schät­zung sowie für den Ent­wurf der Soft­ware­archi­tektur. Bei der agilen Soft­ware­ent­wicklung mit Scrum & Kanban werden die An­for­de­rungen nicht im Detail spezi­fi­ziert, son­dern anhand von User Storys beschrieben.


3. Systemarchi­tektur

Die Systemarchitektur beschreibt den Auf­bau einer Soft­ware, die ver­wen­deten Techno­logien und Kom­po­nenten und das Zusammen­spiel der ein­zelnen Elemente. Eine gute Soft­ware­archi­tektur ist ent­scheidend in Bezug auf Punkte wie:

  • Wartungsfähigkeit / Support
  • Flexibilität
  • Skalierbarkeit
  • Umsetzbarkeit
  • Geschwindigkeit

Um eine langfristige und nach­haltige Lösung zu erhalten, muss eine gute Soft­ware­archi­tektur schnelle Ver­änderungen durch den Her­steller oder die Her­stellerin mit­ein­be­ziehen können.


4. Entwicklung der Indivi­dual­soft­ware

Diese Phase beinhaltet die eigent­liche Ent­wicklung der Soft­ware. Je sorg­fältiger in den Schritten davor gear­beitet wurde, desto effi­zienter gestaltet sich die Umsetzung. Das Resultat sollte eine nach­haltige, stabile Lösung sein, die einen mini­malen War­tungs­auf­wand auf­weist. Je nach An­bieter werden unter­schied­liche Methoden der Soft­ware­ent­wicklung ein­ge­setzt (zum Bei­spiel agile Ent­wicklung/Scrum oder Wasser­fall­methode).


5. Software-Testing

Um die Qualität einer Individual­soft­ware sicher­stellen zu können, muss jede Funk­tion oder jeder Use Case in jeder mög­lichen oder wich­tigen Um­ge­bung (Browser, Betriebs­system etc.) getestet werden. Ein profes­sio­nelles Testing ist Bestand­teil einer guten Soft­ware­ent­wicklung und stellt sicher, dass die Soft­ware auf jedem Gerät korrekt funk­tio­niert und angezeigt wird.


6. Produktion / Go Live der Individual­soft­ware

Ist eine Software ausreichend getestet und vom Kundinnen und Kunden geprüft, kann der Schritt in die Produk­tion, das soge­nannte Deployment er­folgen. Dies ist oft der kritischste Schritt, ins­be­son­dere wenn es sich um eine Ablösung eines be­ste­henden Systems handelt und der Betrieb naht­los weiter­laufen soll. Daten müssen vom alten ins neue System migriert werden, Anwen­derinnen und An­wender geschult und auf­tretende Fehler schnellst­möglich behoben werden. Alle Aspekte des Soft­ware-Deployments müssen im Projekt recht­zeitig durch­dacht und geplant werden.


Agile Software­ent­wick­lung mit Scrum & Kanban

Beim eben beschriebenen Vorgehen ist mehr­mals die Methode der agilen Soft­ware­ent­wicklung erwähnt worden. Als agile Soft­ware­ent­wicklung werden Ent­wick­lungs­pro­zesse und Methoden bezeichnet, die grösst­mögliche Flexi­bili­tät und eine schnelle Projekt­umsetzung ermög­lichen. Mit Me­thoden wie Scrum und Kanban soll neben der Opti­mierung des Arbeits­flusses auch das Risiko des Schei­terns möglichst klein gehalten werden. Durch die grosse Flexi­bili­tät kann ausser­dem schnell auf unvorher­gesehene Ereig­nisse reagiert und dadurch das Budget besser im Griff behalten werden.


Agile Development mit Kanban und Scrum – FAQ

Was ist agile Softwareentwicklung?
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 Projekt­umsetzung ermöglichen. Zudem soll damit das Risiko des Scheiterns eines Software­projektes oder einer Produkt­entwicklung minimiert werden.

Wichtige Prinzipien sind dabei die frühe und kontinuierliche Aus­lieferung von Software in kurzen Zeit­spannen und übersichtlichen Blöcken, die tägliche Zusammen­arbeit der wichtigen Beteiligten, Einfach­heit sowie selbst­organisierte Teams.

Welche Vorteile hat agile Softwareentwicklung?
Gegenüber den klassischen Vorgehensmodellen wie dem V-Modell (Wasserfallmodell) ist die agile Ent­wicklung flexibler und schlanker und kommt mit kürzeren Entwicklungszyklen aus. Das Risiko, dass das System zum Zeitpunkt der Einführung von den äusserlichen Gegeben­heiten schon wieder überholt ist, ist geringer.

Welche Nachteile hat agile Softwareentwicklung?
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. Fest­preise sind schwierig, wenn die genaue Funktionalität im Detail erst während der Projekt­laufzeit definiert wird. Es gibt jedoch Methoden, auch zu einem agilen Fest­preis zu kommen, damit Projekte kalkulierbar bleiben.

Was sind agile Methoden für die Softwareentwicklung?
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 Arbeits­fluss und auf die Begrenzung der Anzahl an Auf­gaben in Bearbeitung, um so den maximalen Durch­fluss zu erzielen.

Wie erfolgt die Aufwandschätzung bei agiler Softwareentwicklung?
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äts­abschätzung nicht ständig verändert werden muss. Bei den agilen Schätz­verfahren wird das gesamte beteiligte Entwicklungs­team mit­ein­bezogen.

Wie funktioniert ein agiler Festpreis?
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 Fest­preis werden nach einer initialen Projekt- und Test­phase die Kosten und der Termin definiert und mit dem Kunden oder der Kundin ein Vorgehen zur Steuerung in einem gewissen Rahmen vereinbart.

Wie geht agile Softwareentwicklung mit Scrum?
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 Ein­haltung des Prozesses und den Prozess­ablauf. Der Product Owner definiert und priorisiert die Anforderungen und arbeitet direkt mit den Entwicklerinnen und Entwicklern zusammen. Man arbeitet in Sprints, das heisst Entwicklungs­zyklen von ein bis vier Wochen. Anhand eines Produkt- und Sprint-Backlogs sowie kurzen täglichen Standup-Meetings werden die Arbeits­pakete definiert und abgearbeitet. Als weiteres Hilfs­mittel für die Entwicklerinnen, Entwickler und Team­mitglieder kann ein Kanban-Board helfen.

Wie funktioniert agile Softwareentwicklung mit Kanban?
Kern der Softwareentwicklung mit Kanban ist die Verwendung eines White­boards, im Ideal­fall sogar physisch an der Wand, welches den Entwicklungs­zyklus anhand von Kolonnen enthält (zum Beispiel Backlog, In Progress, Test, Deployment, Livetest). Die Entwicklungs­aufgaben 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 Arbeits­fluss und der Beseitigung von möglichen Hinder­nissen.

Was versteht man unter DevOps und was hat das mit agil zu tun?
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 inter­disziplinär zusammen­gesetzt und trägt die Verantwortung für ein Produkt über den gesamten Lifecycle. Es ist die logische Weiter­führung eines agil ent­wickelten Projektes.

×

Bewertungen für Gryps

( 6 )

Medienberichte über Gryps AG:

Medien logos