硬件开发外包与软件(CS/BS)开发外包的差异本文旨在让读者了解到产品创新过程中、开发流程上不同的环节的之间的差异,对产品的开发流程有初步的了解,避免相关误区;从总体流程上来看,软硬件开发大致相同,主体流程都涉及:项目需求确认、开发阶段、测试、原型确认(软:DEMO)、小批量试产(软:内测),大规模量产(软:正式上线)但基于硬件领域的的特殊性本质上有以下差异:一、协作差异通常,中小规模的软件产品,软件开发团队通常是基于企业内部在同一物理区域内部团队进行相互协作;而硬件产品的开发基本都会同时涉及到开发团队内、企业部门间和不同类型企业间(数家乃至于数千家)在不同的物理空间(基于各种原因)协作开发,相互配合,并需要保证内部部门或其它企业在约定的某个时间节点完成相应的环节;区别点:软件协作:企业开发团队内部硬件协作:企业开发团队内部+企业部门间+企业间小结:硬件开发涉及到的人员更广,参与部门更多,特别是企业间的协作,需要企业具备更有力的管控手段;同时也亟需更有效的协作开发及项目管控系统来支撑,据笔者了解,【科眸网】正在部署相应的协作研发系统,笔者也进行过试用,总体感觉不错,相信届时硬件开发也会同软件开发一样能多用户在线协作开发,提升协作研发效率,硬件协作开发会变得更为轻松。二、跨领域差异软件的开发通常情况下都会在有限的领域即可完成开发活动,硬件开发往往涉及到多个毫不相关的领域的企业共同配合协调,常见的领域:电子物理、机械、化工、材料科学、能源、生命科学、光学等,根据产品面向领域的不同,通常还会涉及到专业领域的学科;三、容错及试错在软硬件开发过程中,出错在所难免,在整体需求及架构固定的情况下,软件开发容错能力更强,修改代码相对容易,硬件开发试错成本高,一个小小的失误都将导致整批产品报废,如果需要修改,则需要对整批产品全部返厂,将涉及大量人力物力,牵一发动全身;四、其它采购、生产环节。软件开发部门涉及到的相应版权、授权资料往往在开发初期均已经准备完毕,硬件开发过程中的采购往往伴随着整个开发流程,硬件开发过程中涉及到的物品品类繁杂,更新速度快,需要开发人员对市场的新材料、新技术保持一直的关注,以求降低开发、生产、维修难度,压缩产品成本;综述,软硬件开发往往是密不可分,缺一不可,笔者只是客观评估二者差异,从产品的角度来看,硬件是躯干、骨骼及器官,软件是神经;在产品创新过程中,软硬件开发也往往需要协调与配合;