您的位置:首页 > 产品设计 > 产品经理

敏捷软件开发(Agile Software Development)学习笔记序

2005-07-31 21:24 363 查看
序:
传统软件工程方法产于目的在改进无序的开发过程,重在建立一个需求分析 —> 概要设计 —>详细设计 —> 撰写代码 —> 模块测试 —> 集成测试 —> 黑盒测试 —> 收工 的标准软件开发过程。它最大的好处在于让软件开发有章可循,开发人员可从中剪裁出一个符合实际情况的开发流程。在国内,大部分的中小型软件公司事实上遵循的就是这样的做法。它最大的问题是流程过于死板和单调,难以适应千变万化的软件开发类别,让人剪裁时往往无法下手,因为它并没有准备足够的流程供开发人员选择。同时,它没有对剪裁提出任何的参考意见,对于不同的开发类别没有对应的办法和举措,可操作性比较差,使得传统软件工程常常高高在上而无法落实于实际当中。
CMM是近几年由印度发扬光大且曾被炒得轰轰烈烈的软件工程方法,它相对传统软件工程最大的改进在于它提出了丰富的关键过程(Key Process),每一个关键过程包含若干关键活动(Key Activity),处于CMM中不同级别的软件开发小组实施对应的关键过程。这使得软件工程的可操作性大幅提升,一个开发小组的软件工程实施程度也有了一个比较客观的评价和度量。这个工程方法的直接后果是造就了印度的软件工厂模式,这种软件工厂一度让国人趋之若鹜,软件蓝领也成为一个争论不休的话题。就当前来说,CMM依然是软件工程中的佼佼者,它对软件开发过程的持续改进效果是令人愉快的。而它的弱点则是实施成本“似乎”过于高昂,不是随便找一个人就可以指导实施CMM,通常需要专业的CMM人员指导,而初期大量的文档也是让开发人员极不情愿配合的理由。对于大多数“短平快”的小公司而言,CMM几乎没有什么吸引力,尽管CMM承诺小公司同样可实施,但又有几个小公司实施了呢?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: