"开发"与"研发"

     有一段时间没有做软件开发了,但一直关注这个行业和相关技术,还是不停的听到有人在抱怨这个行业,加班,压力大,枯燥,辛苦,代码泥潭等等,我也不时的回想过去不堪回首的开发时光,同时也不甘心自己热爱的一个行业就真的一无是处吗?所以还在苦苦思索,如何去改善开发过程,如何能让程序员轻松快乐的工作,而且又能应对客户多变的需求.在经过很多的思索之后,发现有两个名词"开发"和"研发",如果弄清楚了,可能对改善开发过程有很大的帮助.
     "开发",是我们利用已经有的技术和解决方案,根据客户的需求,进行需求分析,设计并编码,注意在这个过程里,我们没有创新,没有特殊的需求,只是按部就班的完成客户需求,在这个过程里,重要的不是开发人员的创造性,重要的是开发流程的标准性和规范性,对于相同的需求有固定解决方案和代码要求,这样才有可能保证项目的按期进行,而且有着稳定的产品质量.
     "研发",通常是我们针对对新的需求,研究如何解决.这个新的需求通常来自于客户的需求,这个需求不是业务的变更,而是对新的技术的需求,像特殊的页面控件,系统整合,异构通信等,对于研发,肯定有一定的不可控性,如果技术方案选择错了,有可能推倒重来,但是目前方便的网络资源和信息交互,给研发带来了不少方便的地方,真正的技术难题还是比较少的,在一定程度上讲,也是可控的.
      有人一定会说,实际的软件项目中"开发"和"研发"是混在一起,不易分辨,但对于项目负责人或技术经理,一定要把项目的开发和研发分离出来交给不同的人员去处理,即使同一个人,也要分别进行,在开发中,有时候也会遇到研发,可以把研发的内容先拿出来,对于要研发的内容一定要认真衡量解决方案,采用最合适的技术和方法,最好是把研发的问题解决好之后,再进行开发,这样可以减少返工.
      对于开发比较多的项目,像管理软件,研发也很重要,新的需求不仅来自客户,而且来源于开发过程本身,采用新的技术和新的架构可能提高整个系统的灵活性和扩充性,可以更好的适应客户需求的变化,对现有的开发过程可以不断优化,开发自编工具简化开发等等,这种研发很重要,改善产品品质的同时,提高了生产效率,降低了劳动强度.
      对于研发比较多的项目,对研发人员的基础知识和学习能力有较高的要求,这种项目应该有较长的项目周期,对程序员和设计人员不应该过紧的压力,保证在一个宽松的环境里进行开发,而且不要和常规开发混在一起,研发较多的项目一般需求比较明确,从这一点上来说,比开发要好一点.

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页