用设计推动公司转型
2016-09-19刘娉婷
刘娉婷
刘渊正面临一项新挑战:客户对交付速度的需求越来越快了。
作为飞利浦医疗业务的软件工程师,刘渊发现,医院不再像以前一样,能够为一个软件应用等上几个月或一年,它们恨不得提出需求后,医疗设备供应商能立马做出一套第二天就能使用的软件系统。一套全新的软硬件兼具的医疗设备或许可以做到这一点,那些已经交付了一段时间的旧设备就不好说了—后者在医院中并不少见。
你可以这么理解这种交付模式的变化:假如客户需要一辆车,按照传统的软件开发过程,工程师会先做轮子,再做框架,最后拼装,等到车子拼出来,一年时间也过去了。同时还存在另一种开发方式,即快速迭代,第一个月先做一个滑板车,过一个月再做一个三轮车,再过一年就交付一辆可使用的汽车。总之,“每一次迭代都尽可能给用户一个可使用的东西,足够简陋,但可以满足用户的核心需求。”刘渊说。
新模式对架构师的工作提出了更大的要求。刘渊在完整地负责完一个项目后体会到了这一点。原本,他只是一个写某个局部模块代码的程序员,几个月前,他接手了一个医院的新项目,内容是为这家医院的飞利浦设备重新嵌入软件系统,让医生可以随时通过电脑查看肝癌病人的医疗报告,同时,该系统还要能随时调看病人的历史资料,便于医生对病人随访,以及多学科医生的会诊。飞利浦之前提供给这家医院的软件系统并不支持这种直观的、互联网式的信息呈现。
这牵涉到系统的重新架构。传统的系统架构方式相对静态,只要思考清楚所设计的系统大概需要什么技术,大致可分成几个模块,每个模块之间如何结合,就能完成一个软件系统的搭建。之后,每个程序员会被分配到为其中的某个或某些模块撰写代码。刘渊之前的主要工作就是做这些。但要适用于迭代设计的话,就需要架构更具延展性。“不能走一步看一步,否则,以后出现问题的时候,改的代价非常大。”刘渊说,大概有3周时间,他都花在这个架构的设计上了。
加入飞利浦中国之前,刘渊在飞利浦美国总部有过工作经验,在那里他采用过快速迭代式的敏捷设计。回到国内,他发现,新模式的挑战不完全是技术和框架层面的,它需要公司架构和工作流程的支持。这意味着项目内的其他工程师也要能使用新的工作方式,基本每一两周,就开发出一个可交付的功能模块,交给客户后快速获取用户反馈,再在下一个迭代中对产品做进一步完善。
“飞利浦本身是非常传统的企业。”刘渊说,整个公司的数字化转型,其实是通过每个参与项目的工程师来推动的。在由他负责的肝癌项目中,他就带着三四个人在尝试使用这种新流程工作,并没有严格按照公司传统的开发流程。
目前,这种工作方式已在飞利浦的软件开发领域流行起来。刘渊说他面临的新挑战是管理代码质量。开发时间变短,如果代码质量不高,很可能交付不出下一个可使用的软件。在流程管理方面,他还需要思考新的质量管理方法。
C=CBNweekly L=Liu Yuan
C: 工作压力比较大的时候,如何自我调节?
L: 听听音乐,出去旅游,或者健身。
C: 好的软件开发工程师需要具备哪些素质或达到哪些基本要求?
L: 最重要的是要有责任心,不单纯把项目当成只是交作业。这个听上去挺简单,也可能是最难的要求,因为要真正从客户的角度出发,想到软件真正是做什么的,服务的是谁,有这个想法以后再付诸实践才能做好。
C: 工作后,你觉得自己最大的改变是什么?
L: 愈发认识到快速学习的重要性,更加关注新技术和行业发展方向,变得更希望提升自己的能力。