可视化组件复盘-海外版

这篇记录的是海外版可视化组件从 10 月 18 日开始开发,到 11 月 1 日交付过程中的一次复盘。中间经历了排期压缩、需求和设计反复、技术方案调整,以及最后的联调和交付问题。
现在回头看,问题不只是“开发有没有按时完成”。进度、需求边界、设计交付、技术风险和联调责任没有被持续暴露出来,最后就会集中变成开发的交付压力。下面按当时遇到的问题记下来。
进度管理方面
关于背黑锅
我们18号就开始提供组件,催促对方联调,但是对方一直没啥反馈,结果到了26号过进度,说我们可视化一堆问题,这TM。。。。
后面一定得及时主动在群里反馈我们的进展,让可视化的开发进度对所有人透明化,不然就要背黑锅。
时间点:
2021.10.18号,提供饼状图
2021.10.19号,暂时搁置,直到22号重新启动
24、25号提供全部图表
26日正式进入联调正轨
10.28产品反馈UI还原度太低
2021.11.01:WDL反馈我们的组件有legend的问题?
2021.11.01:
WDL给我打电话了,说是我们的组件又有啥功能不支持,开发说没时间修改,这TM明明是对方不及时联调测试好么。
另外我们自己也有问题,初期没有将需求交互细节确认下来,没有和对方开发明确各自的工作边界,都以为有些东西是对方可以做的。
尽早让UI&产品验收
10.28产品突然反馈,UI还原度太低。。。。。
明天让UI设计师先验收我们的可视化组件,有问题都尽早暴露出来。
交付标准模糊
直到10.26,我们还没有比较好的文档和Demo。
这样交付标准太模糊了。
样式问题
尺寸还原错了,按照750px还原了
应该减半才对。
这导致我们给业务方开发的配置,对方没法直接用。
配置项的设计缺乏原则
比如命名随便命名:label命名为font
比如大小写问题:fontsize
三角形对齐问题:关联对齐问题
开发环境问题
(致命)没有提前给开发核对好数据结构、API、配置项
Demo、文档缺乏模板
没有提供sourcemap,导致应用方不好调试
编码问题
调用对象不存在的属性
给海外F10提供的组件,我记得好像中间出现过几次报错:调用了对象不存在的属性。
我们是用TS编写的,按理说应该在编写阶段就能避免这类问题,为啥还是在发出去他们应用的时候才暴露出来呢?
防御式编程
我们做的组件是被别人所应用的,别人传入的数据各式各样,如果我们没有做好数据校验,就很容易出现各种问题。
《Code Complete》第八章讲解了防御式编程。
这次复盘的教训可以固化成几条交付规约,下次给业务方出组件前必须过一遍: 1.交付前先和对方开发书面确认数据结构、API、配置项的工作边界(这次最贵的坑就是边界没定清,各自以为对方会做)。 2.尺寸还原、命名(label 不要写成 font)、大小写这些,写进组件脚手架的 lint/模板里,从源头挡住。 3.对外组件默认带 sourcemap,配一份最小 Demo 和文档模板。 4.TS 组件对外暴露的入口加防御式校验,别指望调用方传干净数据。 5.进度每天在群里同步,主动透明,避免最后背锅。