Systementwicklung

Make – Not Buy
Es gibt viele Gründe, die zu der Entscheidung führen, ein komplettes Softwaresystem entwickeln zu lassen, beispielsweise Ressourcenengpässe oder strategische Überlegungen. Wir kommen ins Spiel, wenn Sie zu der Überzeugung gelangt sind, dass die Lösung Ihres aktuellen Problems sich höchstwahrscheinlich nur über die Entwicklung einer Individualsoftware realisieren lässt. Egal ob Ihr Unternehmen in einer uns bereits vertrauten Branche angesiedelt ist oder nicht, der erste Schritt für uns besteht in jedem Fall darin, Ihnen zuzuhören und Ihre Welt – auch über das zu lösende Problem hinaus – zu verstehen und zu verinnerlichen. Wir nehmen die von Ihnen übermittelten Informationen auf und verschaffen uns zunächst ein Modell der Anwendungsdomäne – von welchen “Dingen” sprechen wir, wie stehen die Dinge untereinander in Beziehung, welche Terminologie ist anzuwenden, wie lässt sich das konkrete Problem beschreiben und wie könnte sich eine zukünftige Lösung anfühlen. In diesem Zusammenhang beachten wir je nach Komplexität auch das nähere Projektumfeld: Wo gibt es Risiken, welche Interessen sind zu berücksichtigen, welche fachlichen, technischen, aber vielleicht auch politischen Rahmenbedingungen herrschen vor. Auf Basis dieses Modells Ihrer Domäne durchlaufen wir dann die klassischen Phasen der Systementwicklung: Anforderungserhebung und -analyse, Anforderungs- validierung, System Design, Implementierung, Test, ggf. Pilot oder Feldtest, danach Rollout, Schulung und Support.

Vorgehen
Unter Berücksichtigung moderner Systementwicklungsmethodik und vor allem unserer eigenen Projekterfahrung durchlaufen wir diese Phasen präferiert nicht sequentiell (Wasserfall), sondern versuchen jeweils kleinere Subsets der Phasen unter Verwendung von agilen Vorgehensbausteinen aus z.B. Kanban oder Scrum iterativ über kürzere Zeiträume parallel zu durchlaufen. Mit diesem Vorgehen sind wir effizienter bei der Reaktion auf Veränderungen und Sie haben durch schnellere Feedbackzyklen bessere Möglichkeiten zum Gegensteuern, falls der jeweilige Projektstand nicht Ihren Erwartungen entspricht oder andere Ideen sich bei Ihnen manifestieren. Agile Vorgehensweise und stringente klassische Prozessvorgaben schließen sich dabei nicht unbedingt aus. Wir haben Erfahrung mit Vorgehensmodellen für zertifizierbare Prozesse wie DO 178 B oder die Vorgaben des MPG, die wir sowohl nach Prozesshandbuch als auch unter Einbindung von agilen Elementen zu einem erfolgreichen Abschluss gebracht haben. Sofern wir an keine Vorgaben von Ihnen oder externen Rahmenbedingungen gebunden sind, arbeiten wir am liebsten über kurze Releasezyklen, deren Entwicklung wir nach Kanban organisieren.

Wenn Sie uns mit der kompletten Entwicklung eines von Ihnen benötigten Systems betrauen, dann kümmern wir uns um die tägliche Detailarbeit, verlieren dabei aber niemals die übergeordneten Ziele aus dem Blick und behalten den Blick aufs Ganze. Wir beherrschen die Realisierung von serverbasierten Multi-Tier (Datenbank) Systemen, auf die die Benutzer mittels Webbrowser, Mobile App, Client Applikation oder einer Kombination daraus zugreifen. Wir beherrschein ferner die Entwicklung von Standalone Anwendungen oder Tools für Ihre Arbeitsplatz PCs. Unser Profil wird abgerundet durch die Fähigkeit von Bauen von Embedded Systemen auf mehr oder weniger starken Geräten, wie z.B. SOCs oder  sonstigen IoT Geräten. In Abhängigkeit Ihrer Vorgaben, den Projektvorarbeiten oder unseren eigenen Best Practices arbeiten wir mit dem Technologie Stack, der für Ihr Projekt die besten Ergebnisse verspricht. Wir können Java, C/C++, ObjectiveC, Swift und .NET/C#, auf Windows, Linux oder Mac OS, 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.
Je nach Wunsch kümmern wir uns weiterhin um Begleitmaterial wie User oder Admin Guides, erstellen Schulungsunterlagen und halten Schulungen, organisieren für Sie den Rollout und den Support oder betreuen Ihre Märkte.