软件工程技术反思(2)

来源:互联网 发布:国外建模软件排行 编辑:程序博客网 时间:2024/05/22 15:38

 软件工程技术反思(2)

为什么说是因为客户呢,下面我来解释一下:
产品和项目类型的公司
        在中国,做产品的公司,往往可以发展的很大并且很容易标准化,这是因为它们是需求主导型的,也就是说做软件产品需求是自己想的或者说根据公司内部对业务的理解从而产生的需求而开发出软件,这样在公司内部流程很容易标准化,自己说了算吗。
               做项目就不同了,往往要前期调研,需求分析,要和客户打交道,如果客户本身的业务流程很混乱和对于管理观念理解的差异(中国通常是人治),这样的客户,
          你让他写需求,提要求并在需求上签字认可几乎是不可能的,而且这样的客户往往想让你帮他整改,这样及时软件开发完成后,又增加了项目实施和验收的难度,这样的情况下,软件工程要求的那些质量保证点很难落到实处,因此标准化的步骤在实施过程中大家就会感觉到比较麻烦,不愿意执行。
               还有大企业毕竟是少数,在中国大部分还是100人一下的中小软件企业,这些企业通常在创业初期,资金压力很大,不可能专门安排测试人员和QC小组,通常让客户自己测试(主要这还是客户),这样公司才可能正常运行下去.在这样环境下成长起来的技术人员,有成为中国软件就业大军中的一员,通过人员流动,从而有形成了中国软件开发队伍普遍水平较低的重要原因之一。
              这说明我们需要根据不同的情况定义软件工程中不同的环节和质量保证点的实施方法和检查,只有这样才能整体提高和推广软件质量保证体系。

客户能力成熟度模型
               这个模型是在结合了软件工程,项目管理和目前各种软件开发方法后总结出来的,及根据软件公司自身的特点和客户素质,提供软件开发和项目实施的参考意见。
    我把它从低到高分为三级:整改级,初级和高级
整改级
       这样的客户上信息系统的理由往往是公司老总的意思,从上到下以行政命令的形式传达的,这样的情况需要注意由于工作人员往往没有积极性,因此在项目的初期要形成通报制度,定期会议,由老总出面,主要是表态,
    这样工作会进展很顺利。
       这个级别的企业,没有信息化基础和电脑使用经验,因此从软件需求上
    往往是在使用后才会提出想法,因此最好采用原型法开发。先开到结果,再提出需求。
       在实施过程中,注意发现和培养客户中技术好的人员,让他日后主持具体软件操作和维护,这样可以打消客户对项目验收后人员撤走的顾虑。

初级
         这样的客户,往往是使用过一些信息系统,因为业务的需要或者性能
的考虑要更换系统,因此这样的客户对软件有一定的理解,可以独立提出
需求,实施起来相对简单。
u 高级
这样的客户很难得,但也很难对付,因为它们经常和软件公司打交道,已经形成了一整套的过程,初次打交道不要奢望能赚多少,关键是要建立
                  其良好的合作关系。因此在软件开发和实施过程中,由于资金问题可以保证,关键是要开发出好用系统,并快速的实施。
                          
                ----------------------------------------------------end------------------------------------------