,什么时候需要加班,这些都在他们的心中掌握着。钱就是他们最大的风险,只要钱到位了,一切工作都好开始了。
而软件项目与之不同,在软件项目开始后,很少有缺钱的。只看到过资金没有到位的“烂尾楼”,但是从来就没有看过由于项目资金没有到位的问题而导致未完成的软件项目,就算是缺钱也是因为签合同的时候要少了。
就算是再优秀的软件项目经理,他也无法预计好自己的项目什么时候能够完成,因为在他进行估算的时候,客户的需求还没有搞清楚呢!再一个,建筑工程的可以通过预算很准确的计算整个建筑的工程造价,而软件项目却很难,因为不管是代码行估算法,还是功能点方法,都远不及“我猜,我猜,我猜猜猜”中猜得准确,这些方法很多时候甚至不如算命先生算得准。
3、 人的因素对项目影响很大
人可以说是整个软件项目的灵魂,软件项目不需要钢筋、水泥和沙石,也不需要任何的施工机械。软件项目的原材料就是人的思想和智慧,而计算机和CASE软件则是项目的施工工具。通过键盘和鼠标,无数的程序代码在程序员的手中诞生了。如果要问软件项目最大的成本在哪里,那么答案只有一个,就是人力成本。
一个优秀的程序员的工作效率要远远大于一个蹩脚的程序员,一个程序新手甚至根本就不能够产生任何生产效率。不仅如此,新手的错误行为,将让熟练员工牺牲很多时间来帮助新手纠正他们的错误,最后下来,甚至可能导致降低软件开发的效率。
虽然软件项目已经实施角色分工和管理,但是相对于其他工程的分工来说则分工比较单一。软件项目中,一般就分有,系统分析师、架构师、设计师、程序员、测试工程是及配置管理人员和项目经理等。这样的分工并不能有效的降低他们工作内容的复杂度。如果能像建筑工程中的砌墙、浇注混凝土、搭脚手架那样分工细致的话,则培训软件蓝领也不会需要费如此大的力气了。
小心驶得万年船
将意外全数来避免,能够全避免,古语话唯有小心,小心驶得万年船。经常可以见到有人不小心,踩到或者碰到什么东西而摔倒的情况。相反,盲人却很少会因为自己的疏忽而摔倒。他们总是很小心的走着每半步路,对于前面的未知世界,他们总是要探了又探,在确认能够行走的情况下,才小心的迈出半步。
由于软件项目的太多不可确定性,因此管理软件项目,犹如盲人走路一般。在未来还不确定的情况下面,可以将自己的经验列出来,如在什么时候最可能出现什么风险。盲人在听到汽车声音的时候,总是会更加小心,当软件项目中开始出现一些问题的时候,我们需要考虑这些问题背后所隐藏着的更深的威胁。发现危险总是需要凭借自己的灵敏的直觉与丰富的经验。
聪明的经营者,绝对不会是技术方面的专家,因为越是技术专家,就越不能容忍技术方面的缺陷。而经营者所需要考虑的不是技术是否无可挑剔,而是在乎项目是不是赚钱,让别人去承担风险,让自己来享受利润,是聪明的经营者的决策指南。