现在很多公司都喜欢用敏捷的方式去迭代产品, 写个文章给大家做个了解
目录
[五、敏捷如何运作?------ 核心实践与流程(Scrum框架为例)](#五、敏捷如何运作?—— 核心实践与流程(Scrum框架为例))
一、核心思想:一句话定义敏捷
敏捷是一种以人为核心、迭代、循序渐进的开发方法论和思维模式。
它不追求一开始就做出完美的计划,而是强调在短时间内持续交付有价值的软件,通过不断的反馈和调整来应对变化。
一个经典的比喻:
-
传统模式(如瀑布模型):像造一艘巨轮。需要先完成所有精密的设计图纸(需求文档),然后开工建造,最后下水试航。中途修改设计代价巨大。
-
敏捷模式:像开车去一个遥远的目的地。你有一个大致方向(最终目标),但不必一开始就规划好每一段路。你开一小段(一次迭代),就看一下地图(评审反馈),根据路况(市场变化、客户反馈)随时调整路线,最终到达目的地。
二、为什么需要敏捷?(敏捷要解决什么问题)
传统软件开发(瀑布模型)面临的主要痛点:
-
变化代价大:市场、客户需求在项目漫长的开发周期中肯定会变化,但传统模式难以响应。
-
交付周期长:客户需要等到项目末期才能看到成品,风险高。
-
沟通成本高:厚厚的需求文档容易产生误解,开发团队和业务团队容易对立。
敏捷的价值主张就是:拥抱变化,快速交付,持续改进。
三、敏捷的四大核心价值(来自《敏捷宣言》)
这是理解敏捷的基石。所有实践都围绕这些价值观展开。
-
个体与互动 高于 流程与工具
- 理解:优秀的团队成员和他们之间高效的沟通,比死板地遵循流程或使用昂贵的工具更重要。
-
可工作的软件 高于 详尽的文档
- 理解:交付能实际运行的软件,比编写一大堆无人阅读的文档更有价值。文档要有,但够用即可。
-
客户合作 高于 合同谈判
- 理解:与客户建立长期合作的伙伴关系,共同解决问题,而不是仅仅围绕合同条款进行博弈。
-
响应变化 高于 遵循计划
- 理解:计划很重要,但当变化发生时,能够灵活地调整计划比僵化地执行原计划更有价值。
注意 :这并不意味着右边的事项没有价值,而是左边的事项优先级更高。
四、敏捷的十二原则(《敏捷宣言》的实践指导)
这些原则是四大价值观的具体体现,其中几条最能体现其精髓:
-
早期持续交付有价值的软件使客户满意。(核心目标)
-
欢迎不断变化的需求,即使开发后期也一样。(拥抱变化)
-
工作软件是进度的首要度量标准。(衡量标准)
-
业务人员和开发人员必须每天一起工作。(紧密合作)
-
面对面交谈是最有效率的沟通方式。(高效沟通)
-
定期反思如何能提高成效,并相应调整。(持续改进)
五、敏捷如何运作?------ 核心实践与流程(Scrum框架为例)
Scrum 是最流行的敏捷框架。它通过一系列固定的仪式和角色来实践敏捷。
1. 三大角色
-
产品负责人(Product Owner, PO):定义需求(写用户故事),排定优先级,代表客户和业务的利益。
-
Scrum Master:团队的教练和服务式领导,确保团队正确执行Scrum流程,并移除阻碍进度的障碍。
-
开发团队:跨职能(设计、开发、测试等)的自组织团队,负责在每个迭代中交付"完成"的产品增量。
2. 三大工件(产出物)
-
产品待办列表(Product Backlog) :由PO维护的、按优先级排序的所有需求清单(通常是用户故事)。
-
冲刺待办列表(Sprint Backlog) :当前迭代(Sprint)计划要完成的需求清单,是从Product Backlog中挑选出来的。
-
产品增量(Increment) :一个Sprint结束后产生的、可交付的、可工作的软件成果。
3. 五大仪式(活动)
这是一个周期性的循环,完美体现了"迭代"和"渐进"的思想:

六、如何形象地理解整个流程?
想象一个团队为一家餐厅开发一款在线点餐APP。
-
产品待办列表(Product Backlog) :PO列出的所有可能的功能:
用户登录
、浏览菜单
、添加菜品到购物车
、在线支付
、订单历史
、推荐菜
... -
冲刺规划会(Sprint Planning) :团队和PO决定,第一个Sprint(两周)先做最核心的
浏览菜单
和添加菜品到购物车
。 -
每日站会(Daily Stand-up):每天15分钟,团队成员同步:"我昨天完成了购物车UI,今天开始联调。有什么阻塞问题?数据库连接有点慢,需要DBA帮忙看下。"
-
冲刺评审会(Sprint Review) :两周后,团队向PO和餐厅老板演示一个可用的原型:可以浏览菜单,把菜加进购物车。老板说:"很棒!但我觉得把招牌菜置顶会更好。"
-
冲刺回顾会(Sprint Retrospective):团队内部开会:"这次我们代码质量不错,但沟通不足,导致后端API晚了一天。下次我们约定好接口提前定义。"
-
下一个Sprint :PO根据反馈,把
置顶招牌菜
的需求加入Backlog。团队开始规划下一个Sprint,可能选择做用户登录
和修改购物车
。
就这样,每一个Sprint后,APP的功能都增加一点,并且方向不断根据反馈调整,最终做出一款真正符合餐厅老板期望的软件。
总结:敏捷的精髓
-
思维上 :从"遵循计划 "转变为"拥抱变化"。
-
行动上 :从"一次性交付 "转变为"持续小步快跑"。
-
协作上 :从"文档与合同 "转变为"沟通与信任"。
理解敏捷,关键不在于死记硬背那些仪式和术语,而在于深刻理解其响应变化、以人为本、持续交付价值的核心思想。