---
title: "¿Qué es un SoW (Statement of Work)?"
canonical: https://wavect.io/es/glossary/sow/
language: es
description: "Un contrato firmado que nombra un entregable, un precio y una fecha, y obliga legalmente al proveedor a las tres cosas."
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

ENGAGEMENT

# SoW

Statement of Work

Un contrato firmado que nombra un entregable, un precio y una fecha, y obliga legalmente al proveedor a las tres cosas.

Última revisión: 2026-05-24 por [Kevin Riedl](/es/team/kevin-riedl/) [wiki ↗](https://www.wikidata.org/wiki/Q139796365)

Un Statement of Work es el documento que convierte un acuerdo verbal en contrato. Lista el entregable en términos concretos («feature X en producción cumpliendo criterios de aceptación A, B, C»), el precio, el plazo y las condiciones de aceptación.

En derecho austríaco y alemán el instrumento equivalente es el Werkvertrag, más fuerte que el SoW en inglés: el proveedor está legalmente obligado a entregar la obra, no solo a aportar esfuerzo, y el cliente puede retener el pago hasta que la obra se acepte. Un contrato de [Time & Material](/es/glossary/time-and-material/) bajo el mismo marco es un Dienstvertrag, que solo obliga a esfuerzo. Los engagements a [precio fijo](/es/glossary/fixed-price/) de Wavect son contratos Werkvertrag.

Ejemplo de por qué los criterios de aceptación cargan con todo el contrato: un SoW que dice «construir la feature de reporting, debe funcionar bien» es inaplicable, porque «funcionar bien» es una opinión. Un SoW que dice «el endpoint /reports devuelve las cifras mensuales para el rango R en menos de 200ms bajo carga L, coincidiendo con los valores del spec S» es comprobable, y «hecho» deja de ser una negociación. El error de founder más común es firmar un SoW redactado de forma vaga para ahorrar tiempo al inicio, y luego pasar seis meses discutiendo si una feature a medio funcionar cuenta como entregada. Un proveedor que se resiste a escribir criterios de aceptación precisos está protegiendo su derecho a tener esa discusión más tarde.

El SoW es también el documento que evita el scope creep: lo que no esté en él queda fuera por definición y se gestiona con un change request. Ojo a las capas: un MSA (Master Services Agreement) cubre el marco legal (IP, responsabilidad, jurisdicción) una vez, y muchos SoWs viven bajo él a lo largo del tiempo. El trade-off honesto es que un SoW apretado cuesta trabajo real de escribir y se siente lento al principio, que es exactamente el trabajo que una [fase de discovery](/es/glossary/discovery-phase/) pagada existe para hacer. Relacionado: [Fractional CTO Austria](/es/services/fractional-cto/) explica el modelo Werkvertrag en la práctica.

**Cuándo importa esto en un proyecto de software.** En el momento en que cambia el dinero de manos. El SoW es donde «qué estás comprando» deja de ser una conversación y se vuelve exigible, así que es el único documento que decide si una disputa posterior se resuelve por el contrato o por quién grita más fuerte.

**Qué suelen hacer mal los founders.** Firman un SoW vagamente redactado para empezar más rápido, y luego discuten meses si una funcionalidad a medias cuenta como entregada. Los criterios de aceptación cargan con todo el contrato; «debe funcionar bien» es una opinión, no un entregable.

**Cómo lo maneja Wavect.** Escribimos criterios de aceptación lo bastante precisos para ser testables antes de que nadie firme, y corremos primero una discovery pagada para que el alcance sea real. Nuestra [guía para elegir una agencia de software](/es/software-development-guide/how-to-choose-a-software-agency/) y la [guía de precio fijo vs time and materials](/es/software-development-guide/fixed-price-vs-time-and-materials/) recorren la decisión del contrato en lenguaje claro.

// FAQ

## Preguntas frecuentes

### ¿Qué pasa si el scope cambia a mitad del SoW?

Se firma un change request: alcance nuevo, precio nuevo, fecha nueva, en papel. Es aburrido y es el único mecanismo que evita los dos finales malos del scope creep: el proveedor descontento que entrega tarde, o el cliente que paga doble por lo mismo. Sin change request escrito, no existe.

### ¿Cuándo NO tiene sentido un SoW?

Cuando el alcance no se puede nombrar con honestidad. Si no sabes aún qué construir (pre-discovery, investigación, fase exploratoria), un SoW a precio fijo es teatro. Para eso existen los engagements de discovery o T&M con tope; encajarles un SoW solo crea peleas de aceptación.

### ¿SoW o Werkvertrag, importa el nombre?

En AT/DE el nombre importa. Un Werkvertrag obliga a entregar la obra; un Dienstvertrag solo obliga a esfuerzo. Llamar «SoW» a un contrato que jurídicamente es Dienstvertrag te deja sin recurso si el proveedor solo aporta horas. Lee qué firmas, no qué te venden.

Términos relacionados

- [Precio fijo](/es/glossary/fixed-price/)
- [Time & Material](/es/glossary/time-and-material/)
- [Retainer](/es/glossary/retainer/)
- [Fase de discovery](/es/glossary/discovery-phase/)

Servicios relacionados

- [Desarrollo de software](/es/services/software-development/)

Casos de estudio relacionados

- [Plataforma de Análisis de Bonos](/es/case-studies/bond-analytics/)

Comparaciones relacionadas

- [wavect-vs-staffing-agencies](/es/compare/wavect-vs-staffing-agencies/)
- [wavect-vs-freelance-platforms](/es/compare/wavect-vs-freelance-platforms/)

Tratado en artículos

- [Cómo revisar una propuesta de agencia de software: 12 cláusulas](/es/blog/software-agency-proposal-teardown/)
- [Werkvertrag vs time & material para SaaS austriaco](/es/blog/werkvertrag-vs-time-material-austrian-saas/)
- [Precio fijo vs T&M: el scope creep en cifras](/es/blog/fixed-price-vs-tm-scope-creep-rates/)

Hablemos

## 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/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/es/glossary/sow/#term",
      "@type": "DefinedTerm",
      "alternateName": [
        "Statement of Work",
        "Werkvertrag"
      ],
      "description": "Un contrato firmado que nombra un entregable, un precio y una fecha, y obliga legalmente al proveedor a las tres cosas.",
      "inDefinedTermSet": "https://wavect.io/es/glossary/#termset",
      "name": "SoW",
      "termCode": "sow",
      "url": "https://wavect.io/es/glossary/sow/"
    },
    {
      "@id": "https://wavect.io/es/glossary/sow/#webpage",
      "@type": "WebPage",
      "about": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "author": {
        "@id": "https://wavect.io/team/kevin-riedl/#person",
        "@type": "Person",
        "name": "Kevin Riedl",
        "url": "https://wavect.io/team/kevin-riedl/"
      },
      "dateModified": "2026-05-24",
      "description": "Un contrato firmado que nombra un entregable, un precio y una fecha, y obliga legalmente al proveedor a las tres cosas.",
      "headline": "SoW",
      "inLanguage": "es",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-05-24",
      "mainEntity": {
        "@id": "https://wavect.io/es/glossary/sow/#term"
      },
      "mentions": [
        {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        }
      ],
      "name": "SoW",
      "reviewedBy": {
        "@id": "https://wavect.io/team/christof-jori/#person",
        "@type": "Person",
        "name": "Christof Jori",
        "url": "https://wavect.io/team/christof-jori/"
      },
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": [
          ".gls-single__h1",
          ".gls-single__tldr"
        ]
      },
      "url": "https://wavect.io/es/glossary/sow/"
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "item": "https://wavect.io/es/",
          "name": "Inicio",
          "position": 1
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/es/glossary/",
          "name": "Glosario de tech, producto e ingeniería",
          "position": 2
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/es/glossary/sow/",
          "name": "SoW",
          "position": 3
        }
      ]
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Se firma un change request: alcance nuevo, precio nuevo, fecha nueva, en papel. Es aburrido y es el único mecanismo que evita los dos finales malos del scope creep: el proveedor descontento que entrega tarde, o el cliente que paga doble por lo mismo. Sin change request escrito, no existe."
      },
      "name": "¿Qué pasa si el scope cambia a mitad del SoW?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Cuando el alcance no se puede nombrar con honestidad. Si no sabes aún qué construir (pre-discovery, investigación, fase exploratoria), un SoW a precio fijo es teatro. Para eso existen los engagements de discovery o T&M con tope; encajarles un SoW solo crea peleas de aceptación."
      },
      "name": "¿Cuándo NO tiene sentido un SoW?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "En AT/DE el nombre importa. Un Werkvertrag obliga a entregar la obra; un Dienstvertrag solo obliga a esfuerzo. Llamar «SoW» a un contrato que jurídicamente es Dienstvertrag te deja sin recurso si el proveedor solo aporta horas. Lee qué firmas, no qué te venden."
      },
      "name": "¿SoW o Werkvertrag, importa el nombre?"
    }
  ],
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [
      ".faq-question",
      ".faq-answer"
    ]
  }
}
```
