---
title: "Polity Fallstudie"
canonical: https://wavect.io/de/case-studies/polity/
language: de
description: "Polity ist eine Enterprise-SaaS-Plattform. Wavect vereinheitlichte Quality Engineering, service-spezifische Test-Gates, Release-Automatisierung und Frontend-Modernisierung."
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

[← Alle Fallstudien](/de/case-studies/)

![Polity logo](/img/clients/svg/polity.svg)

CASE STUDIES · 2026

Polity

# Vereinheitlichtes QA über sieben Microservices, Hunderte Bugs geschlossen, Release-Gates gehalten.

Polity ist eine enterprise-taugliche Plattform auf sieben Microservices. Verteilt, komplex und an den Standards gemessen, die Enterprise-Kunden verlangen. Der Typ System, bei dem QA keine Option ist.

ENTERPRISE Software QA 2026 Live

Auf einen Blick

Auftragsart Software QA

Branche [Enterprise SaaS](/de/industries/enterprise-ai-saas/)

Phase Enterprise

Auftragsgröße Mehrjähriger Retainer + Festpreise

Jahr 2026

Stack

React Java/Kotlin Go Python Rust Docker

Status Live

Live [polity.li](https://polity.li/)

## Überblick

Polity ist eine enterprise-taugliche Plattform auf sieben Microservices. Verteilt, komplex und an den Standards gemessen, die Enterprise-Kunden verlangen. Der Typ System, bei dem QA keine Option ist.

## Was ist die Herausforderung?

Sieben Services, jeder mit eigenem Tooling, eigener Reife, eigenen Ausfallmodi. Mehrere Vendoren pushen parallel, Features in der Pipeline, eine Enterprise-Kundenbasis, die keine Regressionen duldet. Über 1,5 Jahre alles in ein Qualitätsmodell vereinheitlichen, ohne Engineering auszubremsen.

## Welche Entscheidung haben wir getroffen?

### Zentrales QA hält bei sieben Services nicht mit. Wir haben Qualität dorthin geschoben, wo der Code lebt.

> Vendor-PRs wurden fallweise reviewt, Testing saß in einem zentralen Team, kritische Flows wurden per Hand validiert. Dieses Modell skaliert nicht auf sieben Services im Continuous-Delivery-Takt. Wir rollten zwei Protokolle aus. Das erste machte aus der Vendor-Integrations-Bewertung statt fallweiser PR-Reviews einen strukturierten Peer-Review-Workflow mit expliziten Gates. Das zweite zerlegte zentrales Testen in service-spezifische CI-Gates und komponenten-basierte Validierung über alle sieben Microservices. Parallel migrierten wir den Frontend- und Tooling-Stack von einer Legacy-Architektur auf eine Next-Generation-Plattform mit modernisiertem Developer-Workflow, ersetzten manuelles QA auf kritischen Flows durch automatisierte End-to-End-Abdeckung und verdrahteten CI über alle sieben Services neu, hin zu abgesicherten Pipelines mit Guardrails und integrierter User-Flow-Validierung. Der Punkt war nie mehr Tests. Es war, Verantwortung, Automatisierung und Standardisierung dorthin zu schieben, wo Entscheidungen tatsächlich getroffen werden.

## Was wir gemacht haben

Qualität über sieben Services und mehrere Vendoren brauchte zuerst eine Koordinationsschicht, nicht mehr Tooling. Die architektonische Entscheidung: weg von zentralen, manuellen, fragmentierten Workflows, hin zu skalierbaren, Ownership-getriebenen, automatisierten Systemen, optimiert für Developer-Velocity, Review-Qualität, Zuverlässigkeit und langfristige Wartbarkeit durch Standardisierung und moderne Infrastruktur. Konkret: ein Protokoll für Vendor-Integrations-Reviews ausgerollt, das die Bewertung von fallweisen PR-Reviews in einen strukturierten Peer-Review-Workflow mit expliziten Gates überführte; ein Protokoll für vereinheitlichtes Testen ausgerollt, das zentrales Testen in service-spezifische CI-Gates und komponenten-basierte Validierung über alle sieben Microservices zerlegte; den Frontend- und Tooling-Stack von einer Legacy-Architektur auf eine Next-Generation-Frontend-Plattform mit modernisiertem Developer-Workflow migriert; manuelles QA auf kritischer Produktvalidierung durch automatisierte End-to-End-Tests ersetzt; fragmentierte Legacy-CI über 7+ Services in abgesicherte Pipelines mit Guardrails und integrierter End-to-End-User-Flow-Validierung konsolidiert. Obendrauf: E2E-Strategie, Flakiness reduziert, CI/CD gehärtet, Vendor- und Contributor-Qualität beaufsichtigt, Hunderte Bugs triagiert. Tooling-Investitionen zahlten sich ab Monat drei aus. Ergebnis: Qualität, die Personalwechsel, Vendor-Rotation und kontinuierliche Refactors übersteht.

## Ergebnisse

### 7 Services - Vereinheitlichtes Testen
- **Category:** Skalierung

### Hunderte - Bugs behoben
- **Category:** Risiko

Ähnliche Ergebnisse für dein Projekt?

Fester Umfang. Feste Deadline. Unterzeichneter Werkvertrag.

[Kontakt aufnehmen](/de/contact/)

## Ausgewählte Screens

![Polity, screen 1](/img/case-studies/polity/001_hu_d08fd51ea6b7f0d7.webp)

![Polity, screen 2](/img/case-studies/polity/002_hu_12ddd7ebddda7717.webp)

![Polity, screen 3](/img/case-studies/polity/003_hu_55d20f41b3b754dc.webp)

![Polity, screen 4](/img/case-studies/polity/004_hu_59536493a33cc265.webp)

![Polity, screen 5](/img/case-studies/polity/005_hu_dcbd298958236dad.webp)

![Polity, screen 6](/img/case-studies/polity/006_hu_93a76ddfdf1a4117.webp)

![Polity, screen 7](/img/case-studies/polity/007_hu_3811f149ba140c64.webp)

![Polity, screen 8](/img/case-studies/polity/008_hu_f1c5deb1741041d7.webp)

## Was wir gelernt haben

Qualität über verteilte Systeme ist ein Koordinationsproblem, kein Tooling-Problem. Sieben Services, mehrere Vendoren und kontinuierliche Lieferung auf einen Standard zu bringen, war genauso viel Prozessarbeit wie technische Arbeit. Die architektonische Entscheidung, die zählte: weg von zentralen, manuellen, fragmentierten Workflows, hin zu skalierbaren, Ownership-getriebenen, automatisierten Systemen.

## Tech Stack

- [React](https://react.dev/)
- [Java/Kotlin](https://kotlinlang.org/)
- [Go](https://go.dev/)
- [Python](https://www.python.org/)
- [Rust](https://www.rust-lang.org/)
- [Docker](https://www.docker.com/)
- [CI/CD](https://github.com/features/actions)

## Tags

- Enterprise
- QA
- Microservices

## Links & Ressourcen

[Polity](https://polity.li/)

Passende Leistungen

- [Individuelle Softwareentwicklung](/de/services/software-development/)
- [Software Quality Assurance](/de/services/software-quality-assurance/)

Kundenreferenzen und Marken

Wavect veröffentlicht diese Case Studies über die eigene Arbeit. Kundennamen, Logos und Marken sind Eigentum ihrer jeweiligen Inhaber und stehen hier zur Kennzeichnung der Arbeit, nicht als Hinweis auf eine Partnerschaft, ein Sponsoring oder eine Empfehlung. Jede Case Study beschreibt Wavects eigenen Beitrag innerhalb eines größeren Vorhabens. Am Ergebnis waren weitere Beteiligte mit, darunter die eigenen Teams der Kunden sowie andere Dienstleister. Zahlen, die einem Kunden zugeschrieben werden, sind dessen eigene Angaben. Zahlen zu unserer Arbeit stammen aus unseren Aufzeichnungen zum angegebenen Prüfdatum, und wir liefern Belege auf Anfrage. Bewertungen sind von der jeweils genannten Plattform übernommen und verlinken auf die Quelle. Die kommerziellen Bedingungen einer Zusammenarbeit veröffentlichen wir nicht, und Produkt-Screenshots bleiben Eigentum des jeweils gezeigten Kunden. Wenn du hier genannt wirst und eine Korrektur, eine Änderung oder eine Löschung möchtest, schreib uns, und wir kümmern uns darum: [office@wavect.io](mailto:office@wavect.io)

### [SKD Dresden](/de/case-studies/skd-dresden/)

Die Staatlichen Kunstsammlungen Dresden (SKD) sind eines der ältesten und renommiertesten Museumsnetzwerke der Welt. Sie wollten Klarheit darüber, was …

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/de/case-studies/polity/#webpage",
      "@type": "WebPage",
      "dateModified": "2026-05-21",
      "inLanguage": "de",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-05-21",
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": [
          ".faq-question",
          ".faq-answer"
        ]
      },
      "url": "https://wavect.io/de/case-studies/polity/"
    },
    {
      "@id": "https://wavect.io/verified-claims.json#polity-seven-services-qa",
      "@type": "Claim",
      "appearance": {
        "@id": "https://wavect.io/de/case-studies/polity/#webpage",
        "@type": "WebPage",
        "inLanguage": "de",
        "url": "https://wavect.io/de/case-studies/polity/"
      },
      "author": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "dateModified": "2026-08-04",
      "identifier": "polity-seven-services-qa",
      "inLanguage": "en",
      "text": "Wavect owned quality engineering across 7 microservices on the Polity platform for around 1.5 years."
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@id": "https://wavect.io/de/case-studies/polity/#case-study",
  "@type": "Article",
  "about": {
    "@id": "https://wavect.io/de/case-studies/polity/#project",
    "@type": "CreativeWork",
    "creator": {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ]
    },
    "dateCreated": "2026-01-01",
    "description": "Software QA engagement",
    "funder": {
      "@type": "Organization",
      "name": "Polity"
    },
    "name": "Polity",
    "subjectOf": {
      "@id": "https://wavect.io/de/case-studies/polity/#case-study",
      "@type": "Article"
    },
    "url": "https://polity.li/"
  },
  "abstract": "Sieben Services, jeder mit eigenem Tooling, eigener Reife, eigenen Ausfallmodi. Mehrere Vendoren pushen parallel, Features in der Pipeline, eine Enterprise-Kundenbasis, die keine Regressionen duldet. Über 1,5 Jahre alles in ein Qualitätsmodell vereinheitlichen, ohne Engineering auszubremsen.",
  "author": {
    "@id": "https://wavect.io/#organization",
    "@type": [
      "Organization",
      "ProfessionalService",
      "LocalBusiness"
    ]
  },
  "datePublished": "2026-01-01",
  "description": "Polity ist eine enterprise-taugliche Plattform auf sieben Microservices. Verteilt, komplex und an den Standards gemessen, die Enterprise-Kunden verlangen. Der Typ System, bei dem QA keine Option ist.",
  "headline": "Polity, Wavect Case Study",
  "image": "https://wavect.io/img/clients/svg/polity.svg",
  "inLanguage": "de",
  "isPartOf": {
    "@type": "CollectionPage",
    "name": "Wavect Case Studies",
    "url": "https://wavect.io/de/case-studies/"
  },
  "keywords": "Enterprise, QA, Microservices, React, Java/Kotlin, Go, Python, Rust, Docker, CI/CD",
  "mainEntityOfPage": "https://wavect.io/de/case-studies/polity/",
  "mentions": [
    {
      "@type": "DefinedTerm",
      "name": "React",
      "url": "https://react.dev/"
    },
    {
      "@type": "DefinedTerm",
      "name": "Java/Kotlin",
      "url": "https://kotlinlang.org/"
    },
    {
      "@type": "DefinedTerm",
      "name": "Go",
      "url": "https://go.dev/"
    },
    {
      "@type": "DefinedTerm",
      "name": "Python",
      "url": "https://www.python.org/"
    },
    {
      "@type": "DefinedTerm",
      "name": "Rust",
      "url": "https://www.rust-lang.org/"
    },
    {
      "@type": "DefinedTerm",
      "name": "Docker",
      "url": "https://www.docker.com/"
    },
    {
      "@type": "DefinedTerm",
      "name": "CI/CD",
      "url": "https://github.com/features/actions"
    }
  ],
  "publisher": {
    "@id": "https://wavect.io/#organization",
    "@type": [
      "Organization",
      "ProfessionalService",
      "LocalBusiness"
    ]
  },
  "url": "https://wavect.io/de/case-studies/polity/"
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "item": "https://wavect.io/de/",
      "name": "Startseite",
      "position": 1
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/de/case-studies/",
      "name": "Fallstudien",
      "position": 2
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/de/case-studies/polity/",
      "name": "Polity",
      "position": 3
    }
  ]
}
```
