---
title: "什么是 Agile？"
canonical: https://wavect.io/zh/glossary/agile/
language: zh
description: "一族软件开发实践，重视短迭代、频繁的客户反馈，以及根据交付结果回头调整计划。"
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

方法

# Agile

一族软件开发实践，重视短迭代、频繁的客户反馈，以及根据交付结果回头调整计划。

最近审阅: 2026-05-24 审阅人 [Kevin Riedl](/zh/team/kevin-riedl/) [wiki ↗](https://www.wikidata.org/wiki/Q139796365)

Agile 比多数人意识到的更老（宣言出自 2001 年），落地得也比多数团队愿意承认的更糟。最初的想法很简单：计划做得比你能预测的更远，就是浪费工作，所以短计划、发布、学习、再计划。其他一切（Scrum、Kanban、SAFe、 [Sprint](/zh/glossary/sprint/) 、Retro、Story Point）都是叠在上面的实施细节。

对一支声称「在做 Agile」的团队，最有用的问题是：上一次因为上周发布的东西而改变计划，是什么时候？如果答案是从来没有，那这支团队是在用两周一块的瀑布。

区别，举个实际例子：两支团队都跑两周 Sprint。A 队做演示，看到一个路线图上没人预测的功能才是用户真正点击的那个，于是把下个 Sprint 围绕它重排。B 队做演示，把反馈记进一份文档，然后按他们一月份写下的计划继续，因为计划就是计划。A 队是 Agile 的。B 队有 Agile 的仪式和一个瀑布的脑子。仪式是一样的；只有「是否愿意根据证据行动」不同，而那就是全部胜负所在。

诚实的取舍与创始人错误：Agile 不是跳过计划的许可证，它也不免费。它用长周期的可预测性换快速学习，而当范围、监管或一份接口契约真的不能变时（认证医疗器械、航电、某些硬件），这恰恰是错的。即便在那里，原始原则在团队内部依然适用；面向外部的流程只是看起来更像 [瀑布](/zh/glossary/sdlc/) 。Wavect 在原始意义上是 Agile 的：我们在短周期里工作、频繁演示、靠 [CI/CD](/zh/glossary/ci-cd/) 让发布变便宜，并且愿意把结果证明是错的工作扔掉。我们对认证产业版的 Agile 抱怀疑态度，那种把会议节奏本身当成目标、把 [TDD](/zh/glossary/tdd/) 套件写来给人看而不是为了信心的做法。

**在软件项目中何时最关键。** 当范围仍可能改变，因为市场还在不断教你东西时，多数早期产品都是如此。Agile 用长周期可预测性换快速学习，这种交换只有在你真的愿意根据所发布的东西去行动时才划算。

**创始人通常会搞错什么。** 他们买下仪式，却保留一颗瀑布脑：两周 Sprint、故事点、复盘，加上一份从一月起就没变过的计划。没有「依据证据改变方向」意愿的仪式，是伪装过的瀑布。

**Wavect 如何处理。** 我们是原始意义上的 Agile：短周期、频繁演示、靠 CI/CD 让发布变便宜，并且会扔掉被证明做错的工作。当范围真的不能动时，我们直说并据此规划； [固定价格对比 Time and Materials 指南](/zh/software-development-guide/fixed-price-vs-time-and-materials/) 讲到了这种合同选择。

// FAQ

## 常见问题

### 怎么判断一个团队是真敏捷，还是只是在用冲刺跑瀑布？

问问看，计划上一次因为上周交付的东西而改变是什么时候。如果答案是「从来没有」或「我们在季度时重新规划」，那他们是在用两周一块的方式跑瀑布。真正的敏捷根据工作浮现出来的证据改变计划，而不是根据日历。

### Scrum 等于敏捷吗？

不等于。Scrum 是敏捷原则的一种实现。Kanban 也是。XP 也是。把 Scrum 与敏捷混为一谈的团队，最后会去膜拜那些仪式（站会、Story Point、回顾），而它们已经不再服务于快速学习与调整这个底层目标。

### 什么时候敏捷不合适？

当范围、监管或一份接口契约真的无法改变时（想想医疗器械、认证航电、某些硬件）。即便在那里，原始原则在团队内部依然适用；面向外部的流程只是看起来更像瀑布。

相关术语

- [Sprint](/zh/glossary/sprint/)
- [TDD](/zh/glossary/tdd/)
- [CI/CD](/zh/glossary/ci-cd/)
- [SDLC](/zh/glossary/sdlc/)

相关服务

- [定制软件开发](/zh/services/software-development/)

相关案例研究

- [Polity](/zh/case-studies/polity/)

相关指南

- [软件开发流程：从首次通话到完整交接](/zh/software-development-guide/software-development-process/)

聊聊

## 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/zh/glossary/agile/#term",
      "@type": "DefinedTerm",
      "alternateName": [
        "敏捷"
      ],
      "description": "一族软件开发实践，重视短迭代、频繁的客户反馈，以及根据交付结果回头调整计划。",
      "inDefinedTermSet": "https://wavect.io/zh/glossary/#termset",
      "name": "Agile",
      "termCode": "agile",
      "url": "https://wavect.io/zh/glossary/agile/"
    },
    {
      "@id": "https://wavect.io/zh/glossary/agile/#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": "一族软件开发实践，重视短迭代、频繁的客户反馈，以及根据交付结果回头调整计划。",
      "headline": "Agile",
      "inLanguage": "zh",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-05-24",
      "mainEntity": {
        "@id": "https://wavect.io/zh/glossary/agile/#term"
      },
      "mentions": [
        {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        {
          "@type": "Service",
          "name": "定制软件开发",
          "url": "https://wavect.io/zh/services/software-development/"
        }
      ],
      "name": "Agile",
      "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/zh/glossary/agile/"
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "item": "https://wavect.io/zh/",
          "name": "首页",
          "position": 1
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/zh/glossary/",
          "name": "技术、产品与合作模式术语表",
          "position": 2
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/zh/glossary/agile/",
          "name": "Agile",
          "position": 3
        }
      ]
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "问问看，计划上一次因为上周交付的东西而改变是什么时候。如果答案是「从来没有」或「我们在季度时重新规划」，那他们是在用两周一块的方式跑瀑布。真正的敏捷根据工作浮现出来的证据改变计划，而不是根据日历。"
      },
      "name": "怎么判断一个团队是真敏捷，还是只是在用冲刺跑瀑布？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "不等于。Scrum 是敏捷原则的一种实现。Kanban 也是。XP 也是。把 Scrum 与敏捷混为一谈的团队，最后会去膜拜那些仪式（站会、Story Point、回顾），而它们已经不再服务于快速学习与调整这个底层目标。"
      },
      "name": "Scrum 等于敏捷吗？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "当范围、监管或一份接口契约真的无法改变时（想想医疗器械、认证航电、某些硬件）。即便在那里，原始原则在团队内部依然适用；面向外部的流程只是看起来更像瀑布。"
      },
      "name": "什么时候敏捷不合适？"
    }
  ],
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [
      ".faq-question",
      ".faq-answer"
    ]
  }
}
```
