为什么不同公司的软件过程差异这么大?
最常见的回答:不同软件公司有不同的实际情况,问题领域和人员的水平差异很大。要根据实际情况使用不同的软件过程。这是个看似合理的原因,但这个答案掩盖了一个事实:管理者在项目管理上没有足够的作为,或者错误地运用软件工程方法,导致软件过程的随意性。不能认为软件过程是"存在即合理"的.更何况:无论多么合理的开发流程都有值得改进的地方.
软件工程领域的牛人Stephen R. Schach在<Object-Oriented & Classical Software Engineering>一书中,对这个问题进行了解答,他认为导致软件过程差异大的原因有三个:
(1)软件工程知识的缺乏.软件工程是高速发展的学科,软件工程师跟不上最新的技术,只好在项目中坚持使用老的软件过程进行开发.
(2)公司管理者虽在管理方面很优秀,对软件开发和维护使用到的各种技术却了解的不多.这种情况下往往导致进度延期.据Stephen R. Schach说:管理者缺乏对技术的了解,这是导致项目不能按计划实施的最常见的原因.
(3)不同公司文化在管理的权重上有不同的权衡.比如:有的公司认为按时发布是最重要的,会发布没有经过足够测试的软件产品;有的公司认为,即便延迟发布,也要尽量保证软件产品的质量.
Stephen R. Schach的答案,特别是前两个原因,是老实不客气提出了问题的症结所在.有时候,我们不是想不到问题的原因,而是没有勇气面对这些原因.
阅读(2288) | 评论(0) | 转发(0) |