你如何理解敏捷开发?

关注者
1303
被浏览
181229

67 个回答

今天你敏捷了没有?“敏捷”在互联网和软件开发领域从涓涓细流逐渐演变为行业潮流,往小了说是改进了开发方法,往大了说是革了瀑布流式的命——把产品开发引向了快速迭代、小步快跑的路线上。

我们使用tapd(是腾讯内部的敏捷项目管理系统)写 feature,流转、跟踪任务,言必谈敏捷,然而我们是否真的走对了敏捷?

小编在此给大家推荐腾讯产品经理 薄玉桴 的 《你大概走了假敏捷:认真说说敏捷的实现和问题(手绘版)


此文从以下六点与大家认真剖析什么是敏捷,以及现存的敏捷开发问题。

1.朋友,你听说过敏捷么?

2.离开敏捷工具,我们怎么敏?

3.设计也要介入敏捷流程?

4.敏捷跟文档是对立的?

5.我这有个几百亿的大项目,怎么敏?

6.尽信书,不如无书。


文章图片很多,知乎的编辑器确实不太好用,还请大家到原文页面阅读吧(求别打脸(⊙o⊙)…)

你大概走了假敏捷:认真说说敏捷的实现和问题(手绘版)

可以从多个层面、多个角度来理解敏捷开发。

“敏捷”是两个字,我用最简单的话来形容敏捷软件开发就是四个字:

更好更快(或又好又快)

如果敏捷开发不能让一个团队、产品的开发比已有的基于 ISO 9001、SEI 的 CMM 与 CMMI、PMI 的 PMBOK 等等标准体系的开发更好更快,那么请问,实施 Agile 到底有什么意义?人们喜欢敏捷,仅仅是因为政治偏好、宗教崇拜?如果相比传统方法没有一点点的先进性和差异性,那么 Agile 的存在就毫无意义,我想这是一个基本的逻辑。

下面先说说什么是快,然后再说说什么是好。



看到有人说“敏捷不是快”,这显然是错误的。敏捷中的“捷”字不正是“快捷”的意思么?难道是语文不好?

查一下词典,例如必应词典中关于 agile 的解释(cn.bing.com/dict/search?)如下:

1. able to move quickly and easily
2. able to think quickly, solve problems, and have new ideas

读懂了敏捷的英文解释,你就能明白西方的敏捷专家们为什么把他们的一套方法统称为 Agile methods,这还是非常贴切的,比 Light-weight 更好。

显然,敏捷开发的一个基本要求首先就是团队的行动要迅速,反应要快、要灵敏,相反地,那些反应迟钝、缓慢,客户响应拖拖拉拉,错失市场良机的,自然不是敏捷开发。

除了反应快,响应快,软件开发中的各种快(Quickness)还包括:交付快,发布快,开发快,纠错快,收效快等等,这些快都与时间有关,代表了开发的速度与高效。

那么,软件开发怎样才能快起来?一个很容易想到的答案是:轻装上阵。

一个开发团队怎样才能轻装上阵?减少不必要的环节与各种开销、浪费(Eliminate waste)。



正确实施的敏捷开发理论上还应该带来更好的效果,然而对于什么是“好”,分歧是最大的,因为不同位置、不同背景,拥有不同价值观的人群对于“好”的定义常常有着不同(有时甚至截然相反)的理解。

。。。
为什么?