flyisland
  • 2005-06-12

    软件产品成功的因素

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://flyisland.blogbus.com/logs/1261427.html

    前几天出差,到一个软件公司进行技术交流。该公司的主力产品是一个行业财务软件,在国内有很高的市场占有率。技术交流完毕后我和产品经理聊开了,他很高兴地带我参观这个产品及其开发环境。
     
    该产品的一个主要特点是高度的可配置性。据介绍每个具体项目中,客户的细节需求都不一致,包括表结构、字段类型、显示/报表格式等等。原来差不多每个项目都等同于重新开发,后来他们逐渐将这些变化部分独立出来,形成自己的体系结构。目前开发人员已经很少到现场,工程实施人员通过配置文件/数据库数据就可实现产品客户化。
     
    我对他们能做到这一点还是比较吃惊的,因为我常常碰到开发商数十个开发人员到客户现场做项目的情况,往往历时有三两个月。也许财务软件有其自身的特殊性,但我想“产品+客户化”应该是每个软件公司努力的目标。
     
    成功因素一:以最小的成本满足客户需求。
     
    同时给我留下深刻印象的是他们的内部管理工具,该工具包括需求、变更、问题管理等功能。我随便看了几条记录,相关信息都非常详尽,包括涉及的主模块、子模块、相关版本,还有一个处理人列表,包含每个人的意见。有一个需求信息,估计是涉及的变动较多,经过的处理人次恐怕有近三十次,包括开发人员、测试人员、产品经理,并循环了几次,但通过这个工具我们仍能清楚地知道该需求完成情况已经相关变动。
     
    在我四处走动的时候,不时能够看到员工在使用这个工具查看、记录信息,据产品经理介绍,这个工具由一个员工开发,由一个总裁助理负责提出需求,陆续开发了两年时间才达到这个效果,目前的数据库已经有20G的数据了。由总裁助理级别的管理人员来具体负责软件质量管理工具的需求,这是我在所接触的软件开发商中不多见的。
     
    我不由想起在某个上线环境解决问题的经过。当我费尽心思找到问题所在时,项目开发人员才跟我说“原来是这个问题,我们已经解决过了,看来拿错了版本”。版本管理如此混乱,而且在我找出问题之前,居然没有人知道这个问题之前已经发生过并解决了。两个公司一比较,立见高下。
     
    我在进入外企之后,一个印象就是国外软件产品的质量没有我原来想象的高,也会不断地出问题,需要不停地打补丁。但其成功之处就在于不停地打补丁能够逐渐提高产品的质量,而不是导致产品开发失控。
     
    成功因素二:可靠、持续地质量改进机制

    历史上的今天:


    随机文章:

    Spring Web Flow 2005-06-05

    收藏到:Del.icio.us




    Tag:技术

    引用

    下面Blog引用了该文:

    评论

  • 做到这一步真不容易。(包括文中说的1和2)

    最难的是每个人都有这样的意识去这样做。



    有些人宁愿事情重复做好多次也不愿意花些精力做个灵活通用的解决方案。



    我们现在的项目在内部测试时发现的问题,我总是要求测试人员提交TR,即使不是我们开发人员的问题,我也可以写上自己的分析,再reject,这样保存一个记录。但我们的team lead就不是太乐意看到TR。