🧩 第十一章 衍生:敏捷开发
📄 一句话概括

四种流程放在四种情形下打分,最高分也只有 11 分(满分 12)——瀑布式在【需求稳定】拿满分、在【需求多变】只有 1 分;选流程要看项目,不看流行。

📝 本节和前面几节的关系

11.1~11.14 讲完流程与敏捷,这一节收口:没有标准答案。

一、实测:没有满分的流程

四种流程(瀑布/迭代/XP/Scrum)在四种情形(需求稳定/多变、小团队/大团队)下打分。 最高 11 分(迭代式),最低 8 分(XP),满分 12。 没有一个是满分——这本身就是结论。

二、同一套流程两副面孔

瀑布式在需求稳定拿 3 分,在需求多变只有 1 分。 XP 在小团队拿 3 分,在大团队只有 1 分——它的纪律要求太高,人多了难统一。 所以问【哪个流程好】是个坏问题,该问【我这个项目像哪种情形】。

三、怎么选

先看需求的稳定性:稳,瀑布最省;不稳,必须迭代。 再看团队规模:大团队要冻结的接口,小团队要轻的流程。 最后看技术底子:代码改不动时,先修结构,别急着上敏捷。

四、不要迷信也不要排斥

迷信的代价:把别人的流程照搬,水土不服就怪团队。 排斥的代价:什么都没改,问题原样留着。 正确姿势:先量自己的情形,再挑能解决当前最大痛点的那一项。

五、动手 Demo:不存在最好的开发流程

四种流程在四种情形下打分(3 很合适、1 不合适)。 看最高分与最低分,以及同一流程在不同情形下的落差。

flows = ["瀑布式", "迭代式", "XP", "Scrum"]
score = {"瀑布式": [3, 1, 2, 3], "迭代式": [2, 3, 3, 3],
         "XP": [1, 3, 3, 1], "Scrum": [2, 3, 2, 3]}
for f in flows:
    print(f, sum(score[f]), max(score[f]) - min(score[f]))
# 瀑布 9 落差2 / 迭代 11 落差1 / XP 8 落差2 / Scrum 10 落差1

实跑输出:

--------------------------------------------------------------------
不存在最好的开发流程
--------------------------------------------------------------------

  四种流程放在四种情形下打分(3 = 很合适,1 = 不合适)。实测:

  流程       需求稳定     需求多变     小团队     大团队
  -------------------------------------------------------
  瀑布式     3            1            2          3
  迭代式     2            3            3          3
  XP         1            3            3          1
  Scrum      2            3            2          3

      瀑布式    合计              9 分
      迭代式    合计              11 分
      XP        合计              8 分
      Scrum     合计              10 分
      总分最高的是                迭代式(11 分)
      总分最低的是                XP(8 分)

  **注意最高分也只有 11 分(满分 12)**——**没有一个流程在所有情形下都合适。**
  **瀑布式在【需求稳定】拿满分,在【需求多变】只有 1 分**——同一套流程,两副面孔。
  **所以 11.15 的结论很硬:选流程要看项目,不是看流行。**

实测:最高 11 分(迭代式)、最低 8 分(XP),满分 12——没有满分。 瀑布式在需求稳定拿满分、在需求多变只有 1 分,同一套流程两副面孔。 所以选流程要看项目情形,不是看流行。

30 秒实验

  1. 给你的项目在四个情形上打个标签,看最像哪一种。
  2. 按这个标签挑一个流程,写出它要解决的那个最大痛点。

常见误区

  1. 以为存在放之四海的流程。最高分也只有 11 分。
  2. 以为照搬大厂流程就能成功。情形不同,流程就得变。
自测三问(点开对答案) 1. 实测最高分是多少? —— 迭代式 11 分(满分 12)——没有一个是满分。 2. 瀑布式为什么两副面孔? —— 需求稳定时拿 3 分,需求多变时只有 1 分;冻结的产物在变化面前是负担。 3. 选流程看哪三点? —— 需求稳定性、团队规模、技术底子(代码改不动先修结构)。

相关笔记