中美两国软件开发管理的比较与启示

文章作者 100test 发表时间 2007:01:15 19:46:09
来源 100Test.Com百考试题网


在美国学习和工作期间,我注意比较了中美两国软件公司在软件开发管理和技术方面的不同之处。下面以我在硅谷一家从事企业语音识别平台软件开发的公司工作的经历为例,介绍我的一些观点。

第一,软件工程师年龄和经验的反差。我工作过的是一家NASDAQ上市公司,公司只有5年时间,但是近一半的软件工程师、软件项目经理和软件设计师都不算很年轻,并有着5年以上的软件开发经验(不包括在校期间的经验)。其中部分软件设计师(softwarearchitect)更是年龄在35岁以上(有的甚至已经45岁),有着15年以上的软件开发经验。在开发过程中,这些软件设计师的经验成为公司的宝贵财富。他们在多年开发过程中积累的大量经验、教训能够让系统在设计阶段就避免许多后来让人走弯路的事情。权威的软件工程专家RogerS.Pressman在他的SoftwareEngineering:口practitionerapproach一书中指出,软件质量保证体系最重要的是软件项目刚刚开始的需求和设计阶段。反观国内的软件工程师,绝大部分是刚从学校毕业不久,而且多半的软件工程师都定位在将来做管理者,这样,经验无法积累,低水平重复的现象就在所难免了。

第二,软件开发管理职位设置的差异。在国内,软件公司通常只指派一位项目经理,由他全面负责单个项目的开发和管理工作。如果项目经理不是技术高手,手下的软件工程师们就会有牢骚,如“凭什么你没我水平高,却坐着比我高的职位,拿着比我高的薪水?”这使得许多软件公司雇佣技术高手担任项目经理。他们中许多人缺乏管理方面的能力和意识,由他们领导的软件开发难以实现规范化和工程化。实际上,项目管理更多的是需要管理技能而并非开发经验,而管理水平高的人大多数并不擅长技术,更有一些管理人员原来不是受高等计算机专业教育出身,而是半路出家。在美国,我接触过的所有软件公司(或者有软件研发部门的计算机、通信技术公司)的软件项目小组都设有两个管理者的职位:软件项目经理(proiectmanager)和软件设计师(softwarearchitect)。软件项目经理负责小组人力资源、激励、非技术方面的管理,并向上级负责。软件设计师负责项目的规划设计、技术方案选择等并为此负责。就像项目经理有一个职业发展道路,从项目经理到部门经理,再到总经理,甚至总裁一样,软件设计师也有其职业发展道路,从软件项目小组的软件设计师到软件部的软件设计师,再到公司的首席软件设计师。我想大多数人都注意到比尔·盖茨的头衔,是微软公司chairman和chiefsoftwarearchitect,也就是微软公司董事长兼首席软件设计师。可以想见,首席软件设计师的地位也是很高的。在更大规模的软件项目中,系统工程师(systemengineer)和测试部门是单独设置的。


相关文章


谈谈IT项目中的沟通管理
关于软件实施项目管理的探讨
项目管理知识:IT战略规划
网友谈如何控制项目的范围
中美两国软件开发管理的比较与启示
高效研发团队建设六步曲
项目战略计划的内容
IT业迫切需要项目管理
日本丰田生产管理的九大秘诀
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛