软件工程技术反思(1)

 
从事软件开发行业6年了,从程序员做到项目经理,从一个项目到另一个项目,给我最深的体会是国内软件项目的难做,特别是我属于中国小企业典型技而优则管型模式成长起来的项目经理, 技术出身,对人的理解往往不够深刻,当发现问题后,喜欢寻找好的方法和理论来解决问题,但真正实施标准化的时候,遇到是刁难和不理解,最后成功总是少数,甚至到后来我都觉得那些条条框框来的麻烦。这种情况渐渐让我糊涂了,国外那些大型软件企业通过标准化以后,软件质量和开发效率会有很大的提高,而中国软件标准化成功的案例怎么很少呢 ,这使我想要反思到底什么是软件企业需要的软件工程技术,特别是中小企业怎样适应中国这样的国情。
为了说明问题,首先我们做个横向的比较,我把软件公司分为两大类,一类是做产品的或者说通用软件,一类是做项目的或者说专用软件。我发现前者更容易标准化,我们经常开到这类的公司比如某某等大型软件公司通过CMM几级认证之类的新闻,而后者虽然通过诸如ISO9000系列的认证,但真正实施的有几家,还不是年底评审的时候补文档。原因是什么?(外包公司比较特殊,我会专门来说明)
再次我们做个纵向的比较,看一下软件开发领域的技术发展,从软件危机到软件工程,再到注重测试的敏捷方法,再到目前的构件开发等,这又是什么在推动?
我个人认为,不管是横向的比较还是纵向的比较,变化的原因核心来自于客户,当然包括客户的需求,技术水平以及对软件的理解等。在项目管理 9 大领域知识里 , 沟通管理占了重要一环 , 在中国做项目遇到的很多是观念问题 , 这个问题是很难用沟通去解决的,因此我觉得对待中国的软件市场应该采取灵活的软件工程方法,根据客户情况采用不同的管理和开发方法。我把它叫客户能力成熟度模型。 

你可能感兴趣的:(软件工程技术反思(1))