EGONetworks|团队重构大型内部工具的经验教训( 三 )
我们也支持在其它团队维护的工具中嵌入对Crossbow的支持 , 帮助他们维护这样的工具 , 并把功能提供给Crossbow的用户 。 提供了更好的开发环境和文档 , 我们就可以驱动产品工程团队开发功能 , 与客户支持团队开发的功能互为补充 。
我们最后接管了许多技术支持工程师们维护的工具 , 弄清楚了哪些Cloudflare配置被传递给了哪些URL , 哪些可以用于分布式性能测试 , 等等 。 然后我们将这些工具废弃掉 , 把它们的功能融合进了Crossbow 。 由另一个Cloudflare团队维护的名叫EdgeWorkerDebug的工具也被我们融入了Crossbow , 然后那个团队就把他们的工具废弃了 。
成果
在2019年12月16日到2020年1月22日我们对工具做用户分析的期间 , Crossbow的使用量增加了4.5倍 。 这么大的增幅仅仅发生在四个星期内 。 我们只是为这个工具增加了许多大家最想用的功能 , 因此就在技术支持工程师的群体中快速推广开去了 。
砍掉了需要大力维护却价值极低的功能 , 又进行了大刀阔斧的重构 , 我们最终得以极大地提升Crossbow的代码质量 , 提高交付速度 。 再引入衡量使用率的功能 , 建立有效的渠道接收用户的功能需求 , 还有测试驱动开发的模式 , 我们大大地提高了工具的使用率 。 工具整合减轻了整个公司内部开发支撑工具的工作量 , 我们得以为技术支持工程师们提供相同的开发框架 , 让大家使用相同的功能 。 在这个项目里我们有两点特别的收获 。 首先是在认真有效的沟通的前提下 , 削减功能竟然可以提高使用率 。 旧版的Crossbow也带有网页版的图形化用户界面 , 但它并没有提供什么CLI不具备的功能 , 还因此带来了许多的维护代价 。 废弃了图形化界面 , 我们的技术债务就大大减少了 , 因此可以把精力投入更加重要的功能 , 提高交付速度 。 这么做需要极高的沟通技巧 , 要与受此决定影响的人做好有效的沟通 。
其次 , 工具开发的效果主要是看用户口碑 , 缺乏客观的评估手段 。 增加日志主要是为了安全审计的需要 。 建立用户反馈渠道是至关重要的 , 必须有客观的方式来衡量新功能有多成功 , 以及它是怎样为用户所用的 。 有效的评估可以影响将来对工具的决策 , 而且从长远的角度来说 , 关于工具使用情况的数据会比功能自身更重要 。
作为一个CTO , 我为什么反对“平台团队”
推荐阅读
- 小米授予技术团队百万美元大奖 雷军:将继续加大技术投入
- 团队奖就奖华为办公宝,跟着李成儒选择准没错
- 华中科大教授团队攻克5G世界性难题 让5G手机坐汽车都不掉速
- 全球首创!45秒速览“连钢创新团队”十大科技创新成果
- Google Chrome开发团队正探索通过扩大浏览器缓存解决性能问题
- 申请|孟晚舟律师团队新动作
- Project Zero团队披露微软尚未完全修复的Windows 10提权漏洞
- 重构交互逻辑 OriginOS如何让操作更便捷?
- 从5人团队到港股之王,腾讯长大的三次关键战役
- 电商购物变局将至!鸿蒙操作系统重构购物新模式
