关于敏捷开发,这已经不是一个新词了,我第一次听到敏捷开发这个名词的时候已经是好几年前。可是最近我才真正的开始关注和学习敏捷开发的思想。
首先,敏捷开发是一种针对人的以人为核心的开发模式,这是一种循序渐进的开发模式。他强调的是人与人之间的交互,而不是工具或者其他的流程。它有完整的开发团队,扁平式的,工程师与工程师之间,工程师与项目经理之间直接进行沟通。它把系统划分为若干个尽量小而简单的模块。它要求团队所有成员所做的事情都只是恰到好处。它甚至觉得我们应该拥有一个更好的沟通模式和流程控制,然后抛弃文档,因为文档会耗费大量的时间。
我们需要持续的向客户或者产品设计人员提交版本来让它了解进度并随时给出修改意见,这样做能避免更大程度的返工,也更能在不停的使用中进行测试,找出不尽人意的地方。
进度的控制很重要。进度是保持开发持续性的一个重要因素。而开发持续性是敏捷开发在代码质量控制的过程中的重中之重。
我们需要更好的架构和需求设计。更好的架构能保证模块与模块之间的解耦性,能减低模块之间的影响。而需求设计的完整能让工程师更清楚自己该做什么。
只做到恰到好处。完成所有客户提出的或者是产品设计人员提出的需求,然后仅此而已。保持开发速度,增强单位时间工作的实用性。
我们还需要,经常在一起开开小会,说说遇到的问题,然后改进。
总之我们的目标就是要刚刚好。
同时敏捷开发也存在他自身的不足:
1. 对于那些优先级不明确或者需求不明确的项目难以开展。
2. 团队的建设成本较高。这一点大部分来自于人的问题。人是有缺点的。比如人容易疏忽,犯错误,人宁愿自己写而不愿意改(我就是这样的人),人有时候还难以保持一个优良的状态。于是我们要对团队进行不断的培训,培养,有时候还要设立很多规矩,比如不要随便打扰别人。
3. 当团队有新人进入或者有老人退出时,这一切都将变得很艰难。
其实敏捷开发,就像是一个美好的许愿,无论是公司老总,项目经理,还是工程师,对于敏捷开发都抱有不同程度的幻想,但是它真的那么容易实现吗?

Posts
加油。。。每一篇俺都是忠实粉丝
2009年03月4日 @ 23:37