Qualitätsmanagement

Qualitätsmanagement

Der Kern unseres Engagements für hervorragende Leistungen sind sorgfältig definierte Prozesse und Verfahren innerhalb unseres Software-Entwicklungszyklus. Sie entsprechen den Empfehlungen der Norm ISO 9001 und stellen sicher, dass wir durchgängig hochwertige Dienstleistungen erbringen und robuste Lösungen schaffen, die den Erwartungen unserer Kunden und den Branchenstandards entsprechen.

1 Einweihung

Wir erkunden die Bedürfnisse unserer Kunden, bauen effektive Kommunikationskanäle auf und erstellen einen klaren Projektplan, um die Grundlage für eine qualitativ hochwertige Lösung zu schaffen.

Erstellung von Arbeitsbeschreibungen (SoW)
Erstellung von Arbeitsbeschreibungen (SoW)

Moderne Automobilsysteme haben eine größere Codebasis und werden immer komplexer, was das IT-Management zu einer Herausforderung macht.

Kommunikation der Anforderungen an das Produktionsteam
Kommunikation der Anforderungen an das Produktionsteam

Die Zahl der Cyber-Bedrohungen hat in den letzten Jahren zugenommen, wodurch die Fahrsicherheit und die Daten der Endnutzer gefährdet sind.

Frühzeitige Risikobewertung
Frühzeitige Risikobewertung

Das Software-Engineering in der Automobilbranche erfordert eine ständige Aktualisierung und Optimierung, was neue Software-Liefermodelle erforderlich macht.

Ein klarer Kommunikationsplan
Ein klarer Kommunikationsplan

Da die Entwicklung von Software für die Automobilindustrie keine einmalige Angelegenheit mehr ist, sollten Unternehmen mehr in die kontinuierliche Aktualisierung und Wartung investieren.

2 Anforderungsanalyse und Softwareentwurf

Wir erstellen einen detaillierten Entwurf der zukünftigen Lösung, der auf die Bedürfnisse und Erwartungen des Kunden abgestimmt ist.

Pflichtenheft

Unsere Business-Analysten untersuchen die anfänglich erhobenen Anforderungen und legen die funktionalen und nicht-funktionalen Anforderungen an die entwickelte Lösung fest, einschließlich ihrer Funktionen und Möglichkeiten. Das Projektteam nutzt das Anforderungsspezifikationsdokument als klaren Fahrplan für seine Entwicklungs- und Testbemühungen.

High-Level-Software-Design

Wir entwerfen Software-Architekturen, die vollständig auf die dokumentierten Kundenanforderungen abgestimmt sind, und kommunizieren diese an die Projektteams.

Funktionale Zersetzung
Wir erstellen einen konzeptionellen Überblick über die funktionalen Komponenten der Lösung, ihre Gruppierung und ihre erwarteten Wechselwirkungen. Außerdem skizzieren wir die Zuständigkeiten, den logischen Aufbau, die Schnittstellen und die wichtigsten Funktionen der einzelnen Komponenten.
Architektur-Stil
Wir wählen den am besten geeigneten architektonischen Stil für den Aufbau der Lösung und beschreiben die wichtigsten Designprinzipien für ihre Entwicklung.
Nicht-funktionale Anforderungen

Wir definieren nicht-funktionale Anforderungen an die zukünftige Lösung und wie wir sie erfüllen werden. Hier sind die häufigsten NFR-Attribute, die wir skizzieren:

  • Leistung
  • Sicherheit
  • Instandhaltbarkeit
  • Verfügbarkeit
  • Verlässlichkeit
  • Konfigurierbarkeit
  • Vorratsspeicherung von Daten
  • Benutzerfreundlichkeit
  • Lokalisierung
  • Validierung
  • Governance und Einhaltung der Vorschriften

3 Planung

Wir sorgen für einen strukturierten, sicheren und hochwertigen Entwicklungsprozess.

Projekt-Fahrplan

Wir planen alle Projektaktivitäten, einschließlich Umfang, Zeitrahmen, Aufwand, Kosten, Qualität, Kommunikation, Ressourcen, Risiken und Einbeziehung der Beteiligten, und setzen klare Meilensteine. Dieser Plan stellt sicher, dass wir die Erwartungen des Kunden erfüllen und das Projekt pünktlich und innerhalb des Budgets abschließen.

Metriken zum Projektzustand

Wir verwenden eine Reihe von Metriken, um den Projektstatus zu überwachen und Probleme frühzeitig zu erkennen und zu beheben, um sicherzustellen, dass wir die Projektanforderungen und Kundenbedürfnisse vollständig erfüllen können. Hier sind die wichtigsten Gruppen von Projektmetriken, die wir im Auge behalten:

Makro-KPIs
  • Umfang
  • Haushalt
  • Zeit
  • Risiken
Mikro-KPIs
  • Teamgeschwindigkeit
  • Merkmal Vorlaufzeit
  • Erfolgsquote aufbauen
  • Vorlaufzeit
  • Zykluszeit
  • Testabdeckung

DevSecOps

Wir wenden den Security-First-Ansatz bereits in der Planungsphase an, um wesentliche Sicherheitsmaßnahmen systematisch in die Projektphasen zu integrieren und eine Kultur der Sicherheitspriorisierung zu fördern.

1

Planung

Definition der Sicherheitsanforderungen Modellierung von Bedrohungen

2

Codierung

Sichere Kodierungspraktiken Automatische Code-Analyse Sicherheitsprüfungen erstellen

3

Prüfung

Automatisierung von Sicherheitstests

4

Einsatz

Zugangs- und Konfigurationsmanagement Penetrationstests

5

Überwachung

Sicherheitsüberwachung in Echtzeit Log-Analyse

Risikomanagement

Wir implementieren einen Risikomanagement-Rahmen, um Risiken, die sich auf die Softwarequalität und den Projekterfolg auswirken könnten, systematisch zu identifizieren, zu bewerten und zu mindern.

1IdentificationReview by a Risk Committee and appointment of a Risk Owner4Reporting & monitoringRisk attributes registration
and regular review2MeasurementProbability and impact
scoring3MitigationDevelopment and implementation of a mitigation plan

4 Umsetzung

Bei der Ausführung der in den Anforderungs- und Entwurfsunterlagen beschriebenen Arbeiten sorgen wir für die Qualität des Codes und den technischen Zustand des Projekts.

Wartbare Codebasis

Unsere Entwickler halten sich an allgemeine Codierungsstandards und programmiersprachenspezifische Richtlinien, um einheitlichen, lesbaren und qualitativ hochwertigen Code zu erstellen, der wiederverwendbar und langfristig leicht zu pflegen ist.

Wir verwenden Git als Versionskontrollsystem und GetFlow als Standardverzweigungsmodell, sofern der Kunde nichts anderes wünscht.

Code-Überprüfungen

Regelmäßige Quellcodeüberprüfungen helfen den Teams, Probleme zu erkennen, die Gesamtqualität und Sicherheit des Codes zu bewerten und notwendige Verbesserungen vorzunehmen, bevor der Code stromaufwärts zusammengeführt wird.

  • Statische Code-Analyse mit speziellen Tools und SQALE-Metriken
  • Manuelle Überprüfung des Codes durch Fachkollegen und den technischen Koordinator des Projekts

Software-Qualitätssicherung

Unser QA-Team führt während der gesamten Entwicklungsphase und vor der Bereitstellung der Software strenge Tests durch, um sicherzustellen, dass die Software dem erwarteten Qualitätsniveau entspricht und die funktionalen und nicht-funktionalen Anforderungen des Kunden vollständig erfüllt.

1

Analyse

Anforderungsprüfung

2

Gestaltung

UX/UI-Tests

Prototypentests

Benutzbarkeitstests

3

Entwicklung

Laufende Tests

Kompatibilitätstests

Testen von Webdiensten

Funktionstests

Sicherheitstests

Leistungsprüfung

Testautomatisierung

Stabilisierung

Regressionstests

End-to-End-Tests

4

Einsatz

Abnahmeprüfung

Abnahmeprüfung

Upgrade-Tests

Migrationstests

5

Unterstützung

Produktion

Wiederholte Ausgaben

Ursachen von Problemen identifizieren

Außerdem wenden wir einige zusätzliche Verfahren an, um eine umfassende und wirksame Software-Qualitätssicherung zu gewährleisten:

  • Testgesteuerter Entwicklungsansatz und Erstellung von Einheitstests während der gesamten Entwicklung
  • Umfassende Möglichkeiten zur Testautomatisierung

Verwaltung der technischen Schulden

Wir befassen uns rechtzeitig mit allen Abkürzungen, schnellen Korrekturen und erkannten Programmier- und Designfehlern, um zu verhindern, dass technische Schulden die Qualität, Zuverlässigkeit und Leistung der endgültigen Lösung untergraben.

Technische Projektkoordination

Wir setzen die führenden Spezialisten von Itransition als Koordinatoren ein, um die technische Qualität der Projekte zu kontrollieren und sicherzustellen, dass sie reibungslos verlaufen, auf Kurs bleiben und die festgelegten Parameter erfüllen.

5 Unterstützung bei der Auslieferung und nach der Auslieferung

Wir konzentrieren uns auf die reibungslose Bereitstellung der Lösung und ihre erfolgreiche Annahme durch die Endnutzer.

Kontinuierliche Integration und kontinuierliche Bereitstellung

Wir richten CI/CD-Pipelines ein, um einen effizienteren, zuverlässigeren und skalierbaren Softwarebereitstellungsprozess durch Automatisierung von Tests, Bereitstellung und Überwachung zu schaffen.

CICDTestBuildCodePlanDeployOperateMonitorRelease

Management von Veränderungen

Wir stützen uns auf einen etablierten Change-Management-Prozess zur Planung, Umsetzung und Überwachung von Transformationen in den IT-Umgebungen unserer Kunden. Wir beginnen mit dem Änderungsmanagement in der Initiierungsphase des Projekts, wenn wir die Änderungsanforderung(en) der Beteiligten identifizieren, analysieren und genehmigen. Ab der Lieferphase führen wir die folgenden Änderungsmanagement-Aktivitäten durch:

  • Vorbereitung, Einrichtung und Prüfung von Änderungen
  • Probebetrieb nach Nutzerabnahme
  • Benutzerschulung und Änderungsbenachrichtigungen
  • Unmittelbare Erfassung von Feedback
  • Wirksamkeitsanalyse nach einer gewissen Zeit der Nutzung der Produktion
  • Laufende Überwachung

Sammlung von Kundenfeedback

Nach Abschluss des Projekts sammeln wir messbares Feedback von den Beteiligten des Kunden, um die Zufriedenheit mit unseren Dienstleistungen zu ermitteln. Dieses Feedback wird an die Führungskräfte des Unternehmens weitergeleitet und hilft uns, Verbesserungsmöglichkeiten bei der Qualität unserer Dienstleistungen, den Prozessen oder den Abläufen der Zusammenarbeit zu erkennen.

A company-wide quality management system

Ein unternehmensweites Qualitätsmanagementsystem

Wir halten während des gesamten Lebenszyklus der Software-Entwicklung einen hohen Qualitätsstandard gemäß ISO 9001 aufrecht. Bei Projekten in bestimmten Branchen befolgen wir auch branchenspezifische Rahmenwerke (z. B. ISO 13485, ISO/TS 16949, AS9100 usw.), um sicherzustellen, dass unsere Dienstleistungen und Lösungen den einschlägigen Qualitäts- und Regulierungsanforderungen entsprechen.