Die Wartungskosten für eine von uns entwickelte Anwendung liegen 30 % unter Marktdurchschnitt. Eine gewagte Behauptung, oder? Allerdings! Doch unsere Kunden werden bestätigen, dass sie stimmt. Jede von uns erstellte Softwareanwendung ist skalierbar, agil und so konzipiert, dass sie über viele Jahre hinweg einfach angepasst und gewartet werden kann. Auf diese Weise sorgen wir für niedrige Gesamtbetriebskosten (TCO).
Egal, wie ansprechend, benutzerfreundlich und funktional eine Software bei Inbetriebnahme ist, während ihrer Lebensdauer wird sie unweigerlich mit sich ändernden Anforderungen konfrontiert. Darum ist Zukunftssicherheit so wichtig. Eine langlebige Software muss einfach zu warten, anzupassen und zu erweitern sein.
Bei der Auswahl einer neuen Softwarelösung neigen Unternehmen oft dazu, sich für das System mit den niedrigsten Anschaffungskosten zu entscheiden. Durchaus nachvollziehbar, kann sich im Nachhinein aber rächen. Die Kosten für Betrieb und Wartung von Software – Updates, Fehlerbehebung usw. – können enorm sein und bis zu 15 oder sogar 20 % der initialen Kosten pro Jahr betragen. Rechnet man dazu noch die Kosten für Ausfallzeiten aufgrund von Softwareproblemen, wird deutlich, warum es aus Kostengesichtspunkten sinnvoll ist, in eine hochwertige, zukunftssichere Software zu investieren. Die Wartungskosten unserer Software sind durchschnittlich 30 % niedriger als bei anderen Systemen.
Die Kosten für Betrieb und Wartung von Software – Updates, Fehlerbehebung usw. – können enorm sein und bis zu 15 oder sogar 20 % der initialen Kosten pro Jahr betragen.
Die Grundlage für hohe Qualität und Zukunftssicherheit muss bereits in den frühen Phasen eines Softwareprojekts geschaffen werden. Im Folgenden erfahren Sie, wie die Teams unserer Digital Factory arbeiten, um Software zu entwickeln, die auch auf lange Sicht gut funktioniert – was immer die Zukunft bringt:
Unsere Entwicklungsteams lieben (neue) Technologie. Dennoch steht bei der Umsetzung von Anwendungen immer der Kunde im Mittelpunkt. Zukunftssichere Software muss in erster Linie die Erwartungen des Kunden erfüllen, heute und in Zukunft. Um das zu erreichen, beginnen wir jedes komplexe Entwicklungsprojekt mit einer Foundation Phase: eine Reihe von Workshops, die helfen zu verstehen, was die Business Driver des Kunden sind und welche Software(-architektur) benötigt wird, um diese Anforderungen zu erfüllen.
Bei der Festlegung des technischen Umfangs, d.h. der erforderlichen Architektur und des Technologie-Stacks, ist die Zukunftssicherheit der Technologie ein wesentliches Auswahlkriterium (Sprachen, Frameworks, Methodiken etc.). Dank jahrelanger Erfahrung und ständiger Weiterbildung kennen unsere Software Engineers die neuesten und besten Trends und Technologien. Noch wichtiger ist aber: Sie wissen, welche Technologien gut unterstützt und auch auf längere Sicht Bestand haben werden. Diese nutzen wir als solides Fundament für die neue Softwarelösung.
Die Zukunftssicherheit von Software hängt vor allem von der Qualität der Softwarearchitektur und des Codes ab. Hochwertiger Code lässt sich einfacher warten, anpassen, um neue Module oder Funktionalitäten ergänzen oder in einer neuen Umgebung ausführen. Unsere Softwareentwickler halten sich konsequent an Best Practices, um eine hohe Codequalität zu erzielen:
Keep it simple! Das Schreiben von möglichst einfachem Code stellt sicher, dass Software leicht zu warten ist: Jeder kann Änderungen vornehmen und das System um neue Funktionen erweitern.
Unsere Entwickler arbeiten in kurzen Sprints. So können sie problemlos Änderungen am Code vornehmen, ohne Zeitplan und Budget zu stark zu beeinträchtigen. In regelmäßigen Abständen erfolgt eine Abstimmung zur Festlegung der Prioritäten – falls nötig, indem wir die finanziellen Auswirkungen eines zusätzlichen Features oder eines gemeldeten Fehlers mit den Kosten für deren Entwicklung oder Behebung vergleichen.
Best Practices wie Pair Programming, Collective Code Ownership, Code Reviews sowie allgemein ein agiler Entwicklungsansatz, erleichtern den Wissensaustausch im gesamten Team. Auf diese Weise ist gewährleistet, dass jeder aus dem Team die Software des Kunden in- und auswendig kennt – und nicht nur ein Einzelner, der schon lange daran arbeitet. Zudem arbeiten wir eng mit unseren Kunden zusammen und transferieren Wissen, um die Kontinuität ihrer Systeme zu gewährleisten.