[软件工程]讨论敏捷软件开发的可能性

作者在 2008-11-23 17:28:17 发布以下内容
最近在11月的CSDN上除了google的云计算外,还有一个关键词被炒得火热“敏捷”。其实个人目前也没太明白,敏捷软件开发的含义。通过baidu或google之后个人了解,敏捷就是将以流程为主的工程项目,变为以需求为主的需求项目。
个人觉得这的确是国内这个环境下不得不提出的概念,因为以工程为主的软件开发让开发者与客户之间产生的矛盾比较尖锐。客户是不懂技术的,随时想到一个想法理所当然的认为其实现起来相当简单,而且某些客户是不会理会什么开发设计流程,甚至在项目完成到70%或%50时想到一个想法,而殊不知这个想法会完全打乱原有计划与步骤。
因此隔阂和矛盾便产生了,客户为了和不断变化的竞争对手竞争,不定时地提出想法,因为其不定时地想法给整个项目带来时间的增加和成本技术难度的变化。而客户是不会考虑这些变化,因此项目的失败和崩盘就会在所难免。
很明显的一个例子,某个客户需要一个在线商城系统,按其事先的描述来作分析和计划,当订单部分已经完成。某某竞争对手推出了更加成功的另一种商城系统,客户要求变成另一种和其原先描述完全是两回事的商城系统,而这个项目的交付日期却不变。
上面的例子可能在绝大多数,情况中都会存在的,这时往往故事会有两种结局,开发公司为了客户的MONEY开始弄虚做假,偷工减料往往做出来的东西能用但质量低略。从而给后续升级和维护带来更大的麻烦。第二种结局就是整个项目的开发失败和崩盘,客户取消了开发。不过国内公司大多数都走的第一种结局,毕竟MONEY是第一位的。
于是乎国内的软件恶性循环便产生了,往往商业性的公司网站大都质量低下,代码是东一片西一片,没有任何规律可循,看完了让你一个头两个大。
说完上面的“题外话”再来探讨,敏捷软件开发和为什么要把软件开发从工程项目变为需求项目,不过目前个人所知尝试这种开发模式的公司好像还不是特多。因为其待解决的问题依然很多,毕竟要从无规律中找出规律。现在的项目开发的流程是要求可操作和可管理的,怎样依据需求来管理和操作项目,让计划能够随着需求的改变而改变的同时却能按时地完成项目。毕竟现在不是软件开发时期的“个人英雄主义”年代和“无政府”状态,在客户需求不定时地随时变化和有规律的软件项目之间找到一个平衡点。
默认分类 | 阅读 5077 次
文章评论,共0条
游客请输入验证码
浏览139285次
文章分类