Freewind @ Thoughtworks scala java javascript dart 工具 编程实践 月结 math python english [comments admin] [feed]

(2014-06-14) TWI 1-2. 什么是敏捷

广告: 云梯:翻墙vpn (省10元) 土行孙:科研用户翻墙http proxy (有优惠)

敏捷宣言

虽然我们更认同左右的价值,但我们也承认右边的价值

我们会问:你是选金钱,还是美女?

但不会问:你是选金钱,还是大粪?

瀑布是一个反模型:从上到下,不能回头

在需求分析阶段,会对所有功能进行分析

无法应对变化,反馈慢。

对日外包:文档超详细,甚至连每个方法和变量名都定好了

但是,它有很多改良版。敏捷中的一个迭代,也可看作是一个非常小型的瀑布

(我认为,topcoder中的模型,也是一种改良的瀑布)

轻量级方法

XP: 极限编程, Kent, Martin flower等。极限的意思是:既然我们承认开发中有一些很好的实践,那么我们便把它们发挥到极限。TDD,跟客户一起工作,showcase,每日code review。small release。

水晶:根据项目大小和人员多少,分成多个格。不同的格采用不同的开发方式

scrum: 迭代,站会,kickoff, code review, retro

我们公司采用的是scrum + xp。

敏捷

这些轻量级方法有很多共同点,所以它们的创建者们在一起开了个会,总结出一套价值观,叫敏捷宣言。17个人开了个会,签了字,定了下来。

怎么感觉这个session很长,但是却回忆不出多少内容了?是不是漏了什么?

另外凯锋提到说,敏捷方法也许不太适合互联网公司。我会后问了一下,他的大意是说,互联网公司要求很快的推出某个功能,甚于不会像我们这样写测试,因为按我们的方法,开发一个功能时大部分的时间都花在测试上了。而互联网用户对网站出错的容忍程度比较大,只要发现错误后及时改正就可以。另外,我们前同事去了某家公司后,发现那边有很强的出错切换机制,当新功能出现问题时,能快速切换到备用的旧版本机器。

可能我对凯锋的回答理解得不太清楚,加上我对这些也没什么想法,后来就这个问题问徐大师时,感觉自己讲不清楚,只记得徐大师强烈质疑我的问题:不写测试就能让交付更快?

comments powered by Disqus