4、软件开发过程中,客户很有可能提出新的迫切的需求,取消或改变原来的需求;
5、软件开发的需求要比建造大楼的需求模糊得多, 往往不能量化。软件开发过程自始至终都是以脑力劳动为主,开发速度也很难量化,因而开发计划也很难做到准确;
6、因为软件开发项目的人数比较少(超过10个程序员的项目绝对是大项目),每个人员的流动都可能会对项目进度造成很大影响;
7、和工程开发相比,软件开发中的“偷工减料”更难发现。
还有很多其它重要的区别,但我们仅从以上几点就能很容易地发现:传统的软件开发方法只能适合部分软件开发项目,根本不适合用来解决一切问题。
而软件业界目前正在积极推动的极限编程在很大程度上弥补了传统的软件开发方法的以上不足。极限编程从许多方面对软件开发的方式作了新的诠释和重构,从而更加灵活有效地解决了上述问题;而且,因为它特别强调交流、反馈和合作,更加适合我中心这样规模的开发队伍。
如果我竞聘成功,我的工作思路是:汲取极限编程的思想,强调软件团队精神,以客户为中心,以具体项目为实现手段,全面提升软件设计与开发的工作效率,加快软件产品化进程。我将在微观上有选择地采用极限编程、强调细节管理,在宏观上向cmm(软件过程成熟度)积极迈进。下面我将详细阐明我的思路:如何做到专业
1、 强调团队精神
杜绝自命不凡和不能平等待人的工作态度。
所有环节都以“团队”为单位来进行。所有的“队员” 对整个项目和设计都有发言权,同时由整个“团队”来对项目负责。这里的负责是指所有人对项目中的所有部分负责。而在以往的环境中,很多时候是一个“团队”中的各个人负责个人设计,这样就很容易给破坏“团队”造成合理的借口,也容易在开发人员之间造成隔阂和误会等不合作的现象。在各个环节以“队”为单位进行开发能够针对性的克服这些弊端。
改变办公室的布置格局,使之更利于团队之间的沟通。
以沟通、简单、反馈、勇气的准则来指导团队。
使软件部的每一个人都成为轻松惬意的编写优秀软件的团队的一分子。
2、客户为中心
客户有权制定整体计划,有权知道什么时间能完成什么项目,成本是多少。
客户有权力从每个星期编程过程中获得最大收益。
客户有权在不支付过高费用的情况下改变计划、替换工程、更改优先级。
客户有权随时决定软件变动范围并得到有关反馈,也可以在任何时间取消一些项目并保留能反映投资回报状况的有用工作系统。