Implementierung

Coding
In den Implementierungsphasen eines Projekts setzen wir Ihre Anforderungen, das UI/UX- und das System Design in ausführbaren Code um. Aufgrund der Ausbildung und der Erfahrung unserer MitarbeiterInnen können wir eine breite Palette an Programmiersprachen, Umgebungen, Frameworks und Technologien abdecken. Zudem sind wir stets bereit, uns in neue Themen einzuarbeiten. Wir bleiben am Ball, wenngleich wir deswegen nicht jedes neue Framework oder jede neue Technologie für produktive Anwendungen einsetzen. Wir können Java, C/C++, Objective-C, Swift und .NET/C#, auf Windows, Linux, macOS, iOS oder Android, für’s Web, als App, auf dem Server oder als Client Anwendung, speichern Daten in Oracle, MySQL, HANA oder in Files, deployen nativ oder dockerisiert.

Infrastruktur
Um mit einem mehrköpfigen Team gleichzeitig an derjenigen Codebasis zu arbeiten, welche die gesteckten Ziele für das nächste anstehende Release abdeckt, vertrauen wir auf Prozesse und Tools. Im Einklang mit dem gewählten Vorgehensmodell aktualisieren und bewerten wir den Aufbruch der umzusetzenden Features in technische Tasks gemäß dem vorliegenden Projektfortschritt. Wir arbeitem mit Git als robustes Quellcode-Verwaltungssystem und einem an unsere Philosophie leicht angepassten GitFlow-Prozess.

Code Qualität
Neben der fachlichen Korrektheit des Quellcodes liegt uns dessen strukturelle und syntaktische Qualität besonders am Herzen – denn sie beeinfusst entscheidend die Reaktionsfähigkeit auf Änderungen aller Art. Wir setzen zur Qualitätssicherung auf einen Mix aus automatisierten und manuellen Checks. So zeigt eine automatische Codeanalyse über SonarQube die Verletzung von syntaktischen Regeln oder statisch identifizierbaren Fehlern an. Zudem muss jeder Feature Branch vor dem Zusammenführen mit der Code Basis einen manuellen Peer Code Review, unterstützt von GitLab, durchlaufen. Hierbei achtet der Reviewer primär auf Lesbarkeit, aber auch auf die Einhaltung von sonstigen Konventionen, die nicht automatisiert abgeprüft werden können. Unsere auf GitLab/Docker/Rancher basierende Continuous Integration/Continuous Delivery Infrastruktur sorgt dabei im Hintergrund und vollautomatisch für schnelle Rückmeldung von Compilierbarkeit, von Ergebnissen der Syntax Analyse sowie der Ergebnisse von automatischen fachlichen Unit- und Integrationstests. Sie erlaubt uns, Release Kandidaten schnell zu erzeugen, final zu testen und an unsere Kunden auszuliefern. Diesen Prozess pflegen wir ständig durch fachliche und technische Verbesserungen, beispielsweise durch die Automatisierung der Erzeugung von Begleitdokumenten wie Release Notes.

Unabhängig davon, ob Sie uns mit einer spezifischen Aufgabe aus dem Bereich Implementierung je nach Erfordernis und Projektabschnitt für Ihr eigenes Projekt betrauen oder ob Sie eine komplette Systementwicklung in unsere Hände geben – wir sorgen dafür, dass die erzeugte Software nicht nur äußerlich Ihren Anforderungen entspricht, sondern dass sich auch das Innenleben nicht verstecken muss. Wir arbeiten gerne auf Basis Ihrer technischen Vorgaben oder identifizieren mit Ihnen gemeinsam den für Ihre Situation am besten passenden Technologie Stack.