头一段时间以前就在网上看到敏捷开发相关的东西挺火的,最近闲着就搞了本
Robert C.Martin写的《
Agile Software Development:Principles, Patterns, and Practices》翻翻。只是闲着翻了一下,心里就起了一些疑问。(说明:本人的这些疑问并不是建立在对敏捷开发熟悉的情况下的,纯粹闲谈)
如果理解不错的话,敏捷开发方法论的初衷应该是为了更好的因对需求变化,以及延伸出了各种对应的措施,例如赫赫有名的XP、测试驱动等...
1、对大项目或者有一定规模的产品开发合适吗?
直觉告诉我不合适。想过如果用敏捷开发的这套东西来应用到现在参与的产品开发,感觉悬乎。如果在一个规模较大的项目或者产品软件开发过程中面对较为负责的需求变更情况下,敏捷开发提供的这套东西就显得有点力不从心了,即使应用,那投入的精力也是可想而知的。对于大的项目或者产品软件的开发,是不是还是应该按照传统的软件工程思路来搞,这样即使不帅应该也不算丑吧,心里也应该更踏实一点。(这有点类似于遇到两个女孩子,一个长得比较大众化,五官还算是比较规整;另一个比较会打扮,可能就是常说的比较有特点,但是五官长的有缺陷; 那还是前者耐看一点,再有特点但是长得有硬伤有什么用啊^_^)
2、敏捷开发中提到的一些手段是不是对大部分开发人员要求过高了?
粗略翻了一下《
Agile Software Development:Principles, Patterns, and Practices》中的大部分章节,发现里面涉及到了5个基本的OO设计原则、以及一些常用设计模式灵活使用(而且建立在对设计好坏有一定审美能力的情况下的)、、、 这对大部分开发人员来说,是不是有点过高??? 在中国,顶级的公司不敢说,对于大部分看起来还不错的公司来说,估计大部分开发人员离以上水平就有相当差距了
说归说,道归道,敏捷开发这种思路还是很好的,尤其是对于中小型项目估计应该有一定的效果。这也可以看作是对传统软件工程的那套东东的一个补充,如果让一个代码行只有几万行的web系统去严格按照传统软件工程提倡那套方式去搞,显然有点.....
本博客中的所有文章、随笔除了标题中含有引用或者转载字样的,其他均为原创。转载请注明出处,谢谢!