Unsere Services

Von der Konzeption bis zum Live-Betrieb.

Entwicklung

Wie gehen wir bei der Entwicklung vor?

Unser Entwicklungsprozess gliedert sich je nach Lösung in zwei Bereiche: die Front-End- und die Back-End-Entwicklung.

Front-End Entwicklung
Unter Front-End verstehen wir den Teil der Lösung, die der Nutzer sieht. Also die auf den Clients (Smartphones, Tablets, Desktops, etc.) dargestellte grafische Nutzeroberfläche sowie alle Interaktionen, die auf dieser Nutzeroberfläche stattfinden.

Bei der Entwicklung geht es vor allem darum, die aus dem Styleguide und dem Feinkonzept hervorgehenden Vorgaben präzise und pixelgenau umzusetzen und für eine geräte- und browserübergreifende einheitliche Darstellung zu sorgen. Wir entwicklen vorzugsweise nativ für iOS und Android, haben aber auch diverse hybride Lösungen umgesetzt via HTML5 und Frameworks wie Sencha, jQuery Mobile etc.

Back-End-Entwicklung
Unter Back-End verstehen wir die auf dem Server laufende Anwendung. Vereinfacht dargestellt führt der Webserver Programme aus, um dem Nutzer im Front-End beispielsweise einen bestimmten Datenbestand anzuzeigen oder umgekehrt, Front-End-Eingaben des Nutzers im Back-End zu bearbeiten, speichern etc.

Da der Erfolg einer Software zu einem großen Teil von der Leistungsfähigkeit, Stabilität und Sicherheit der Prozess- und Datenverarbeitung im Back-End  abhängt, steht an oberster Stelle ein intelligenter, vorausschauender Entwurf der Back-End-Architektur. In diesem werden im Rahmen einer technischen Spezifikation u.a. Architektur, eingesetzte Technologien, Coding-Richtlinien, Datenmodell und Schnittstellen definiert. Diese stellen dann die Grundlage für die darauf folgende Phase der System-, Anwendungs- und Datenbankprogrammierung dar.

Von uns bei der Back-End-Entwicklung eingesetzte Technologien sind u.a.

    • Java EE (Servlets, JSP, Web Services)
    • Web- und Application-Server (Apache Tomcat)
    • Frameworks (Spring MVC, Spring Security, Quartz, Ehcache, Hibernate)
    • Datenbanken (SQL, Oracle)
    • Sprachen (Java, PHP)
    • Betriebssysteme (Unix/Linux, Windows)

Entwicklungsmethoden
Je nach Projekt, Aufgabenstellung und Vorgaben entwickeln wir entweder nach Wasserfallmodell oder aber nach den Methoden der Agilen Softwareentwicklung.

Agile Entwicklung zeichnet sich dadurch aus, dass – im Gegensatz zur klassischen Vorgehensweise – die umzusetzende Lösung in der Spezifikation nicht bereits in allen Einzelheiten genau geplant und dann in einem einzigen langen Durchgang entwickelt wird, sondern kurze Planungsphasen sich mit kurzen Entwicklungsphasen abwechseln. Die häufigen Rückkopplungsprozesse und zyklische, iterative Vorgehensweise (z.B. via Scrum) können dabei für ein besonders effektives und schnelles Vorankommen hilfreich sein. Gleichzeitig ist es bei diesem Vorgehen möglich, dem Kunden sehr frühzeitig Kern-Funktionalitäten der App vorzuführen und damit auch schnell und flexibel auf Änderungsanforderungen einzugehen, die sich durch die Rückkopplungsprozesse ergeben.

Nichtsdestotrotz gibt es auch Projekte bei denen einen Vorgehen nach Wasserfallmethode die schnellere, günstigere und sinnvollere darstellt. Die Entscheidung zum Entwicklungsprozess wird daher unter unserer Beratung und Empfehlung gemeinsam mit dem Kunden getroffen.