千日拱卒(14):远离巴别塔,以客户需求和实际场景为导向设计和开发产品
由于返岗复工的原因,得以和各个岗位的同事有充分的接触。其中一个收获,是和一个之前和客户对接、在客户现场做实施的同事沟通了目前我们公司的硬件产品(下文简称Human Machine Interface, HMI)。他对于我们当前一代的产品整体的评价是——一味信奉教科书和手册的直到设计产品和界面,完全没有真实的产品使用经验,设计出来的产品无法满足一线同事以及客户的使用场景以及需求。
他举了很多例子,提炼出来比较深刻、有代表性的例子有两类:
- 设计和开发团队追求UI设计指导、没有考虑一线使用场景。当前HMI整体的UI风格就是简洁、统一收纳管理:简化了入口、增加了深度。结果导致为了操作某个功能模块、不得不执行过长的操作链(好像套娃一般,打开一层又一层的页面)。后期,实际使用产品的同事不断爆出针对一些高频使用的功能模块操作过于繁琐的声音,开发团队不得不在UI的根目录上添加收纳高频功能模块的快捷入口。除了软件UI外,还有硬件设计——新一代的HMI强调轻薄,因此原本放在侧面、和操作面板按键聚合在一起的重要主控功能键,不得不也放在面板上、和操作面板按键分布在屏幕两侧(想象一下Switch)。可事实上,我们现场的工程师都是单手持握的,因此两侧分布的按键并不便于工程师操作。
- 突出了没有实际价值的功能点、却阻碍了其它功能的使用。当前HMI引入了三维渲染,可以在我们的HMI看到设备的三维模型。可是或由于开发优化的缺乏、或由于硬件性能的不足,导致三维模型的渲染很慢。对于现场工程师而言(也是HMI的主要受众),他们完全不关心、也不需要三维模型;但是程序流程的设计是,每次打开、想要查看或者操作设备,都必须等待三维模型渲染完成,且渲染没有缓存——导致每次打开都会重新渲染。这让现场的同事非常暴躁——根据我的这位同事说,他们每天几乎都是以盲操作来控制HMI,每天的工作压力极大;这种无意义的等待对他们来说不仅是时间上的消耗、更是频繁破坏他们工作节奏。
作为开发人员,这次谈话对我的影响是深远的,是有警戒的。这次复工让我深切体会到,作为软件开发人员,我们只是成本的增量,我们工作的价值完全依附于使用者的生产效率上、继而体现在产品的使用体验上,如果使用者想要的功能不具备、或者他们使用功能不顺畅,我们的工作是没有现实意义的。基于这样的认识,我们应该深入客户,以客户的视角和行为去考量自己的设计以及开发工作,我们在产品中注入的技术、应该围绕提高产品本身给人的体验、操作效率展开。比较好的落脚点是,穷尽客户使用产品的场景。
之前我看到这样一种观点:一定要搞明白自己是为了什么奋斗和改变自己。这样当挫折来临时,你才知道自己应该为了什么而坚持、是否要再坚持。在这里的意思是,如果你坚持是为了自己对于技术的追求、享受不同技术的酷炫,那么若是当前客户的需求无法容纳你想推出的技术、你可以考虑换个环境让你的技术追求落地;如果你坚持就是为了让用你成果的人满意,那么你还是应该现实点,考虑如果融入当前的环境、配合客户的需求。当然,我天真地相信,任何技术人员都有对于技术的追求,因此前两种坚持的理由总是需要糅合的:你可能追求到一定程度的技术(然后力不从心放弃继续探索了),开始去适应环境对你的要求,当然你所做的工作也因为你一直的技术积累有一定的门槛(有那种酷炫的技术感了)。当然,如果你不愁生计或者独立自由工作就业(其实只要工作就有目标群体,无非是谁强势而已),不需要被别人的观点和意见束缚,你大可想自己所想、做自己想做。
以上。

浙公网安备 33010602011771号