---
title: "Delivery and QAWavect"
canonical: https://wavect.io/blog/topics/delivery-qa/
language: en
description: "Architecture, production readiness and quality practices for software that must keep working."
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

Topic

# Delivery and QA

Architecture, production readiness and quality practices for software that must keep working.

## Focused clusters

### [Architecture and platforms](/blog/clusters/architecture-platforms/)

Framework, platform and system-design choices that affect delivery over the long term.

### [QA and production readiness](/blog/clusters/qa-production/)

Testing, audits, maintenance and hardening practices for reliable production software.

## Start with the cornerstone

- [**Smart City Architecture Best Practices: MQTT, LoRaWAN, Kubernetes and Terraform**A vendor-neutral guide to building smart-city platforms that survive production: MQTT at the edge, LoRaWAN and ChirpStack for private sensor networks, FIWARE/NGSI-LD and SensorThings for interoperability, Terraform for repeatable infrastructure, and Kubernetes only when the team can operate it.](/blog/smart-city-architecture-best-practices-2026/)
- [**QA for AI-Generated Code**What breaks in code from Lovable, Cursor, Claude Code, and Replit before launch, and the production-readiness checklist we run to catch it.](/blog/qa-for-ai-generated-code/)

## Latest in this collection

### [EU Battery Passport Software Architecture for 2027](/blog/eu-battery-passport-software-architecture-2027/)

- **Details:** Delivery & QA · 24 Aug 2026

Turn the 18 February 2027 deadline into a buildable identity, data, access, QR, and lifecycle architecture.

### [EU Data Act: Connected-Product API Checklist](/blog/eu-data-act-connected-product-api-2026/)

- **Details:** Delivery & QA · 24 Aug 2026

Implement access by design before 12 September 2026 with a data catalog, device-user identity, APIs, exports, and security controls.

### [Cursor Origin vs GitHub: Should Your Team Switch?](/blog/cursor-origin-vs-github-code-hosting/)

- **Details:** Delivery & QA · 21 Aug 2026

Cursor now hosts code, but Origin is still an early beta. Compare sync behavior, CI, governance, price and a low-risk pilot before moving your source of truth.

### [MoneyPrinterTurbo Review 2026: Free AI Video, Real Costs](/blog/moneyprinterturbo-review-2026/)

- **Details:** Delivery & QA · 20 Aug 2026

MoneyPrinterTurbo turns a topic into a narrated short, but free code is only the start. See its setup, hidden costs, licensing, platform risk and production fit.

### [Odoo API integration: the five limits that decide your architecture](/blog/odoo-erp-api-integration-limits-2026/)

- **Details:** Delivery & QA · 18 Aug 2026

Odoo Cloud treats one call per second as acceptable use, every JSON-2 call is its own transaction, and XML-RPC has a removal date. What that forces on an integration.

### [AI in Grocery Retail: An MPREIS Opportunity Map](/blog/mpreis-ai-grocery-retail-opportunity-map/)

- **Details:** Delivery & QA · 14 Aug 2026

An independent outside-in analysis of demand forecasting, fresh-food workflows, the customer app and a pragmatic 90-day validation path for grocery retail.

## Complete article directory

1. [EU Battery Passport Software Architecture for 2027](/blog/eu-battery-passport-software-architecture-2027/) 24 Aug 2026
2. [EU Data Act: Connected-Product API Checklist](/blog/eu-data-act-connected-product-api-2026/) 24 Aug 2026
3. [Cursor Origin vs GitHub: Should Your Team Switch?](/blog/cursor-origin-vs-github-code-hosting/) 21 Aug 2026
4. [MoneyPrinterTurbo Review 2026: Free AI Video, Real Costs](/blog/moneyprinterturbo-review-2026/) 20 Aug 2026
5. [Odoo API integration: the five limits that decide your architecture](/blog/odoo-erp-api-integration-limits-2026/) 18 Aug 2026
6. [AI in Grocery Retail: An MPREIS Opportunity Map](/blog/mpreis-ai-grocery-retail-opportunity-map/) 14 Aug 2026
7. [Stateful LLM Platform Production Architecture](/blog/stateful-llm-platform-production-architecture/) 14 Aug 2026
8. [Tirol Kliniken (TILAK): A Digital Operations Opportunity Map](/blog/tirol-kliniken-digital-opportunity-analysis/) 14 Aug 2026
9. [TIWAG Digital Energy: A Software and AI Opportunity Map](/blog/tiwag-digital-energy-services-opportunity-map/) 14 Aug 2026
10. [AI 3D Model Generators for Game Development: 2026 Guide](/blog/ai-3d-model-generators-game-development-2026/) 13 Aug 2026
11. [Fintech Architecture Remediation Without a Rewrite](/blog/fintech-architecture-remediation-without-rewrite/) 13 Aug 2026
12. [Agentic Testing vs Test Automation: 2026 Pilot Guide](/blog/agentic-testing-vs-test-automation-2026/) 11 Aug 2026
13. [Tampermonkey Workflow Automation](/blog/tampermonkey-workflow-automation-guide/) 4 Aug 2026
14. [Will AI Kill Cross-Platform Frameworks?](/blog/will-ai-kill-cross-platform-frameworks/) 4 Aug 2026
15. [Floci vs LocalStack: AWS Emulator Review for CI in 2026](/blog/floci-vs-localstack-aws-emulator/) 26 Jul 2026
16. [Git Worktrees vs Jujutsu for AI Coding Agents: 2026 Decision Guide](/blog/git-worktrees-vs-jujutsu-ai-coding-agents/) 22 Jul 2026
17. [External QA Benchmark: What We Find in the First 30 Days](/blog/external-qa-benchmark-first-30-days/) 15 Jul 2026
18. [Programming Languages Matter Less. Software Engineering Matters More.](/blog/programming-languages-matter-less-ai/) 15 Jul 2026
19. [The Future of Enterprise Software](/blog/future-of-enterprise-software/) 14 Jul 2026
20. [What Software Maintenance Costs After Launch: A DACH SaaS Benchmark](/blog/software-maintenance-cost-benchmark-dach-saas/) 10 Jul 2026
21. [Smart City Architecture Best Practices: MQTT, LoRaWAN, Kubernetes and Terraform](/blog/smart-city-architecture-best-practices-2026/) 9 Jul 2026
22. [The Factory Returns](/blog/the-factory-returns/) 7 Jul 2026
23. [Agile De-engineering](/blog/agile-de-engineering/) 30 Jun 2026
24. [Lovable, Bolt, and Replit App Due Diligence](/blog/lovable-bolt-replit-app-due-diligence/) 20 Jun 2026
25. [The Vibe-Code Production-Readiness Checklist](/blog/vibe-code-production-readiness-checklist/) 16 Jun 2026
26. [What It Costs to Make a Vibe-Coded App Production-Ready](/blog/vibe-coded-software-audit-cost/) 16 Jun 2026
27. [QA for AI-Generated Code](/blog/qa-for-ai-generated-code/) 8 Jun 2026
28. [From Lovable and Cursor Prototype to Production: The Migration Checklist](/blog/lovable-cursor-prototype-to-production/) 8 Jun 2026
29. [Vibe-Coded Software Audit: What Breaks Before Launch](/blog/vibe-coded-software-audit/) 8 Jun 2026
30. [React Native vs Flutter for a DACH Founder Who Has to Hire Locally](/blog/react-native-vs-flutter-dach-hiring/) 29 May 2026
31. [LoRaWAN vs NB-IoT vs Sigfox: How to Budget an IoT Sensor Pilot](/blog/lorawan-nbiot-sigfox-pilot-cost/) 28 May 2026
32. [Software - a Breathing Organism](/blog/software-a-breathing-organism/) 29 Jun 2024
33. [Why Test-Driven-Development pays off](/blog/test-driven-development/) 17 Jun 2024

## 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/blog/topics/delivery-qa/#webpage",
      "@type": "WebPage",
      "dateModified": "2026-08-05",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-08-05",
      "url": "https://wavect.io/blog/topics/delivery-qa/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "item": "https://wavect.io/",
      "name": "Home",
      "position": 1
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/blog/overview/",
      "name": "Blog",
      "position": 2
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/blog/topics/delivery-qa/",
      "name": "Delivery and QA",
      "position": 3
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "CollectionPage",
  "about": "Delivery and QA",
  "description": "Architecture, production readiness and quality practices for software that must keep working.",
  "mainEntity": {
    "@type": "ItemList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "name": "EU Battery Passport Software Architecture for 2027",
        "position": 1,
        "url": "https://wavect.io/blog/eu-battery-passport-software-architecture-2027/"
      },
      {
        "@type": "ListItem",
        "name": "EU Data Act: Connected-Product API Checklist",
        "position": 2,
        "url": "https://wavect.io/blog/eu-data-act-connected-product-api-2026/"
      },
      {
        "@type": "ListItem",
        "name": "Cursor Origin vs GitHub: Should Your Team Switch?",
        "position": 3,
        "url": "https://wavect.io/blog/cursor-origin-vs-github-code-hosting/"
      },
      {
        "@type": "ListItem",
        "name": "MoneyPrinterTurbo Review 2026: Free AI Video, Real Costs",
        "position": 4,
        "url": "https://wavect.io/blog/moneyprinterturbo-review-2026/"
      },
      {
        "@type": "ListItem",
        "name": "Odoo API integration: the five limits that decide your architecture",
        "position": 5,
        "url": "https://wavect.io/blog/odoo-erp-api-integration-limits-2026/"
      },
      {
        "@type": "ListItem",
        "name": "AI in Grocery Retail: An MPREIS Opportunity Map",
        "position": 6,
        "url": "https://wavect.io/blog/mpreis-ai-grocery-retail-opportunity-map/"
      },
      {
        "@type": "ListItem",
        "name": "Stateful LLM Platform Production Architecture",
        "position": 7,
        "url": "https://wavect.io/blog/stateful-llm-platform-production-architecture/"
      },
      {
        "@type": "ListItem",
        "name": "Tirol Kliniken (TILAK): A Digital Operations Opportunity Map",
        "position": 8,
        "url": "https://wavect.io/blog/tirol-kliniken-digital-opportunity-analysis/"
      },
      {
        "@type": "ListItem",
        "name": "TIWAG Digital Energy: A Software and AI Opportunity Map",
        "position": 9,
        "url": "https://wavect.io/blog/tiwag-digital-energy-services-opportunity-map/"
      },
      {
        "@type": "ListItem",
        "name": "AI 3D Model Generators for Game Development: 2026 Guide",
        "position": 10,
        "url": "https://wavect.io/blog/ai-3d-model-generators-game-development-2026/"
      },
      {
        "@type": "ListItem",
        "name": "Fintech Architecture Remediation Without a Rewrite",
        "position": 11,
        "url": "https://wavect.io/blog/fintech-architecture-remediation-without-rewrite/"
      },
      {
        "@type": "ListItem",
        "name": "Agentic Testing vs Test Automation: 2026 Pilot Guide",
        "position": 12,
        "url": "https://wavect.io/blog/agentic-testing-vs-test-automation-2026/"
      },
      {
        "@type": "ListItem",
        "name": "Tampermonkey Workflow Automation",
        "position": 13,
        "url": "https://wavect.io/blog/tampermonkey-workflow-automation-guide/"
      },
      {
        "@type": "ListItem",
        "name": "Will AI Kill Cross-Platform Frameworks?",
        "position": 14,
        "url": "https://wavect.io/blog/will-ai-kill-cross-platform-frameworks/"
      },
      {
        "@type": "ListItem",
        "name": "Floci vs LocalStack: AWS Emulator Review for CI in 2026",
        "position": 15,
        "url": "https://wavect.io/blog/floci-vs-localstack-aws-emulator/"
      },
      {
        "@type": "ListItem",
        "name": "Git Worktrees vs Jujutsu for AI Coding Agents: 2026 Decision Guide",
        "position": 16,
        "url": "https://wavect.io/blog/git-worktrees-vs-jujutsu-ai-coding-agents/"
      },
      {
        "@type": "ListItem",
        "name": "External QA Benchmark: What We Find in the First 30 Days",
        "position": 17,
        "url": "https://wavect.io/blog/external-qa-benchmark-first-30-days/"
      },
      {
        "@type": "ListItem",
        "name": "Programming Languages Matter Less. Software Engineering Matters More.",
        "position": 18,
        "url": "https://wavect.io/blog/programming-languages-matter-less-ai/"
      },
      {
        "@type": "ListItem",
        "name": "The Future of Enterprise Software",
        "position": 19,
        "url": "https://wavect.io/blog/future-of-enterprise-software/"
      },
      {
        "@type": "ListItem",
        "name": "What Software Maintenance Costs After Launch: A DACH SaaS Benchmark",
        "position": 20,
        "url": "https://wavect.io/blog/software-maintenance-cost-benchmark-dach-saas/"
      },
      {
        "@type": "ListItem",
        "name": "Smart City Architecture Best Practices: MQTT, LoRaWAN, Kubernetes and Terraform",
        "position": 21,
        "url": "https://wavect.io/blog/smart-city-architecture-best-practices-2026/"
      },
      {
        "@type": "ListItem",
        "name": "The Factory Returns",
        "position": 22,
        "url": "https://wavect.io/blog/the-factory-returns/"
      },
      {
        "@type": "ListItem",
        "name": "Agile De-engineering",
        "position": 23,
        "url": "https://wavect.io/blog/agile-de-engineering/"
      },
      {
        "@type": "ListItem",
        "name": "Lovable, Bolt, and Replit App Due Diligence",
        "position": 24,
        "url": "https://wavect.io/blog/lovable-bolt-replit-app-due-diligence/"
      },
      {
        "@type": "ListItem",
        "name": "The Vibe-Code Production-Readiness Checklist",
        "position": 25,
        "url": "https://wavect.io/blog/vibe-code-production-readiness-checklist/"
      },
      {
        "@type": "ListItem",
        "name": "What It Costs to Make a Vibe-Coded App Production-Ready",
        "position": 26,
        "url": "https://wavect.io/blog/vibe-coded-software-audit-cost/"
      },
      {
        "@type": "ListItem",
        "name": "QA for AI-Generated Code",
        "position": 27,
        "url": "https://wavect.io/blog/qa-for-ai-generated-code/"
      },
      {
        "@type": "ListItem",
        "name": "From Lovable and Cursor Prototype to Production: The Migration Checklist",
        "position": 28,
        "url": "https://wavect.io/blog/lovable-cursor-prototype-to-production/"
      },
      {
        "@type": "ListItem",
        "name": "Vibe-Coded Software Audit: What Breaks Before Launch",
        "position": 29,
        "url": "https://wavect.io/blog/vibe-coded-software-audit/"
      },
      {
        "@type": "ListItem",
        "name": "React Native vs Flutter for a DACH Founder Who Has to Hire Locally",
        "position": 30,
        "url": "https://wavect.io/blog/react-native-vs-flutter-dach-hiring/"
      },
      {
        "@type": "ListItem",
        "name": "LoRaWAN vs NB-IoT vs Sigfox: How to Budget an IoT Sensor Pilot",
        "position": 31,
        "url": "https://wavect.io/blog/lorawan-nbiot-sigfox-pilot-cost/"
      },
      {
        "@type": "ListItem",
        "name": "Software - a Breathing Organism",
        "position": 32,
        "url": "https://wavect.io/blog/software-a-breathing-organism/"
      },
      {
        "@type": "ListItem",
        "name": "Why Test-Driven-Development pays off",
        "position": 33,
        "url": "https://wavect.io/blog/test-driven-development/"
      }
    ],
    "numberOfItems": 33
  },
  "name": "Delivery and QA",
  "url": "https://wavect.io/blog/topics/delivery-qa/"
}
```
