如果每个软件开发项目都和建大楼一样,当然可以而且应当使用一样的开发流程和管理方法,因为这套流程已经被无数次证明了它的可行性。但是区别于传统工程的开发方法,软件开发有自己的特点:
1、和建大楼相比,大部分软件开发项目的投资要少得多,工期要短得多,参与项目的人员要少很多;
2、水泥、钢材、砖等很多建筑材料,很难在短期内重用,而代码和设计可以重用;
3、大楼动工后,设计就很少再“优化”了,也不能出现什么“验收或测试时系统崩溃”的情况(如果出现,那一定是大事了),而这些情况在软件开发中却比较常见;
4、软件开发过程中,客户很有可能提出新的迫切的需求,取消或改变原来的需求;
5、软件开发的需求要比建造大楼的需求模糊得多,往往不能量化。软件开发过程自始至终都是以脑力劳动为主,开发速度也很难量化,因而开发计划也很难做到准确;
6、因为软件开发项目的人数比较少(超过10个程序员的项目绝对是大项目),每个人员的流动都可能会对项目进度造成很大影响;
7、和工程开发相比,软件开发中的“偷工减料”更难发现。
还有很多其它重要的区别,但我们仅从以上几点就能很容易地发现:传统的软件开发方法只能适合部分软件开发项目,根本不适合用来解决一切问题。
而软件业界目前正在积极推动的极限编程在很大程度上弥补了传统的软件开发方法的以上不足。极限编程从许多方面对软件开发的方式作了新的诠释和重构,从而更加灵活有效地解决了上述问题;而且,因为它特别强调交流、反馈和合作,更加适合我中心这样规模的开发队伍。
如果我竞聘成功,我的工作思路是:汲取极限编程的思想,强调软件团队精神,以客户为中心,以具体项目为实现手段,全面提升软件设计与开发的工作效率,加快软件产品化进程。我将在微观上有选择地采用极限编程、强调细节管理,在宏观上向CMM(软件过程成熟度)积极迈进。下面我将详细阐明我的思路:如何做到专业
上一篇 : 独立电商或将是电子商务的新未来
下一篇 : 板栗 “6个栗子等于1碗饭” 板栗吃多了易发