Individuelle komplexe Softwareentwicklung
Softwareentwicklung

Individuelle Softwarelösungen

Technologisch setzen wir in erster Linie auf Webtechnologie. Damit sind unsere Applikationen internetfähig, individuell dem Corporate Design entsprechend gestaltbar, plattformunabhängig und auf unterschiedlichen Geräten nutzbar (Responsive). Sie Software kann einfach via REST-Schnittstellen miteinander integriert und an vorhanden Systeme angeschlossen werden.

Unsere Anwendungen werden üblicherweise auf der Basis von Java, PHP oder Python entwickelt. Auch Frameworks wie Spring, Angular, React, Hibernate etc. und gängige Datenbanksysteme wie MySQL oder PostgreSQL spielen dabei eine große Rolle.

Zur Steigerung der Qualität unserer Produkte und der Projektperformace setzen wir Techniken wie Testautomatisierung, Codemetriken und Continuous Integration ein.

Wir setzen vorwiegend Open Source Technologien ein. Das hat nicht nur Kostengründe: Häufig sind Open Source Produkte durch ihre große Entwicklergemeinde qualitativ hochwertiger. Definitiv sind sie transparenter, Schwachstellen sind in der Regel bekannt und die Releasezyklen sind schneller.

Wie wir vorgehen

Zur Realisierung Ihrer maßgeschneiderten Software setzen wir auf agile Entwicklung. Anders als beispielsweise im Haus- oder Autobau lässt sich nicht jeder einzelne Schritt in der Softwareentwicklung im Vorhinein exakt planen. Die lineare Vorgehensweise mit der Erstellung eines Pflichtenhefts und dessen stumpfer Implementierung wird der heutigen Softwareentwicklung nicht mehr gerecht. Sie als Kunde gewinnen durch die agile Vorgehensweise die gewünschte Flexibilität. Sie müssen Ihre Anforderungen nicht vollständig im Vorhinein bis in das kleinste Detail spezifizieren. Zudem können Sie im Verlauf des Projekts Änderungswünsche einbringen, was Sie bei der linearen Vorgehensweise nach der Freigabe des Pflichtenheftes nicht mehr ohne Weiteres bzw. nur durch Anpassung von Auftrag und Pflichtenheft könnten.

Die agile Entwicklung bedeutet aber nicht, ohne jegliche Anforderungen ungesteuert zu agieren, sondern wird dem Umstand gerecht, dass Features nicht zu Beginn bis in das kleinste Detail spezifiziert werden können und hier zunächst grobe Anforderungen festgelegt werden, die nach und nach (iterativ) erweitert werden. Folglich entsteht die Flexibilität, Features im Entwicklungsprozess noch zu verändern oder durch andere zu ersetzen, weil sich vielleicht die Rahmenbedingungen in Ihrem Geschäftsprozess verändert haben und Sie darauf reagieren müssen. Das setzt allerdings Voraus, dass Sie als Kunde zu einer engen Zusammenarbeit über die gesamte Projektdauer hinweg bereit sind.

Als erster Schritt findet eine Analyse Ihrer Anforderungen und schlanke technische Konzeption zur Festlegung der technischen Rahmenbedingungen und Architektur statt. Daraus resultiert eine Beschreibung der wesentlichen Projektziele und deren gemeinsames Verständnis.

Die nachfolgende Implementierung erfolgt dann entweder auf Basis von Time & Material oder Agilem Festpreis. 

Mit Time & Material sind Sie maximal flexibel für Projekterweiterungen oder Anpassungen, da die geleistete Entwicklungszeit in regelmäßigen Abständen zu den vereinbarten Stundensätzen abgerechnet wird. 

Beim Agilem Festpreis muss eine vollständige, aber noch nicht detaillierte Beschreibung, des Vertragsgegenstandes festgelegt sein. Daraus wird zunächst ein indikativer Festpreisrahmen festgelegt, der allerdings noch nicht vertraglich bindend ist. Es wird gemeinsam mit Ihnen ein repräsentativer Teilbereich der Anwendung festgelegt, der in einer ersten Phase umgesetzt wird und als Testphase genutzt wird (Checkpoint-Phase). Nach der Checkpoint-Phase überprüfen wir zusammen die zuvor getroffenen Annahmen (Checkpoint-Phase-Evaluation). Auf Basis der Erfahrungen können dann Umfang, Rollen, Termine, Risikoteilung und der Festpreisrahmen vertraglich bindend festgelegt werden. Nach der Checkpoint-Phase haben Sie die Möglichkeit zu entscheiden, ob der Auftrag fortgesetzt wird oder nicht.