Wir müssen Ihre Abläufe und Herausforderungen verstehen, bestehende Systeme und Abhängigkeiten kennen lernen. Daraus entwickeln wir zusammen mit Ihnen die Anforderungen an die neue Lösung. Mit Ihren Prioritäten erstellen wir einen gemeinsamen Plan zur Umsetzung.
Individuelle Software Lösungen
Betriebliche Informationssysteme für Ihre Prozesse
Sie haben festgestellt, dass Sie eine individuelle Software zur Unterstützung Ihrer Arbeitsabläufe benötigen. Unser Projektteam entwirft die Software gemeinsam mit Ihnen, implementiert Ihre Lösung und liefert diese einsatzbereit aus - angepasst an Ihr Budget und Ihren Zeitrahmen.
Was wir Ihnen versprechen können:
Was tun wir für Sie?
Analyse und Design
Wir analysieren Ihre bestehende Systemumgebung und wählen geeignete Technologien für eine Neu- oder Weiterentwicklung Ihrer Systeme. Für die Architektur unserer Systeme entwickeln wir robuste und wartungsfreundliche Architekturen.
Technologieauswahl
Wir beschäftigen uns regelmässig mit neuen Technologien und verfolgen auch deren Nutzung in der IT Welt. Für die Lösungen bei unseren Kunden bevorzugen wir meist solide und langlebige Lösungen gegenüber sehr neuen, unausgereiften aber gehypten Technologien.
Programmierung, Testing, Deployment, Rollout
Für die Umsetzung der Lösungen nutzen wir die neuesten Tools und Verfahren der Software Entwicklung. Damit erhöhen wir unsere Schnelligkeit und Flexibilität in der Entwicklung. Die Programmierung automatisierter Tests - wo möglich und wirtschaftlich sinnvoll - gehören zu unseren üblichen Aktivitäten. Moderne Deployment Methoden für ein zuverlässiges Go Live der Lösungen gehören zu unserem Handwerkszeug.
Flexible Bereitstellung als Produkt oder Service
Wir besitzen auch Flexibilität in der Bereitstellung Ihrer Lösung. Eine Umsetzung als Bestandteil Ihres eigenen Produktes ist ebenso möglich wie das Anbieten eines Services, den Sie nur nutzen und sich nicht um alle technischen Details dahinter kümmern müssen. Gerne kann dies auch eine Cloud Lösung sein.
Wie gehen wir vor?
Aus Sicht der Softwareentwicklung müssen folgende Schritte durchlaufen werden:
Plan
Design
In diesem Schritt entwerfen wir die neue Lösung - sowohl aus Sicht der zukünftigen Nutzer als auch der technischen Architektur. Hier bringen wir unsere technische Expertise ein und legen den Grundstein für eine langlebige, robuste Lösung.
Develop
Das System wird stufenweise entwickelt. Neben der Entwicklung der eigentlichen Software werden auch jede Menge automatisierter Tests programmiert. Das kostet zwar Aufwand, sorgt aber für die Sicherheit, dass bei zukünftigen Erweiterungen alle existierenden Funktionen weiterhin korrekt laufen.
Test
Häufig "sprechen" unsere Lösungen mit anderen Systemen. Dieses Zusammenspiel muss vor der Einführung des Systems ausführlich getestet werden. Und hier legen auch unsere Kunden intensiv Hand an - wir wollen gemeinsam erleben, dass die Lösung genau die Anforderungen erfüllt.
Deploy
Wenn ein Stand erreicht ist, der auch produktiv eingesetzt werden soll, wird dieser auf der technischen Zielumgebung bereit gestellt. Die Zielumgebung kann bei Ihnen im Haus sein, bei einem Hoster oder auch in der Cloud.
Maintain
Die produktiven Lösungen müssen weiter betreut werden. Hier stehen wir für verschiedenste Modelle zur Verfügung. Zu regeln ist insbesondere die Unterstützung während des Betriebs und natürlich zukünftige Weiterentwicklungen.
Beim Vorgehen - also wie die oben genannten Schritte aufgeteilt und abgearbeitet werden - wenden wir bevorzugt ein hybrides Modell an, bei dem Elemente klassischer Vorgehen (wie die Spezifikation der Anforderungen) und agiler Methoden (wie die Umsetzung in Sprints) miteinander kombiniert werden. Lesen Sie mehr dazu in unserem Blogbeitrag Wir machen das agil, oder?. Natürlich berücksichtigen wir auch die Gegebenheiten bei Ihnen, um ein für beide Seiten passendes Vorgehen zu wählen.
Welche Arten von Lösungen implementieren wir für Sie?
Web Applikationen
Web Applikationen sind Fachanwendungen, die einem Benutzer mittels Web Browser zur Verfügung gestellt werden. Die Geschäftslogik läuft hierbei getrennt an einer zentralen Stelle (Applikations-Server). Modifikationen an der Geschäftslogik müssen nur an dieser zentralen Stelle durchgeführt werden, somit entfällt das lästige Verteilen von Applikationen auf den Client-Rechner. Web Applikationen können sehr schnell für mobile Geräte angepasst werden, da die Präsentationsschicht von der Geschäftslogik getrennt ist. Wir setzen stets ein sogenanntes "Responsive Design" um, so dass mit einer Programmierung eine saubere Darstellung der Informationen auf allen Größen mobiler Geräte (Smartphones, Tablets) gewährleistet ist.
Zu unseren Leistungen in diesem Bereich gehört u.a.:
- Beratung bei der Auswahl der geeigneten Technologien und Lösungen
- Design einer ergonomischen Benutzerschnittstelle durch erfahrene Web (UX) Designer
- Verwendung modernster Oberflächentechnologien (AJAX, vuejs, ...)
- Einsatz von OpenSource Frameworks, wie Spring, Hibernate und Grails
Portale
Portale bieten einen zentralen Zugang zu heterogenen Informationen, die aus unterschiedlichsten Informationsquellen stammen können. Vergleichbar mit einem Cockpit in einem Flugzeug hat der Benutzer alle für ihn relevanten Informationen (Personalisierung) auf einen Blick zur Verfügung. Ein ständiges Wechseln zwischen unterschiedlichen Applikationen ist nicht mehr nötig. Die präsentierten Informationen sind nicht statischer Natur sondern werden aktuell aus den verschiedenen Informationsquellen ermittelt. Fähigkeiten zur Anbindung / Integration separater Applikationen werden hier intensiv benötigt.
Zu unseren Leistungen in diesem Bereich gehört u.a.:
- Beratung zum Einsatz von Portalen / Konzeption
- Unterstützung bei der Auswahl und Evaluation einer geeigneten Portal-Lösung
- Design einer ergonomischen Benutzerschnittstelle
- Design von konfigurierbaren Modulen
- Entwicklung eines Benutzer- und Rollenmodells als Grundlage für die Personalisierung
- Integration von Backend-Systemen, wie z.B. SAP oder Siebel
- Integration von WCMS bzw. DMS Systemen, wie z.B. OpenCMS, OpenText, Adobe CQ, Documentum ...
- Prozess-Integration der Portal-Lösung in eine Service orientierten Architektur
- Architekturberatung (IT-Sicherheit, Verfügbarkeit, Skalierbarkeit)
Mobile Lösungen / Apps
Lösungen für eine mobile Welt haben eine hohe Bedeutung und verzeichnen seit Jahren ein enormes Wachstum. Inhalte und Daten müssen plattformübergreifend und stets aktuell zur Verfügung stehen - egal ob auf dem Smartphone, dem Desktop oder einem Shopfloor-Board. Neben der Entwicklung auf der Technologie der Zielplattform (iOS und Android) beschäftigen wir uns intensiv mit der Entwicklung hyprider Apps: Mit der Nutzung spezieller Frameworks kann mit einer Implementierung (anstatt jeweils einer Implementierung für iOS und Android) eine Lösung für die Apple und Android Welt umgesetzt werden. Dies spart Ihnen wertvolle Zeit und Kosten.
Zu unseren Leistungen in diesem Bereich gehört u.a.:
- Entwicklung einer mobilen Kunden-Strategie
- Entwicklung von mobilen Lösungen auf Basis von HTML5, Angular, VueJS
- Entwicklung von nativen Apps für Apple iOS (iPhone, iPad) bzw. Android
- Entwicklung von hybriden Apps mit Google Flutter
- Design von mobilen User-Interfaces
- Konzeption und Umsetzung von Mobile Security
- Optimierung bestehender Lösungen in Bezug auf Mobile Usability
- Coaching für die Konzeption und Umsetzung mobiler Lösungen: Lernen Sie von unseren Erfahrungen!
Systemintegrationslösungen
Viele Informationssysteme benötigen Daten aus verschiedensten anderen Systemen. Klassische Internet Portale sind häufig mit einem Customer Relationship Management (CRM) System verbunden oder benötigen Daten aus einem ERP System wie SAP. Zur Umsetzung einer langlebigen Lösung ist es häufig empfehlenswert, eine technische Entkopplung zwischen dem Portal und den anzubindenden, sogenannten Backend-Systemen zu erreichen. Hierfür werden Lösungen umgesetzt, die als Middleware zwischen den Systemen agieren und beispielsweise technische Aspekte der Systemanbindung vor dem einzubindenden System "verstecken" und so eine Integration vereinfachen. Wir konzipieren und entwickeln solche Middleware Lösungen, die Ihren Frontend Lösungen technisch moderne Schnittstellen bereitstellen.
Such-basierte Lösungen
Such-Technologien können nicht nur für klassische Anwendungsfälle wie die Suche auf einer Webseite / in einem Intranet verwendet werden - man kann diese Technologie auch für klassische Web Applikationen verwenden und damit Informationen aus Datenbanken abfragen oder analytische Auswertungen von Daten aus unterschiedlichsten technischen Quellen umsetzen. Als Such-Technologie haben wir umfangreiche Erfahrungen mit Elasticsearch. Elasticsearch ist eine flexible und verteilbare Open Source Such- und Analytics-Engine. Sie ist in der Programmiersprache Java geschrieben und baut auf der populären Suchbibliothek Lucene auf. Mit ihrer REST (JSON) Schnittstelle kann sie in Lösungen unterschiedlichster Programmiersprachen eingebunden werden.
Zu unseren Leistungen in diesem Bereich gehört u.a.:
- Architekturdesign und -review von Search-Driven-Applications basierend auf Elasticsearch
- Tuning & Performance Optimierung.
- Migration von Apache Solr oder FAST ESP auf Elasticsearch.
- Coaching: Wir helfen Ihnen, Elasticsearch in Ihrem Unternehmen einzusetzen
- Entwicklung: Wir realisieren Ihre neue Suche mit Hilfe von Elasticsearch in den Bereichen Intranet (Enterprise-Suche) und Internet (Homepage, Shop, E-Commerce).
Lohnt sich Individualsoftware?
Diese Frage bekommen wir immer wieder gestellt. Und wir stellen häufig fest, dass es für individuelle Prozesse und Arbeitsabläufe oftmals keine passenden Standard-Lösungen gibt. Sind die erzielbaren Prozess-Verbesserungen nachhaltig oder wird damit die entscheidende Differenzierung gegenüber dem Wettbewerb erzielt, kann sich eine individuelle Lösung schnell lohnen. Zudem ist der Umfang variabel und kann von einem Zusatzmodul für die Standard-Software, über zusätzliche Integrationen bis hin zu kompletten Systemen reichen. Eine individuelle Lösung bedeutet zudem, dass wir nicht zwangsläufig alles selber programmieren. Soweit verfügbar und sinnvoll bedienen wir uns fertiger Open Source Komponenten, die Bestandteil der Lösung werden. Dies erhöht unsere Schnelligkeit und die Qualität der Lösung durch die Verwendung etablierter Komponenten.