Jede Information, die als „identifiziert oder identifizierbar“ eingestuft werden kann, stellt personenbezogene Daten dar. Das kann ein Name sein, eine Adresse, eine Kartennummer, sogar eine IP-Adresse oder eine Cookie-ID. Die Allgemeine Datenschutzverordnung der EU (GDPR) versucht, das Gleichgewicht zu finden einerseits strikt genug zu sein, um Einzelpersonen einen klaren und fühlbaren Schutz zu bieten, und gleichzeitig flexibel genug legitime Interessen von Unternehmen und der Öffentlichkeit zu berücksichtigen. Die Einhaltung der Anforderungen der GDPR ist bei der Verarbeitung personenbezogener Daten erforderlich.

Datenschutz ist definiert als „rechtliche Kontrolle über den Zugang zu und die Verwendung von personenbezogenen Daten“. Genauer gesagt bezieht sich die GDPR auf „den Schutz natürlicher Personen bei der Verarbeitung personenbezogener Daten“. Es handelt sich im Wesentlichen um eine Reihe von Gesetzen, Vorschriften und bewährten Verfahren in Bezug auf die Erhebung und Verwendung personenbezogener Daten von Einzelpersonen. Informationssicherheit ist definiert als die Praxis des Schutzes von Informationen (sowohl physische als auch digitale Daten) vor unbefugtem Zugriff, Verwendung, Veränderung oder Störung.

In xitee bieten wir Dienstleistungen an, um Ihre Daten sicher zu halten und zu schützen.

Cyber-Angriffe auf kritische Infrastrukturen, wie z. B. auf Krankenhäuser, werden immer aggressiver und häufiger. Um mögliche Risiken in Hinblick auf  Ihre Lösung auszuschließen, bieten wir Penetrationstests an. Ziel ist es, mithilfe von Methoden, die normalerweise von Hackern verwendet werden, Schwachstellen zu identifizieren, durch die das System kompromittiert, vertrauliche Informationen verloren oder die Verfügbarkeit von Diensten beeinträchtigt werden kann.

Darüber hinaus empfehlen und bieten wir eine GAP-Analyse, um Ihre Prozesse, Aktivitäten und Abläufe hinsichtlich der Anforderungen der ISO/IEC 27001 zu bewerten und alle erforderlichen Maßnahmen zu identifizieren, um die Konformität mit den gesetzlichen Anforderungen zu gewährleisten sowie eine mögliche Zertifizierung zu erreichen.

Code-Überprüfung

Unser Quellcode-Review-Service zielt darauf ab, versteckte Schwachstellen und Designfehler aufzudecken und zu überprüfen, ob Sie die wichtigsten Sicherheitskontrollen implementiert haben. Hierbei verwenden wir eine Kombination aus automatischen Scan-Tools und manueller Überprüfung, um Kodierungspraktiken, Performance-Probleme, Sicherheitsschwachstellen, wie Injektionsfehler & Cross-Site-Scripting, Sicherheits-Konfigurationsregeln, integrierte Bibliotheken usw. zu überprüfen.

Der erste Schritt eines Code-Review-Prozesses ist das Durchführen einer Anwendungsanalyse und die Erstellung eines sog. Bedrohungsprofils.

Dem folgt eine Überprüfung des Code-Layouts, um einen spezifischen Code-Review-Plan für jede einzelne Anwendung zu entwickeln.

Anschließend verwenden wir in der Regel einen hybriden Ansatz, um sowohl automatisierte Scans als auch manuelle Code-Review durchzuführen.

Nach Überprüfung des Codes stellen wir Ihnen einen Abschlussbericht mit den gefundenen Schwachstellen sowie Lösungsvorschlägen / Optimierungsschritten zur Verfügung.

Gap-Analyse-Audit

Gap-Analysen zeigen strategische und operative Lücken in Ihrem Unternehmen auf, die verbessert werden sollten. Das Audit ermittelt den Reifegrad Ihrer Informationssicherheit auf Basis der Best-Practice-Anforderungen der ISO/IEC 27001.

Anhand der GAP-Analyse bewerten wir Ihre Prozesse, Aktivitäten und Abläufe im Hinblick auf die Anforderungen der ISO/IEC 27001:2013 und identifizieren alle erforderlichen Maßnahmen, um Konformität mit den gesetzlichen Anforderungen sowie eine optionale Zertifizierung zu erlangen. Mit unserem strukturierten Best-Practice-Modell schützen wir vertrauliche Daten, sichern die Integrität Ihrer Betriebsdaten und erhöhen die Verfügbarkeit Ihrer IT. Der Abschlussbericht enthält dann konkrete Empfehlungen. 

Ausgewählte Prüfungsschwerpunkte nach ISO/IEC 27001:2013:

  • Kontext und Führung der Organisation (Managementverantwortung, Governance, Richtlinien)
  • Planung (einschließlich Risikomanagement)
  • Support (einschließlich Ressourcen, Kompetenz, Kommunikation und Dokumentation)
  • Betrieb (operative Planung und Steuerung)
  • Leistungsbewertung (Überwachung, interne Audits, Managementbewertungen)
  • Zugriffskontrolle, Kryptographie sowie physische und umgebungsbezogene Sicherheit
  • Entwicklung und Wartung von Informationssystemen
  • Management von Sicherheitsvorfällen
  • Business-Continuity-Management
  • Einhaltung von Vorschriften
  • Kontinuierliche Verbesserung

Penetrationstests

Ein Penetrationstest ist ein simulierter Cyber-Angriff auf das Computersystem des Kunden, um es auf ausnutzbare Schwachstellen hin zu überprüfen. Im Zusammenhang mit der Sicherheit von Webanwendungen werden Penetrationstests in der Regel eingesetzt, um die Web Application Firewall (WAF) zu erweitern. Am Ende des Tests steht ein Ergebnisbericht sowie Empfehlungen für Optimierungsmaßnahmen.

Komplexe IT-Systeme sammeln und verarbeiten Daten, die potenziell missbraucht werden könnten.  Da in der Regel zumindest ein Teil des Systems öffentlich zugänglich ist, z.B. ein Webserver, muss sichergestellt werden, dass nur autorisierte Benutzer das System bedienen können und dass die Sicherheitsvorkehrungen keinen unbefugten Personen den Zugriff auf Systemelemente ermöglichen.

Die Systemsicherheit wird bewertet, indem ein simulierter Angriff auf das Computersystem durchgeführt wird. Anhand dieses Tests können Schwachstellen und die Auswirkungen eines möglichen Sicherheitsverstoßes identifiziert werden. Typische Bedrohungen sind z.B. Fehlfunktionen oder Überlastungen des Systems durch übermäßige Nutzung von Komponenten, die im öffentlichen Netzwerk zur Verfügung stehen (API, Webformulare…), der Verlust sensibler personenbezogener Daten oder der unbefugte Zugriff auf eingeschränkte Anwendungsfunktionen. Zu den Hauptformen von Penetrationstests zählen externe, interne und physische Penetrationstests.

Unser Ansatz zur Testmethodik:

  • PLANUNG – Festlegen von Gegenstand und Umfang des Sicherheitsaudits
  • SCANNING – Durchführung eines Kick-off-Workshops mit den Verantwortlichen für IT, Informationssicherheit und den Betrieb der betroffenen IT-Systeme
  • DURCHFÜHRUNG – Durchführung der Penetrationstests nach bewährten und etablierten Standards, wie z.B. dem OWASP Testing Guide. Einsatz bewährter, aktueller Tools und Durchführung ergänzender manueller Analysen/Nachprüfungen (False Positives).
  • ANALYSE UND REPORTING – Ergebnisbericht und Präsentation mit priorisierten Maßnahmenempfehlungen
  • OPTIONAL – Durchführung einer Nachuntersuchung

Vorteile von Penetrationstests:

  • Bessere Beurteilung des aktuellen Schutzniveaus eingesetzter IT-Systeme
  • Bewertung der etablierten Schutzmaßnahmen
  • Reduzierung der Haftungsrisiken, die durch unzureichende Sicherheit Ihrer Systeme entstehen

Sobald ein geschäftskritisches System implementiert wurde und Kunden beginnen es zu nutzen, muss dieses System gewartet und unterstützt werden. Das Hauptaugenmerk liegt darauf, sicherzustellen, dass das System weiterhin gemäß Spezifikation funktioniert. Die Dienstleistung „Support“ konzentriert sich auf die Serviceverfügbarkeit mit den Schlüsselprinzipien Redundanz, nahtlose Wiederherstellung nach Ausfällen, Minimierung der Zeit bis zur Reparatur/Instandsetzung sowie Fehlervorhersage und -vermeidung.

Der Service „Wartung“ konzentriert sich verstärkt auf kontinuierliche Updates des Betriebssystems, der Frameworks und der Bibliotheken (bildet die Voraussetzung für die Serviceverfügbarkeit), sowie auf das Hinzufügen zusätzlicher Funktionalitäten oder die Behebung von „Bugs“ mit niedriger Priorität, die das Softwaredesign und die Benutzerfreundlichkeit nicht beeinträchtigen.

Unser Unternehmen verfügt über Erfahrung in der Bereitstellung aller drei Supportstufen. Im 1st-Level-Support stellen wir Ihnen einen professionellen Service-Desk mit E-Mail- oder (Ruf)Bereitschafts-Support zur Verfügung. Im 2nd-Level-Support kümmern wir uns zum Beispiel um die Einrichtung und Verwaltung aller benötigten Umgebungen (Dev, Test, Acceptance, Production) und der Infrastruktur des Kunden, die sich entweder vor Ort oder im Rechenzentrum eines Drittanbieters befinden kann. Ein 3rd-Level-Support kümmert sich um die Behebung von Fehlern oder Problemen, die vom Kunden oder Monitoring-Service gemeldet werden.

Wir implementieren nicht nur ein Monitoring, sondern bauen proaktive Überwachungssysteme auf, die in der Lage sind, Sie frühzeitig warnen, noch bevor Ihre Kunden bemerken, dass etwas nicht stimmt. Wir übernehmen darüber hinaus die Verantwortung für Notfall-Backup-Pläne und unterstützen Sie bei der Bereitstellung neuer Releases. Unser SLA (Service-Level-Agreement) inklusive Reaktionszeiten ist individuell auf die spezifischen Bedürfnisse eines jeden Kunden abgestimmt. Alle vereinbarten KPIs (Key Performance Indicators) werden von unserem Service-Desk-Management-Tool nachverfolgt und wir stellen Ihnen ein monatliches Reporting zur Verfügung.

Unser Unternehmen bietet Ihnen zudem Infrastruktur-Support in den gängigen Clouds Microsoft Azure und Amazon Web Services (AWS). Neben der Implementierung und Wartung der Cloud-Infrastruktur können wir Ihnen auch bei der Automatisierung von Prozessen helfen. Dies kann erfolgen durch “Infrastructure as a code” mit Terraform, oder durch die Unterstützung des Konfigurationsmanagements, wobei wir Ansible verwenden.

Support & Wartung

Sobald ein geschäftskritisches System bereitgestellt wurde und vom Kunden genutzt wird, muss es gewartet und unterstützt werden, um auf dem neuesten Stand zu bleiben und die Leistung gemäß der Spezifikation zu erbringen. xitee bietet Anwendungs-Support und Wartungsdienste, um Unternehmen von diesen Kerngeschäfts-fremden Aktivitäten zu entlasten.

Wir besitzen Expertise in der Bereitstellung von Support auf allen Ebenen:

  • Professioneller Service-Desk (1st-Level-Support) mit E-Mail- oder (Ruf)Bereitschafts-Support. Unser Team verfügt über Service-Management-Tools, um KPIs zu verfolgen und zu reporten.
  • 2nd-Level-Support: Umgebungsprobleme, Durchführung von Deployments, Monitoring, Patch-Management des Betriebssystems und von Drittanbieter-Anwendungen.
  • 3rd-Level-Support: Behebung von Fehlern oder Problemen, welche vom Kunden oder dem Monitoring-Dienst gemeldet werden. Teil des 3rd-Level-Supports ist auch das Upgrade von Anwendungs-Frameworks und Bibliotheken.
  • Erweiterung der Software durch neue Softwareversionen. Wir bieten eine kontinuierliche Entwicklung neuer Funktionalitäten als auch die Bereitstellung neuer Software-Versionen.
  • Backup & Notfallpläne mit regelmäßigen Überprüfungen.

Unsere Servicezeiten und andere Aspekte des Service-Level-Agreements (SLA) einschließlich der Reaktions- und Lösungszeiten werden individuell mit jedem Kunden auf Grundlage seiner spezifischen Bedürfnisse abgestimmt. Alle vereinbarten KPIs (Key Performance Indicators) werden von unserem Service-Desk-Management-Tool nachverfolgt und wir stellen Ihnen ein monatliches Reporting zur Verfügung.

Gemeinsam mit unserem Partner HBSN AG können wir Ihnen den kompletten Zyklus von Support-/Wartungs- und Überwachungsleistungen anbieten, basierend auf Ihren spezifischen Anforderungen und Wünschen.

Aktives Monitoring

Ziel des aktiven Monitoring ist es, sicherzustellen, dass Ihr System durchgängig verfügbar ist und die erwartete Leistung erbringt, die zur Aufrechterhaltung Ihres Geschäftsbetriebs erforderlich ist. Dies ist besonders hilfreich in Bezug auf Systeme, die mit zahlreichen anderen Systemen von Drittanbietern integriert sind.

Wir implementieren nicht nur ein Monitoring, wir bauen proaktive System-Fähigkeiten auf, die Sie frühzeitig warnen, bevor Ihre Kunden bemerken, dass etwas nicht stimmt. Das System ist darüber hinaus in der Lage, Probleme selbst zu beheben und dadurch Auswirkungen auf alle Ebenen Ihrer Infrastruktur zu minimieren.

Unsere erste Wahl beim Monitoring ist Zabbix, ein professionelles Open-Source-Überwachungssystem. Unser Service umfasst:

  • Überwachung von Netzwerken, Servern, Anwendungen und Diensten
  • Inventarisierung aller überwachten Komponenten
  • Eskalationsverfahren
  • Echtzeit-Dashboards
  • Benachrichtigung / Alarmierung auf verschiedenen Kanälen
  • Automatisierte Fernbefehle zur Problemlösung
  • Trends und Vorhersagen

Unterstützung der Cloud-Infrastruktur

Durch das Cloud-Computing-Modell hat sich die Art und Weise verändert, in der viele Unternehmen ihre Systeme und Ressourcen verwalten. Es ist nun möglich, Infrastruktur von Drittanbietern zu mieten, anstatt eigene Rechenzentren zu bauen. Die führenden Cloud-Anbieter liefern sogar noch weitreichendere Vorteile als typische Rechenzentren von Drittanbietern. Sie sind auf die nächste Stufe des Cloud Computing (PaaS vs. IaaS) vorgerückt, was viele neue Vorteile mit sich bringt, wie z.B. einfache und schnelle Einrichtung der Infrastruktur, Vertragsflexibilität (Abrechnung innerhalb von Minuten, keine Langfrist-Verträge erforderlich), automatische Updates, Skalierbarkeit und einiges mehr.

xitee bietet Dienstleistungen zur Unterstützung der Cloud-Infrastruktur an, die im Wesentlichen aus Einrichtung der Cloud, Konfiguration, Überwachung und der Optimierung der Komponenten der Cloud-Infrastruktur bestehen. Wir spezialisieren uns auf Migration von On-Premise-Diensten in die Cloud. Unsere Expertise fokussiert sich hierbei auf die beiden gängigsten Cloud-Plattformen: Amazon AWS und Microsoft Azure.

Unsere häufigsten Tätigkeiten auf einen Blick:

  • AWS- & Azure-Kontoverwaltung (Sicherheit, Abrechnung, Zugriff)
  • Unterstützung der Netzwerkinfrastruktur (Einrichtung und Konfiguration)
  • Implementierung, Wartung & Überwachung (Monitoring) der Infrastruktur
  • Migration von Hyper-V oder VMware zu AWS oder Azure
  • Migration von SQL-Datenbankservern von On-Premise zu AWS oder Azure

Automatisierung, Konfiguration, Orchestrierung

Infrastruktur-Automatisierung ist der Schlüssel zu zuverlässigen und effizienten Prozessen. Die Automatisierung von Prozessen, die mehrere manuelle Schritte beinhalten und unternehmenskritisch sind, ist heutzutage ein Muss. Die Automatisierung der IT-Infrastruktur hilft dabei, die Produktivität zu maximieren und damit unseren Aufwand und die Entwicklungskosten zu senken. Unsere Hauptlösung Terraform vereint folgende wesentliche Fähigkeiten:

  • Automatisierung fast aller Infrastrukturen möglich
  • Unterstützung für AWS, GCP, Azure, Oracle Cloud, VMware Cloud, Openstack, etc.
  • Versionierung der Infrastruktur
  • Beibehaltung des definierten Status
  • Open-Source, daher wird keine Lizenz benötigt
  • Perfekt auf unseren Pool an DevOps-Tools abgestimmt

Konfiguration befasst sich mit den technischen und administrativen Aktivitäten im Zusammengang mit der Erstellung, Wartung, kontrollierten Änderung und Qualitätskontrolle des Arbeitsumfangs (Scope).

Ziel ist es, sicherzustellen, dass die Konfiguration von Systemressourcen, Computersystemen, Servern und anderen Assets bekannt, gut und vertrauenswürdig ist. Das Konfigurationsmanagement erfordert einen hohen Automatisierungsgrad, um diesem Ziel gerecht zu werden. Daher verwenden wir das Tool Ansible als Automatisierungs-Engine, das folgende Fähigkeiten aufweist:

  • Optimierung der Aufgaben des IT-Personals durch Automatisierung. So reduziert sich die Zeit, die IT-Mitarbeiter damit verbringen, „die Lämpchen am Leuchten zu halten“, wodurch wertvolle Personalressourcen für geschäftsbezogene Initiativen frei werden.
  • Reduzierung von Ausfallzeiten, die durch Systemausfälle, Cyber-Attacken, Sicherheits-Einbrüche sowie Änderungs- und Konfigurationsaktivitäten verursacht werden.
  • Die Optimierung des IT-Betriebs senkt Kosten in mehreren Bereichen, einschließlich Infrastruktur, ausgelagerte Dienste und der Management-/Verwaltungs-Software.
  • Sicherstellung, dass die Software jederzeit zuverlässig freigegeben werden kann.
  • Versionierung der Konfiguration, um den Überblick über alle Änderungen zu behalten, für problemlose Updates und Rollbacks.

Orchestrierung ist eine Möglichkeit, Ihr Anwendungsportfolio auf eine serviceorientierte Architektur (SOA) hin auszurichten und dadurch zu erreichen, dass Ihre Infrastruktur dynamisch, leicht skalierbar und kosteneffizient wird.

Wir helfen unseren Kunden bei der Analyse und Planung des Übergangs von einer monolithischen Anwendungswelt hin zu Microservices. Wir entwerfen die Infrastruktur und Systeme für eine einfache Entwicklung und schnelles Deployment, wobei wir die Kosten so gering wie möglich halten.

Um diese Ziele zu erreichen, werden die meisten Prozesse so weit wie möglich automatisiert, um die Anforderungen an das Betriebsteam minimal zu halten. Wir setzen hierbei auf die berühmte Plattform der Docker-Welt – Kubernetes, ausgestattet mit folgenden Fähigkeiten:

  • Service-Erkennung (Service Discovery) und Lastverteilung (Load Balancing)
  • Geheim- und Konfigurationsmanagement
  • Speicher-Orchestrierung
  • Horizontale Skalierung
  • Automatisierte Rollouts und Rollbacks
  • Selbstheilung (Self-Healing)

Die IT-Welt entwickelt sich laufend weiter und bringt immer neue Innovationen hervor. Diese Veränderungen können sowohl Chance als auch Bedrohung sein. Daher ist es so wichtig, einen innovativen Berater an Ihrer Seite zu haben, der Sie bei der Langfrist-Planung, der Entwicklung einer passende Strategie und dem Finden der richtigen Technologie für Ihre schwierigsten Geschäftsprobleme unterstützt.

xitee bietet ein breites Spektrum an Dienstleistungen, welche die IT-Effektivität Ihres Unternehmens steigern. Unsere Expertenleistungen umfassen spezialisierte Services wie digitale Transformation, Business-Analyse, UI/UX-Design, Projektmanagement und IT-Technologieberatung. Ziel der IT-Technologieberatung ist es, für unsere Kunden die beste Technologie zu finden, welche zum Erreichen ihrer Unternehmensziele beiträgt.

Die oben genannten Dienstleistungen können sowohl für Kunden mit einer bereits bestehenden Lösung sehr von Vorteil sein, als auch für diejenigen, die eine komplett neue Lösung bauen möchten. Wir bieten die Beratung zum Entwerfen einer neuen Lösungen entweder als Teil eines kompletten Entwicklungsprojekts an, oder individuell als separate Dienstleistung. Unser Team besteht aus IT-Experten mit langjähriger Erfahrung in den Bereichen Change Management, Softwareentwicklung und Anforderungsmanagement, sowie IT-Dienstleistern. Wir beraten und unterstützen unsere Kunden durch den gesamten Prozess hindurch, angefangen von der Analyse über die Strategie- und Konzeptentwicklung bis hin zur Implementierung und Produktionseinführung (Deployment). Bei Bedarf übernehmen wir auch Interim-Management-Aufgaben.

Digitale Transformation

Digitale Transformation beschreibt den Prozess zur Nutzung digitaler Technologien, mit dem Ziel neue (oder modifizierte) Geschäftsprozesse und Kundenerlebnisse zu schaffen, um den sich ändernden Geschäfts- und Branchenanforderungen dadurch gerecht zu werden.

Bei xitee bieten wir:

  • Lösungsberatung, bei der wir Ihre IT-Lösung analysieren und Sie bei strategischen Entscheidungen unterstützen
  • Digitale Transformation, indem wir Ihnen bei der Digitalisierung Ihres Unternehmens helfen. Digitale Transformation verschafft Ihrem Unternehmen Wettbewerbsvorteile
  • Machbarkeitsstudien, um die Realisierbarkeit einer Idee zu analysieren, z.B. inwiefern ein Projekt rechtlich und technisch umsetzbar sowie wirtschaftlich rentabel ist
  • Prozessverbesserungen, indem wir Ihre internen IT-Prozesse mit Best Practices in unserem Unternehmen und am Markt vergleichen. Der Bereich der Prozessoptimierung ist breit gefächert: Qualitätssicherung, Teststrategie und -vorgehen, Projektmanagement, Versionskontrolle, Release-Management, IT-Support & Wartung

Business-Analyse

Die Business-Analyse erhöht die Wahrscheinlichkeit auf Projekterfolg, steigert die Produktqualität, senkt die Entwicklungskosten und ermöglicht es unseren Experten, die Kundenprozesse auf Digitalisierung hin zu optimieren. Eine Business-Analyse kommt vor allem bei größeren Projekten mit umfangreichen Anforderungen und eher vagem Scope in Betracht. 

Unsere Business-Analysten analysieren die bestehenden Lösungen mit der Intention, diese zu verbessern, zu ersetzen, oder gemeinsam mit dem Kunden die Anforderungen an eine komplett neue Lösung zu definieren. Hierzu können wir Workshops vorbereiten und durchführen (offline oder online), in welchen wir die bestehenden Geschäftsprozesse beleuchten und Anwendungsfälle definieren. Dieser Prozess stellt sicher, dass keine vorhandene Schlüsselfunktionalität vergessen wird, die Erfahrungen mit einer bestehenden Lösung dienen zudem als Grundlage für neue Lösungserweiterungen.

Basierend auf unseren Erkenntnissen erstellt unser Team gemeinsam mit Ihnen (unserem Kunden) das Anforderungsdokument und die Spezifikation der neuen Lösung. Bei Bedarf helfen wir auch bei der Definition von Abnahmekriterien für die neue Lösung, die beim Testen verwendet werden sollen.

Typische Aufgaben von xitee sind unter anderem:

• Analyse des UI/UX und der Datenbank einer bestehenden Lösung
• Analyse & Modellierung von Geschäftsprozessen
• Vorbereitung und Durchführen von Workshops
• Dokumentation und Review von Anwendungsfällen (Use Cases)
• Analyse und Dokumentation von Anforderungs- und Spezifikationsdokumenten
• Erstellen und Zusammenfassen von Akzeptanzkriterien

Entwicklungsmethodiken

Die Wahl der richtigen Methodik ist ein Schlüsselelement für den Projekterfolg und spart Kosten. Viele unserer Kunden haben uns damit beauftragt ihnen dabei zu helfen, verfahrene Projekte zu retten, und genau dafür sind wir da.

Unser Team besteht aus Experten mit langjähriger Expertise im Projektmanagement. Wir beraten und unterstützen unsere Kunden während des gesamten Prozesses, von der Analyse über die Strategie- und Konzeptentwicklung bis hin zur Implementierung und Einführung in die Produktion (Deployment).

Bei der Herangehensweise an unsere Projekte verwenden wir in der Regel agile Methoden für deren Steuerung. In einigen Fällen wenden wir aber auch klassisch lineare Modelle an, beispielsweise “Wasserfall”. Die Wahl der Projektmanagement-Methodik richtet sich nach dem konkreten Projekt, seinen Besonderheiten und Anforderungen.

Die klassischen linearen Modelle (z.B. “Wasserfall“) rechnen mit einer vollständigen und detaillierten Spezifikation zu Beginn der Implementierung und eignen sich nicht sonderlich gut, um auf Anforderungsänderungen im Zuge der Implementierung zu reagieren. Obwohl diese Modelle bei gut definierten Anforderungen effizient sein können zeigt die Praxis, dass es für den Kunden oft sehr herausfordernd ist, die Anforderungen schon zu Beginn ausreichend zu definieren. Dieser Aspekt wird durch agile Modelle gelöst, welche davon ausgehen, dass sich die Anforderungen im Projektverlauf weiterentwickeln.

Wasserfall-Methodik: hierbei handelt es sich um ein konservatives Managementmodell, das eine vollständige Projektspezifikation vor Beginn der Implementierung voraussetzt. Der Vorteil dieses Modells besteht darin, dass das Gesamtprojektbudget bereits in einem frühen Projektstadium gut abgeschätzt werden kann. Dieses Modell verlangt jedoch vom Kunden, die Anforderungen auf sehr detaillierter Ebene beschreiben zu können, was abstraktes und analytisches Denken abverlangt. Zeit und Komplexität der Spezifikation werden bedingt durch die Projektgröße, was in größeren Projekten die Zeitspanne bis zum Beginn der Implementierungsphase ausdehnt. Der Nachteil der Wasserfall-Methodik ist die kostspielige Überarbeitung, sofern im Verlauf der Implementierung Änderungen erforderlich werden.

Im Gegensatz zur Wasserfall-Methodik erfordern agile Modelle keine vollständige Spezifikation vor Beginn der Implementierung. Die Implementierungsphase beginnt viel zügiger und ist in kleinen Zyklen (Inkrementen) organisiert. Jedes Inkrement wird spezifiziert, implementiert und an den Kunden ausgeliefert. Der Kunde prüft das Inkrement und passt die Anforderungen bei Bedarf an. Durch diesen iterativen Prozess sieht der Kunde die Software in kleinen Schritten wachsen und kann die Anforderungen kontinuierlich an den Bedürfnissen ausrichten.

Agile Methoden bieten einen strukturierten und iterativen Ansatz für Projektmanagement und Produktentwicklung. Sie begreifen die Volatilität der Produktentwicklung und bieten eine Methodik für selbstorganisierende Teams, um auf Veränderungen zu reagieren ohne dabei aus der Bahn zu geraten. Die zentrale Bedeutung des agilen Projektablaufs besteht darin, die Ressourcen maximal auszunutzen und eine sofortige Kooperation zwischen Entwicklungsteam und Kunden zu ermöglichen. Die wichtigsten agilen Ansätze sind Scrum und Kanban.

Projektmanagement

Wir verfügen über ein Team an erfahrenen Projektmanagern, bei denen es sich gleichzeitig um Experten für agiles Projektmanagement handelt und die über weitreichende Erfahrungen aus vielfachen unterschiedlichen Projekten verfügen. Zusätzlich wenden sie unsere unternehmenseigenen Best Practices an, um Projekterfolge sicherzustellen.

Wir organisieren unser Entwicklungsteam in der Regel nach der Kanban-Methodik und den Prinzipien den Lean-Development-Prinzipien (schlanke Entwicklung), unterstützt von Tools aus dem Atlassian-Stack (Jira, Confluence, Bitbucket und Bamboo). Diese Art der Organisation gewährleistet einen kontinuierlichen Arbeitsfluss, der es wiederum dem Entwicklungsteam ermöglicht, dank eines stabilen Fokus die beste Leistung zu erzielen. Gleichzeitig kann das Team sehr flexibel auf Änderungen in der Aufgabenpriorisierung reagieren, ohne dass dabei umfangreiche Planungszeremonien erforderlich wären.

Aufgrund ihrer Vielseitigkeit lässt sich diese Teamorganisation leicht an verschiedenste Projektmanagement-Modelle anpassen, von konservativ bis hin zu agil. Sie erlaubt es uns auch, Entwickler auf Kundenseite bei Bedarf in das Team zu integrieren. Je nach Kundenwunsch können wir das Team aber auch nach einer Scrum-Methodik organisieren.

Standard-Projektrollen bei xitee sind ein Projektmanager, ein technischer Leiter, ein Business-Analyst, ein Entwickler/Mitglied des Devops-Teams und ein Tester. Der Projektleiter ist der Hauptverantwortliche und somit wesentliche Ansprechpartner für das Projekt auf unserer (Anbieter-)Seite. Auf Seite des Kunden sind die Rollen des Product Owners und des Projektsponsors erforderlich. Empfohlen wird außerdem ein firmeneigener IT-Experte, welcher unsere Leistung beurteilen kann.

Der Product Owner ist der Hauptverantwortliche und somit Ansprechpartner für das Projekt auf Kundenseite. Je nach Organisationsstruktur des Kunden agiert der Product Owner eigenständig (trifft z.B. direkt Entscheidungen) oder koordiniert andere Rollen des Kunden (liefert z.B. Entscheidungsvorlagen an das jeweilige Management Board / den Vorstand). In beiden Fällen ist der Product Owner für die Definition der fachlichen Anforderungen, die Freigabe der Spezifikation und die Abnahme der Deliverables verantwortlich. Darüber hinaus koordiniert er alle Aktivitäten auf Seiten des Kunden und kontrolliert das Projektbudget.

Die Entscheidung, wie eng der Product Owner in das Entwicklungsteam integriert sein soll, liegt beim Kunden. Es ist möglich, den Product Owner nicht direkt ins Team zu integrieren – das Feedback erfolgt in dem Fall durch regelmäßige Produkt-Demos und Planungsmeetings. Eine weitere Möglichkeit ist es, den Product Owner komplett ins Team zu integrieren, was ihm/ihr ermöglicht, an den täglichen Stand-ups teilzunehmen und dadurch einen tiefen Einblick in die tägliche Arbeit des Teams zu erlangen. Grundsätzlich lässt sich sagen, dass eine höhere Agilität und weniger detaillierte Anforderungen eine intensivere Zusammenarbeit des Product Owners mit dem Team und Integration ins Team erfordern.

Der Projektsponsor ist eine Autorität auf Steuerungsebene, die in das Projekt eingebunden und für das Projekt verantwortlich ist.

UI/UX-Design

UI-Design befasst sich mit der „Benutzeroberfläche“, also dem grafischen Layout einer Lösung. Hierzu zählen die Schaltflächen, auf die der Benutzer klickt, Texte, Bilder, Schieberegler, Texteingabefelder und alle weiteren Elemente, mit denen der Benutzer interagiert. UI-Design untersucht das Bildschirmlayout, Übergänge, Oberflächenanimationen und jede einzelne Mikrointeraktion.

UX steht für „User Experience” (Nutzererfahrung). Im Mittelpunkt steht hierbei der Benutzer und seine Interaktion mit dem Produkt. Das Ziel des UX-Designs für xitee ist es, unseren Kunden und FE-Entwicklern einen reellen Blick auf die Lösungen zu bieten, bevor sie tatsächlich entwickelt werden. Dies ermöglicht ihnen eine bessere Vorstellung und ein besseres Verständnis von Aussehen, Features / Funktionen, der Verfügbarkeit auf unterschiedlichen Geräten und Plattformen sowie der Funktionalität der Software. Hierdurch können letztlich erhebliche Mittel eingespart werden.

Unser Vorgehen:

Wir verfolgen einen benutzerzentrierten Ansatz, um für unsere Kunden hochgradig nutzbare und zugängliche Produkte zu entwickeln. In der ersten Phase lernen wir die Business- Anforderungen des Kunden kennen und verstehen. Das bedeutet, wir begreifen den Kontext, in dem die Benutzer die Lösung verwenden können. In einer zweiten Phase entwickeln wir das Design. Die Ergebnisse werden daraufhin anhand der Benutzeranforderungen bewertet. Wir führen diese Phasen so lange in Form von Iterationen durch, bis die Auswertungsergebnisse zufriedenstellend sind. Die letzte Phase ist schließlich die Umsetzung des finalen Designs.

Vorteile, bzw. gutes UI/UX-Design führt zu:

  • geringeren Entwicklungskosten (keine Nacharbeiten)
  • erhöhter Qualität der Lösung (durch das Erstellen von User Journeys und Einbeziehen von Kundenfeedback)
  • erhöhter Kundenzufriedenheit, Engagement und Loyalität
  • Aufbau der Marke des Kunden (durch Einbinden von Unternehmensdesign und Logos)
  • einem höheren Ranking bei Google (da Kunden länger mit der UX-optimierten Website interagieren).

xitee bietet:

  • User Journeys: Eine User Journey ist die Visualisierung des Prozesses, den eine Person (User) durchläuft, um eine beabsichtigte Aufgabe zu erfüllen. Typischerweise wird sie als eine Reihe von Schritten dargestellt, in denen sich eine Person mit einem Produkt beschäftigt. Unser Ziel ist es, Ihre Benutzer zu “studieren”, ihr Verhalten zu verstehen und hieraus eine User Journey zu kreieren, die es diesen Benutzern ermöglicht, die gewünschten Aufgaben mit minimalem Aufwand zu erledigen.
  • Wireframes: Wireframes stellen die “Reise“ von Benutzern bei der Interaktion mit einer Website oder einer App dar, einschließlich UI-Elementen wie Schaltflächen oder Bildern. Diese werden in einer vereinfachten Version durch Platzhalter dargestellt.
  • Prototypen: Prototypen sind interaktive Endversionen des Produkts, vor Entwicklung. Sie sind anklickbar und ermöglichen es den Anwendern, die Hauptinteraktionen des Produkts vorab zu testen.
  • Metrikanalyse nach Produktlaunch: Metriken sind Signale, die anzeigen, ob unsere UX-Strategie funktioniert. Das Verwenden von Metriken ist essentiell, um Veränderungen im Zeitverlauf mitzuverfolgen. Wir helfen Ihnen gerne bei der Einrichtung und Nutzung von Analysetools wie Google Analytics oder Piwik.

IT-Technologieberatung

Technologieberatungsleistungen sollen den Kunden dabei helfen, durch schnelle und kostengünstige Optimierung ihrer IT-Systeme und -Prozesse einen optimalen ROI (Return on Investment) aus dieser Technologie zu erzielen. xitee verfügt über das Fachwissen, die nötige Technologie sowie die Best Practices, um ihrem Unternehmen sichere Lösungen zu liefern, die sowohl aktuelle als auch künftige Anforderungen erfüllen und dabei Risiken minimieren.

Wir arbeiten gemeinsam mit unseren Kunden daran, IT-Infrastrukturen zu bauen und zu warten, welche modern, effizient, skalierbar, konfigurierbar und kostengünstig sind. Unser Schwerpunkt liegt dabei auf folgenden Bereichen:

Architekturberatung: Unsere Experten unterstützen den Kunden beim Übergang von veralteten und ineffektiven IT-Bereitstellungssystemen und -Architekturen hin zu einer Cloud-basierten Infrastruktur, welche es ihnen ermöglicht, neue Technologien in ihre Softwarestrategie zu implementieren.

Anpassung an neue Technologien: Heutzutage müssen Unternehmen neue Technologien implementieren, um wettbewerbsfähig zu bleiben und den Anforderungen moderner Anwender gerecht zu werden – und gleichzeitig müssen sie eine gleichbleibend hohe Qualität ihrer IT-Produkte und -Services sicherstellen. Wir sind da, um Sie dabei mit unserem Devops-Team unter Einsatz neuester moderner Technologien zu unterstützen.

  • Architekturberatung: Unsere Experten unterstützen den Kunden beim Übergang von veralteten und ineffektiven IT-Bereitstellungssystemen und -Architekturen hin zu einer Cloud-basierten Infrastruktur, welche es ihnen ermöglicht, neue Technologien in ihre Softwarestrategie zu implementieren.
  • Anpassung an neue Technologien: Heutzutage müssen Unternehmen neue Technologien implementieren, um wettbewerbsfähig zu bleiben und den Anforderungen moderner Anwender gerecht zu werden – und gleichzeitig müssen sie eine gleichbleibend hohe Qualität ihrer IT-Produkte und -Services sicherstellen. Wir sind da, um Sie dabei mit unserem Devops-Team unter Einsatz neuester moderner Technologien zu unterstützen

Testen deckt mögliche funktionale und technische Mängel Ihres Produkts auf. Softwaretests liefern Informationen über die Funktionalität der Software-Lösung und auch darüber, ob deren Qualität alle erwarteten Anforderungen und Spezifikationen erfüllt. Am Ende des Testprozesses steht als Ergebnis ein Bericht über alle identifizierten Probleme und ihren Schweregrad.

Wir haben Erfahrung im Testen unternehmenskritischer, hochleistungsfähiger Systeme, sowie im Testen verschiedener Weblösungen unterschiedlicher Branchen / Sektoren. Das Testen von Handelsplattformen umfasst sowohl manuelle als auch automatische Tests über den gesamten Produktlebenszyklus hinweg. Die wichtigste Rolle spielen hierbei die Stresstest-Simulation von Benutzern, Kursen und Trades, sowie Regressionstests und Integrationstests. Im Bereich der Weblösungen haben wir Erfahrung mit E2E (End-to-End)-Automatisierungstests, einschließlich browser- und plattformübergreifende Tests, Sicherheits-Penetrationstests und automatischen Regressionstests mit maßgeschneiderten Regressionstools.

Das Ausliefern qualitativ hochwertiger Produkte durch xitee wird mithilfe kontinuierlicher Testintegration (Unit-Test, E2E-Test, Integrationstest, Regressionstest) sowie der automatisierten Überprüfung der Codequalität durch SonarQube sichergestellt. Unser Team besteht aus tschechisch-, englisch- und deutschsprachigen Testern und Beratern mit weitreichender projektübergreifender Test-Erfahrung.

Darüber hinaus bietet xitee Test- und QA-Beratung sowie Testmanagement-Dienstleistungen an. Test-Beratung unterstützt beim Identifizieren von Transformations-Initiativen zur Verbesserung organisatorischer Testprozesse, unter Nutzung von Best Practices im Test. Das Testmanagement kombiniert Projekt- und Risikomanagement, ergänzt um eine Best-Practice-Testmethodik.

Funktionstest

Funktionales Testen besteht aus Tests, die bewerten, ob die Funktionen der Software-Lösung die Anforderungen erfüllen. Diese Anforderungen können z. B. im Rahmen von Lastenheften, User Stories, Use Cases oder Funktionsspezifikationen beschrieben werden. Die Funktionen der Lösung stellen dar, „was“ sie tun soll.

Funktionales Testen ist ein weiter gefasster Begriff, der bestimmte Arten des Testens umfasst, wie manuelles Testen, Cross-Browser-Testen und Testen auf realen Geräten.

Manuelles Testen wird von erfahrenen Testern unter Verwendung von standardisierten Testtechniken wie Grenzwert-Analyse oder Zustandsübergang durchgeführt. Dieser Ansatz kann die korrekte Softwarefunktionalität in jeder Situation sicherstellen, auch in Randfällen, welche so möglicherweise in den Anforderungen des Kunden überhaupt nicht erwähnt werden. Der Tester gibt hierbei wertvolles Feedback bezüglich Benutzererfahrung, Benutzeroberfläche und Benutzerfreundlichkeit.

Cross-Browser-Tests überprüfen, ob die Lösung in verschiedenen Browsern wie erwartet /gewünscht funktioniert. Es ist dabei grundsätzlich von Vorteil zu wissen, welchen Browser Ihre Anwender bevorzugen. Und es ist darüber hinaus empfehlenswert, den Testprozess bereits mit Beginn der Entwicklung zu starten. Wir automatisieren diesen Prozess standardmäßig mithilfe aktuellster marktüblicher Technologien und Tools.

Testen auf realen Geräten – in manchen Fällen reicht das Testen auf Emulatoren und Simulatoren nicht aus. Performance- und Funktionstests verhalten sich auf realen Geräten anders, da es sich bei Emulatoren lediglich um ein virtuelles Gerät handelt. Die Funktionalität und Stabilität der Software auf unterschiedlichen Geräten kann nur durch einen Test auf realen Geräten mit unterschiedlicher Hard- und Software vollständig gewährleistet werden. Hier haben wir Erfahrung mit BrowserStack, ein Tastwerkzeug welches 200 reale iOS- und Android-Geräte und Hunderte von iOS- und Android-Emulatoren in verschiedenen OS-Versionen umfasst.

Testautomatisierung

Eine Testautomatisierung führt viele Testfälle konsistent und wiederholt auf verschiedenen Versionen des getesteten Systems und /oder Umgebungen aus. Sie ist ein wichtiger Bestandteil der agilen Entwicklung und hilft dabei, neue oder wiederkehrende Fehler in bereits getesteten Bereichen der Software-Lösung schnell zu identifizieren.

Eine oder mehrere der folgenden Aktivitäten können automatisiert werden: das Einrichten einer Testumgebung inkl. Vorbedingungen, das Ausführen von Testfällen, der Vergleich von tatsächlichen Ergebnisse mit vorausgesagten Ergebnissen, sowie das Reporting über den Teststatus. Jede dieser Aktivitäten bedeutet einen erheblichen Zeitaufwand, sofern sie manuell durchgeführt wird, und ist anfällig für “menschliche Fehler”, insbesondere wenn dieselben oder ähnliche Aktionen vielfach wiederholt werden.

Ein automatischer E2E (End to End) Test ist ein Prozess, bei dem ein Testszenario gegen einen echten Browser ausgeführt wird. Getestet wird hierbei das gesamte Produkt, um sicherzustellen, dass alle Teile richtig zusammenarbeiten.Ein Unit-Test wird verwendet, um sicherzustellen, dass eine Auswahl (eine “Unit” / Einheit) der Anwendung dem vorgesehenen Design und Verhalten entspricht. Ein Unit-Test erhöht das Vertrauen in das Ändern / Warten des Codes. Ein angemessener Prozentsatz des Codes (nach Vereinbarung mit dem Kunden) sollte grundsätzlich durch Unit-Tests abgedeckt werden.

Sicherheits-/Penetrationstests

Normalerweise ist zumindest ein Teil des Systems der Öffentlichkeit zugänglich, z. B. ein Webserver. Es muss sichergestellt werden, dass ausschließlich autorisierte Anwender das System bedienen dürfen und dass es die Sicherheitsvorkehrungen unbefugten Personen nicht gestatten, auf Teile der Softwarelösung zuzugreifen. Die Systemsicherheit wird bewertet, indem ein simulierter Angriff auf das Computersystem durchgeführt wird. Mit diesem Test können Schwachstellen und Auswirkungen eines möglichen Sicherheitsverstoßes identifiziert werden. Typische Bedrohungen sind die Systemfehlfunktion oder -überlastung, ausgelöst durch eine übermäßige Nutzung von im öffentlichen Netzwerk verfügbaren Komponenten (API, Webformulare, …), den Verlust sensibler und personenbezogener Daten, oder durch unbefugten Zugriff auf die eingeschränkte Anwendungsfunktionalität. xitee verwendet die Kali Linux-Distribution mit OWASP ZAP- und OpenVAS-Sicherheitsscannern, um sicherzustellen, dass das System kein leichtes Ziel für Angreifer (Hacker) ist.

Leistungstests

Jedes System hat eine erwartete Last, die durch verschiedene Metriken angegeben wird, wie z. B. die Anzahl der gleichzeitig verbundenen Benutzer, die Anzahl der Transaktionen pro Sekunde oder die Reaktionszeiten. Die Fähigkeit, mit erwarteter, erhöhter oder Spitzenlast umzugehen, kann nur durch Leistungstests geprüft werden. Die Tests können sich auf die Ausführung von geschäftskritischen Operationen konzentrieren, bei denen jede Millisekunde zählt und deren Leistung für den Projekterfolg entscheidend ist.

Der Leistungstest zeigt das Systemverhalten und dessen Stabilität unter der erwarteten sowie auch erhöhten Last und überwacht dabei die Nutzung der Hardwareressourcen. Oft wird diese Art von Test unter Zuhilfenahme eines automatisierten Testtools durchgeführt, um eine große Anzahl von Benutzern zu simulieren. Die Durchführung eines solchen Tests in einer produktionsähnlichen Umgebung ist im Wesentlichen die Grundlage für eine weitere Leistungsoptimierung der Softwarelösung, die Evaluierung der Hardware-Einrichtung und für den Entwurf und die Implementierung eines möglichen Failover-Szenarios.

Ziele von Leistungstests:

  • Messen der Reaktionszeit und des Ressourcenverbrauchs
  • Definieren möglicher Breakpoints und der maximalen Last
  • Sammeln von Daten, um Optimierungsempfehlungen zu geben
  • Überprüfen, ob die Service-Level-Anforderungen erfüllt werden
  • Überprüfen der Systemzuverlässigkeit
  • Identifizieren von möglichen Engpässen im System

QS-Beratung & Testmanagement

Es gibt verschiedene Methoden und Werkzeuge zur Qualitätssicherung. Nicht immer sind die in einem bestimmten Softwareentwicklungsprojekt verwendeten Werkzeuge optimal eingesetzt. Die Bewertung der genutzten Prozesse und Werkzeuge kann hierbei Schwachstellen in der Softwareentwicklung aufdecken, Maßnahmen zur Risikominderung vorschlagen und die Effizienz der Qualitätssicherung steigern. Daneben erleichtert die Einrichtung geeigneter Prozesse in einem neuen Projekt die Aufrechterhaltung hoher Produktqualität und kann den Aufwand in späteren Projektphasen – i.d.R. bei Abnahmetests und der Produktivsetzung (Go Live) – verringern.

Ziele der Testberatung:

  • Bewertung der Testreife des Kunden im Vergleich zu Best Practices
  • Identifizieren empfohlener Initiativen, die zum Erreichen des gewünschten Zustands erforderlich sind
  • Eine detaillierte Roadmap zur Unterstützung der Implementierung von Transformations-Initiativen

Ein vorgeschaltetes Test-Assessment liefert einen ersten Einblick, der wiederum als Grundlage für eine zielgerichtete Beratung sowie für Transformations-Initiativen dienen kann.

Das Testmanagement kombiniert Projekt- und Risikomanagement, ergänzt um Best-Practice Testmethodik. Dies ist ein wesentlicher Erfolgsfaktor, um

  • den Testprozess zu strukturieren und abzusichern
  • die Produktivität und Effizienz von Testeinsätzen zu optimieren
  • die Produktivität und Effizienz von Testeinsätzen zu optimieren

Unser zertifiziertes Testmanagement-Team steuert den gesamten Test-Lebenszyklus. Dieser reicht von der Testplanung und Steuerung der operativen Testaktivitäten bis hin zum organisierten Testabschluss. 

Cloud Computing ist vereinfacht ausgedrückt die Bereitstellung von Computerdiensten. Dazu gehören Server, Speicher, Datenbanken, Netzwerke, Software, Analysen und Intelligenz über das Internet („die Cloud“) mit dem klaren Ziel, schnellere Innovationen, flexiblere Ressourcen-Nutzung und Skaleneffekte zu ermöglichen. Sie bezahlen in der Regel nur für die von Ihnen genutzten Cloud-Dienste, was folglich dazu beiträgt die Betriebskosten zu senken, die Infrastruktur effizienter zu betreiben und entsprechend den aktuellen Anforderungen Ihres Unternehmens zu skalieren. Ein weiterer Vorteil der Cloud sind die geringen Anforderungen an Vorab-Investitionen (es ist nicht nötig, schon zu Beginn des Projekts in den Kauf von HW/Hardware zu investieren, dies erfolgt bei Bedarf im Zeitverlauf).

Wir bieten unseren Kunden Cloud-Beratungsdienste, Cloud-Infrastrukturdienste, Cloud-Anwendungsentwicklung und Cloud-Anwendungsmigrationsdienste. Darüber hinaus bedienen wir auch den Bereich IoT (Internet of Things).

Unser Cloud-Migrationsservice kann Sie beim Übergang zum digitalen Geschäftsbetrieb in der Cloud unterstützen. Die Migration Ihrer firmeninternen Server einschließlich der darauf laufenden Dienste und Anwendungen in die Cloud kann Ihnen zukunftsweisende Vorteile für Ihr Unternehmen bieten. Es ist jedoch wichtig, den Übergang richtig und gemäß den spezifischen Anforderungen durchzuführen. Da jedes Unternehmen andere Bedürfnisse hat, folgen auch wir für jede individuelle Cloud-Migration einem angepassten Prozess. Mit unserer Cloud-nativen Entwicklung unterstützen wir Sie, Anwendungen zu bauen und zu betreiben, die alle Vorteile des Cloud-Computing-Modells vollumfänglich ausschöpfen. Unser Cloud-nativer Computing-Service nutzt: Open-Source-Software-Stack (containerisiert, dynamisch orchestriert und auf Microservices ausgerichtet).

Cloud-Beratung

Die Einführung von Cloud Computing kann Ihnen helfen Betriebskosten zu senken, Innovationen zu fördern, neue Möglichkeiten zu erschließen und Ihre strategischen IT-Ziele zu realisieren.

Unser Cloud-Beratungsservice beginnt mit dem Verständnis Ihrer aktuellen Technologielandschaft, sowie Ihrer geschäftlichen Herausforderungen und Ziele. Wir wissen, dass unsere Kunden einzigartige Bedürfnisse haben und sich bezogen auf ihre “Reise in die Cloud” hinsichtlich Reifegrad an unterschiedlichen Punkten befinden. Deshalb bieten wir Ihnen ein maßgeschneidertes Cloud-Beratungsangebot, das Sie in Ihrem Entscheidungsprozess unterstützt und Ihnen hilft, Ihre Geschäftsziele zu erreichen.

Basierend auf dem Grad der Cloud-Adaption in Ihrem Unternehmen können wir Ihnen folgende Expertise zur Verfügung stellen:

Cloud-Adaption: Wir sorgen dafür, dass Ihre ersten Schritte in die Public Cloud effizient, reibungslos und sicher erfolgen. Unsere Experten helfen Ihnen dabei, eine belastbare Cloud-Plattform aufzubauen.

Migrationsbewertung: Die Zielplattform kann eine öffentliche oder private Cloud-Infrastruktur sein. Wir helfen Ihnen dabei, die Eignung von On-Premises-Maschinen für die Migration in die Cloud zu beurteilen. Wir liefern Ihnen die passende Dimensionierung von VMs (virtuellen Maschinen) und Kostenabschätzungen für die laufende Infrastruktur.

Cloud-Optimierung: Wir analysieren Ihre Cloud-Infrastruktur, erkennen unter- und überversorgte Instanzen sowie ungenutzte Ressourcen und identifizieren Sicherheitslücken, um Leistungsengpässe zu beseitigen und Ihre Kosten in Cloud Computing zu senken.

Cloud-Strategie: Es geht nicht mehr nur darum, einzelne Anwendungen oder einen bestimmten Teil des Unternehmens zu betrachten, sondern darum wie Sie Ihr gesamtes Unternehmen transformieren, schneller weiterentwickeln und effizienter als Ihre Konkurrenz sein können.

Cloud-Migration

Unser Cloud-Migrationsservice kann Sie beim Übergang zum digitalen Geschäftsbetrieb in der Cloud unterstützen. Die Migration Ihrer firmeninternen Server einschließlich der darauf laufenden Dienste und Anwendungen in die Cloud kann Ihnen einige zukunftsweisende Vorteile für Ihr Unternehmen bieten. Es ist hierbei jedoch wichtig, den Übergang richtig und gemäß den spezifischen Anforderungen durchzuführen. Da jedes Unternehmen andere Bedürfnisse hat, folgen auch wir für jede individuelle Cloud-Migration einem etwas anderen, angepassten Prozess.

Vor Beginn der Cloud-Migration ist es wichtig, die zugehörigen Ziele festzulegen. Migrationsziele gestalten sich für jedes Unternehmen individuell. Für das eine Unternehmen kann es sich um Leistungssteigerung einer Anwendung oder das Ermöglichen neuer Dienste handeln. Andere Unternehmen erwarten möglicherweise Kosteneinsparungen oder die Entlastung der IT-Abteilung in Bezug auf Aufgaben des Anwendungssupports.

Ein weiterer kritischer Aspekt bei der Festlegung von Cloud-Migrationszielen ist es, zu vereinbaren zu welchem Zeitpunkt die alte Infrastruktur enden soll.

Nachdem die Migrationsziele vereinbart wurden, konzentriert sich das Unternehmen auf die Erstellung einer Sicherheitsstrategie. Die endgültigen Ziele für die Unternehmens-Sicherheit ändern sich durch die Einführung/Implementierung von Cloud-Diensten zwar nicht, jedoch ändert sich die Art und Weise, mit der diese Ziele erreicht werden.

Sicherheitsteams müssen nach wie vor darauf achten, das Geschäftsrisiko aufgrund von Angriffen zu reduzieren, und die Sicherstellung von Vertraulichkeit, Integrität und Verfügbarkeit aller Informationssysteme und Daten gewährleisten. Cybersicherheit erfordert in der Cloud einen anderen Ansatz als On-Premises (lokal). In der Cloud-Umgebung werden Unternehmensressourcen nicht mehr durch eine lokale Firewall geschützt, und der Netzwerk-Perimeter existiert quasi nicht.

Sobald ein Unternehmen mit Sicherheitsvorkehrungen und -garantien vertraut ist, ist es Zeit einen geeigneten Cloud-Anbieter auszuwählen und Daten zu kopieren. Dies sollte während des gesamten Migrationsprozesses kontinuierlich geschehen, um die Cloud-Daten aktuell zu halten. Es gibt viele Tools, die sowohl die Migration kompletter Server als auch einzelner Datenbanken unterstützen.

Der komplexeste Teil des Prozesses ist der Umzug der Unternehmensanwendung einschließlich Business Intelligence. Dies kann ein Refactoring oder Umschreiben des Codes beinhalten.

Nach ordnungsgemäßer Prüfung und Verifizierung besteht der letzte Schritt des Prozesses darin, die Produktionsumgebung von On-Premise (lokal) in die Cloud zu verlagern.

Cloud-native Entwicklung

Mit unserer Cloud-nativen Entwicklung helfen wir Ihnen dabei, Anwendungen zu bauen und zu betreiben, die alle Vorteile des Cloud-Computing-Modells vollumfänglich ausschöpfen.

Unser Cloud-natives Computing verwendet hierbei einen Open-Source-Software-Stack mit folgenden Eigenschaften:

  • Containerisiert: jeder Teil (Anwendungen, Prozesse, etc.) ist in seinen eigenen Container verpackt. Dies erleichtert die Reproduzierbarkeit, Transparenz und Ressourcenisolierung.
  • Dynamisch orchestriert: Container werden aktiv geplant und verwaltet, um die Ressourcenauslastung zu optimieren.
  • Microservice-orientiert: durch Segmentierung der Anwendungen in Microservices wird die Agilität und Wartbarkeit von Anwendungen insgesamt deutlich erhöht.

Zu den Hauptvorteilen der Cloud-nativen Entwicklung zählen:

  • Vermeidung hoher Initialkosten durch ein “Pay-as-you-go”-Modell (nutzungsbasiert). Keine anfängliche Infrastruktur-Investition erforderlich.
  • Reduzierung der Markteinführungszeit (“Time-to-Market”) durch eine optimierte Infrastruktur-Einrichtung, CI/CD-Bereitstellung & Deployment.
  • innovative Technologie – Cloud-Anwendungsplattformen sind den neuesten Technologien ausgesetzt, wie z.B. Big Data, AI (künstliche Intelligenz), IoT (Internet der Dinge), usw.
  • global scale (globale Skalierbarkeit) – die Fähigkeit, elastisch zu skalieren je nach Bedarf. Klein beginnen und gleichzeitig bereit sein, zu wachsen.
  • Sicherstellung einer hoher Verfügbarkeit und Zuverlässigkeit – Cloud Computing macht die Datensicherung, Notfall-Wiederherstellung (Disaster Recovery) und Geschäftskontinuität einfacher und kostengünstiger

Die wichtigsten Herausforderungen für Unternehmen in Verbindung mit Cloud-nativer Entwicklung sind:

  • Optimierung von Infrastrukturkosten
  • Auswahl des optimalen Technologie-Cloud-Setups
  • Notwendigkeit, eine DevOps-Kultur aufzubauen

Einführung

xitee bietet Erfahrung in der Entwicklung von Softwarelösungen mit konkretem Know-how in Bezug auf digitale Unternehmen, den Finanz- und Energiesektor und das Gesundheitswesen. Unser breites Kundenspektrum reicht von kleinen Startups bis hin zu großen Unternehmen. Wir bedienen sowohl Kunden, die bislang keine Erfahrung mit Softwareentwicklung gemacht haben, als auch spezialisierte Softwarehäuser.

Unser Ziel ist es, stets qualitativ hochwertige, gut getestete Software zu entwickeln, die in kürzester Zeit und zu möglichst geringen Kosten produktionsreif ist. Diese scheinbar widersprüchlichen Ziele werden erreicht, indem wir einer vorausschauenden Planung sowie unseren internen Best Practices folgen, und dadurch typische Fallstricke von Softwareentwicklungsprojekten ausschließen.

Wir antizipieren mögliche kostspielige Fehler, wie z. B. das Versäumnis, den Endbenutzer oder Kunden um Feedback zu bitten, wodurch überflüssige Nacharbeiten und nachträgliche Korrekturen vermieden werden. Wir konzentrieren uns verstärkt auf die Testphase und Code-Reviews, die mit Blick auf die Zukunft viel Nacharbeit, Zeit und Geld sparen. Daneben wenden wir stets unser fundiertes Branchenwissen an.

Neuentwicklung

Wir bieten die Entwicklung von Lösungen mit maximalem Mehrwert für unsere Kunden, angefangen von der Analyse der Geschäftsanforderungen, über das Lösungsdesign (funktional, grafisch und technisch), die Realisierung, Bereitstellung und den anschließenden Support.

Unsere bisherigen Projekte umfassten eine Vielzahl unterschiedlicher Technologien für fast alle Plattformen. Am häufigsten verwenden wir Java oder .NET als Backend und Angular oder React für die Entwicklung neuer Weblösungen. Unser erfahrenes Team ist bereit, immer die beste Lösung für Ihre spezifischen Anforderungen zu finden. Weitere Informationen zu diesen Technologien finden Sie unter Technologien.

Jedes Projekt, an dem wir arbeiten, beinhaltet eine ordnungsgemäße Qualitätssicherung (QA), bevor das Projekt live geht.

Qualitätssicherung

Es gibt sechs Grundbausteine (Versionskontrolle, kontinuierliche Integration, Fehlerverfolgung, Unit-Tests / Komponenten-Tests, Reviews / Überprüfung, Code-Analyse), die die Qualität der Software und damit des Produkts selbst sicherstellen. Verschiedene Synergien zwischen den einzelnen Teilen ermöglichen Transparenz und Wartbarkeit. Gleichzeitig dienen diese Bausteine als “Werkzeugkasten” für jeden einzelnen Softwareentwickler.

Durch den Einsatz einer Versionskontrolle wird jede Änderung des Codes nachvollziehbar dokumentiert und jede Version kann jederzeit wiederhergestellt werden. Dies verleiht der Entwicklung Flexibilität und ermöglicht eine genaue Analyse aller auftretenden Fehler der Software.  

Der Einsatz eines CI-Systems (Continuous Integration) ermöglicht eine kontrollierte Kompilierung neuer Softwareversionen sowie ein kontinuierliches Reporting für die Entwickler über auftretende Fehler während der Kompilierung. Zusätzlich können automatisch ermittelte Kennzahlen generiert und gemeldet werden, die den Zustand des Produktes anzeigen. Features und Bugs sowie Meilensteine und Projektaufgaben werden über das Issue-Tracking-System (JIRA und / oder Confluence) verwaltet. Dies schafft eine nachvollziehbare und transparente Entwicklung von der Anforderungsanalyse bis hin zur Auslieferung und ermöglicht das Herstellen von Zusammenhängen zwischen einzelnen Aufgaben oder Features.

Weiterentwicklung

Bei der Bewertung des Zustands Ihrer aktuellen Lösungs-Architektur und der Entscheidung, ob ein Rewrite oder ein Refactoring erforderlich ist, muss jedes Unternehmen viele Aspekte berücksichtigen, um die richtige Entscheidung zu treffen. 

Einige der Hauptaspekte sind hierbei:

•  Geschäftsziele erreichen: Das kann für jedes Unternehmen unterschiedlich sein. Beispiele für Geschäftsziele sind z.B. die Fokussierung auf neue Kundenanforderungen und Feature-Releases, der Fokus auf Qualität und die Produktleistung, oder das Gewinnen neuer Kunden und Marktanteile.

•  Technologie: es gilt abzuwägen, wie lange die derzeit verwendeten Programmiersprachen und Frameworks noch unterstützt werden. Gibt es neue Technologien und Trends, von denen die Anwendung profitieren kann? (z. B. Clouds, Microservices, neue Framework-Versionen)

•  Kostenminderung für Wartung und Implementierung neuer Funktionen: Reduzieren der bestehenden technologischen Tiefe, Verkürzen der Markteinführungszeiten

•  Leistung & Sicherheit: Ist Performance ein Problem, das mit der aktuellen Architektur nicht gelöst werden kann? Soll die System-Sicherheit via Penetrationstest oder Sicherheitszertifikat überprüft werden? Möchten Sie Ihre Sicherheitsstandards erhöhen?

•  Kundenerfahrung: Sind Ihre aktuellen Endkunden mit dem UI/UX-Design Ihrer Anwendung zufrieden? Kann ein neues UI/UX die Effizienz weiter verbessern? Bei internen Anwendungen können wir zum Beispiel prüfen, ob eine App die Produktivität der Mitarbeiter weiter verbessern kann.

•  Qualität der aktuellen Codebasis: Verfügt Ihre Softwarelösung über korrekte Design Patterns / Designmuster? Nutzen Sie Code-Style & Unit-Tests? Ist Ihre Lösung fehlerbehaftet /-anfällig?

xitee kann im Rahmen der Analysephase den Support sowie auch die Weiterentwicklung Ihrer Lösung übernehmen.

Beispiele möglicher vereinbarter Vorgehensweisen:

•   Weiterentwicklung auf Basis der bestehenden Codebasis

•   Beibehaltung der alten Codebasis, aber Fokussierung auf Refactoring

•  Das gesamte System von Grund auf neu “schreiben”

•  Das System in Teilen neu „schreiben”

Mobile Entwicklung

xitee bietet verschiedene Arten der mobilen Entwicklung an, basierend auf Ihren Anforderungen. Native Development erstellt Lösungen mit hoher Performance, kann allerdings in der Entwicklung recht kostspielig sein. Sofern Ihnen nur ein begrenztes Budget zur Verfügung steht, könnte eine plattformübergreifende Entwicklung für Sie die geeignete Option sein. Hierbei ist es möglich, bis zu 50 % des Aufwands einzusparen, da nur eine einzige Codebasis erstellt wird, die sowohl auf Android als auch auf iOS funktioniert.

Falls nicht die Notwendigkeit besteht, Ihre Lösung im App Store oder bei Google Play anzubieten sondern Sie lediglich eine mobile-freundliche Umgebung für Ihre Anwender bereitstellen möchten, können wir Progressive Web Apps (PWA) verwenden mit ausgewählten Funktionalitäten für die mobile Anwendung. Die günstigste und schnellste Lösung könnte sein, ausschließlich auf Weblösungen zurückzugreifen, die für Mobilgeräte optimiert sind.

Native Development / Native Entwicklung

Native Anwendungen werden über ihre native Betriebsumgebung entwickelt. Bei einer nativen Entwicklung verwenden Entwickler eine für eine bestimmte Plattform angepasste Programmiersprache, wie z. B. Objective-C und Swift für iOS oder Java für Android. 

Vorteile der nativen Entwicklung:

•    stabile und schnelle Performance

•    maximale App-Lebensdauer

•    die Anwendung ist aufgrund der Verwendung nativer Tools flexibler und skalierbarer

•    weniger Einschränkungen in Architektur und Funktionen

•    die Schnittstelle wird in voller Übereinstimmung mit der Plattform erstellt

Plattformübergreifende Entwicklung

Plattformübergreifende Lösungen werden über eine gemeinsame Betriebsumgebung entwickelt, wie z. B. Xamarin. Eine plattformübergreifende Lösung ist eine universelle Lösung, die von mehreren mobilen Plattformen gleichzeitig unterstützt wird. Einerseits ist das bequem und profitabel, auf der anderen Seite müssen möglicherweise gewisse Kompromisse eingegangen werden, da es schwierig ist, die Lösung auf verschiedene Betriebssysteme zuzuschneiden. 

Vorteile der plattformübergreifenden Entwicklung:

•    die Entwicklung nimmt weniger Zeit und Ressourcen in Anspruch

•    die Entwicklungsgeschwindigkeit wird erhöht

Progressive Web-App (PWA)

Eine progressive Web-App basiert auf Web-Technologien wie HTML, CSS und JavaScript, kann dabei allerdings vom Feel und ihrer Funktionalität mit einer echten nativen App mithalten. Durch geschickte Ergänzungen lässt sich fast jede Website in eine Progressive Web-App verwandeln. Das bedeutet, dass Sie in recht kurzer Zeit eine progressive Web-App erstellen können.

Vorteile der PWA-Entwicklung:

•    Sie sparen sich den Prozess, um in verschiedene App-Stores zu gelangen

•    PWAs sind reibungslos, schnell und leicht

•    Im Gegensatz zu Ihrer regulären Website funktionieren PWAs auch offline

•    Sie können Push-Benachrichtigungen verwenden, um Nutzer wieder einzubinden

Für Mobilgeräte optimierte Weblösungen

In diesem Szenario erstellen wir ein separates Design für mobile Geräte. Es ist der schnellste Weg, Ihre Lösung für mobile Nutzer bereitzustellen. 

Vorteile einer für mobile Endgeräte optimierten Weblösung:

•    geringe Kosten

•    schnell zu implementieren (Time-to-market kurz)

Data Warehousing & Berichtswesen

Data Warehousing ist die Art und Weise, ein Data Warehouse aufzubauen und zu nutzen. Ein Data Warehouse entsteht durch die Integration von Daten aus mehreren heterogenen Quellen, die das analytische Reporting und die Entscheidungsfindung unterstützen. xitee bietet Erfahrung in Hinblick auf zahlreiche verschiedene Technologien, einschließlich Datenbanken, Data Warehouses und Migrationsprojekte.

Das Datenreporting ist ein Prozess, bei dem Rohdaten gesammelt, formatiert und anschließend in ein verständliches Format umgewandelt werden, um die laufende Leistung Ihres Unternehmens zu bewerten. Ein Datenbericht zeigt dann, wo die meiste Zeit und Ressourcen aufgewendet werden und an welchen Stellen mehr Organisation oder Aufmerksamkeit nötig wird.

Ein genaues Datenreporting spielt in jeder Branche eine wichtige Rolle. Daher liefern wir einen Dienstleistungsumfang, der sich auch auf Data Warehousing und Reporting konzentriert. Wir bieten Erfahrung mit den folgenden Tools und Technologien:

• SQL-Datenbanken – Datenbankdesign, Optimierung und Upgrade für gängige DB-Systeme (Oracle, Microsoft SQL Server, MySQL, MariaDB, Galera Cluster, PostgreSQL)

• noSQL-Datenbanken und Suchmaschinen – Auswahl und Einsatz geeigneter Technologien für bestimmte Anforderungen (Cosmos DB, Mongo DB, Lucene, Elasticsearch)

• Datenmigration als Teil neuer Softwareentwicklung, typischerweise unter Verwendung selbst entwickelter (projektspezifischer) Migrations-Tools. Entweder als Batch-Prozess oder als kontinuierliche Datenübernahme/Synchronisation

• Data Warehouse – Design und Implementierung einer Cloud-basierten sowie maßgeschneiderten Data-Warehouse-Lösung, einschließlich Datenimport, Datenhaltung, Datenanalyse und Daten-Exportfunktionen

• Reporting – Erstellung von Berichten, Dashboards und Exporten einschließlich Datenzugriff, Verarbeitung, Präsentation und Speicherebenen. Die Ausgabe kann UI-basiert oder dokumentbasiert erfolgen, einschließlich elektronischer Dokumenten-Signatur. Hierbei verfügen wir über Kenntnisse zu vielen gängigen Bibliotheken, wie Highcharts, chart.js, IOS Charts und Tools wie JasperReports, SQL Server Reporting Services (SSRS) und Microsoft Power BI.

Prototyping (Entwicklung von Prototypen)

Software-Prototyping bietet Ihnen die Möglichkeit, eine Softwarelösung zu visualisieren, noch bevor diese erstellt wurde. Da die Entwicklung einer Software von Grund auf eine große Investition an Zeit, Geld und Aufwand erfordert, ist es von Vorteil, vor Beginn der Entwicklung des eigentlichen Produkts einen visuellen Prototyp entwickeln zu lassen. Der Prototyp fungiert als „Modell“, das das Aussehen und manchmal auch die Funktionalität des Produkts, das der Kunde entwickeln möchte, nachbildet. 

Um zu entscheiden, ob Sie Prototyping für Ihr Projekt in Betracht ziehen wollen, gibt es mehrere Aspekte zu beachten.

Überlegungen und Situationen, in denen Prototyping die beste Wahl sein könnte: 

•    Falls die Anforderungen an das Produkt dem Team nicht klar sind

•    Falls die Anforderungen an das Produkt instabil sind und sich schnell ändern

•   Falls es sich um softwareintensive und komplexe Systeme handelt, die etwas mehr Experimentier-Spielraum und minimales Risiko erfordern

•    Große Projekte mit straffen Zeitplänen und fixen Lieferterminen