2016年是很多用户陪伴我们走过的不平凡一年,在这一年里,我们经了历从无到有,从弱到强,从简单到专业的过程。我们的每一次进步,都是在大量用户的鞭策下完成的。最近半年来,很多用户对我们提出了更高的要求,例如:
客服处理完反馈问题后,将状态改为“完成”时,自动填写“完成时间”
根据请假打卡记录,每月按照指定周期,自动统计出员工的考勤情况,并计算出对应工资
根据销售记录表,每月自动汇总出销售的业绩及各个步骤的转化率
当销售成单时,给老板发个通知,周知成单的客户及金额
当库存低于指定数量时,给相关人员发个通知,提醒及时补货
公司的销售和采购记录,自动汇总到现金流中
对销售电话量和成单量和成交额进行多表汇总
这些需求让我们越来越觉得,需要用某种更强化的底层架构,来满足用户日益增强的对数据流转及自动化的渴望----我们是一家专业为用户提供数据协作工具的企业。
当11月底我们团队确立了大体上的产品方向后,产品团队的Ted只用了一天就完成了产品逻辑的设计,并且在隔天就确立了产品的整体详细细节。自动化工作流如此强大和完整的逻辑处理能力,可能没有人猜到只是两天设计出来的吧!是啊,在需求面前,我们真的不能再等了。
由于产品设计使用了类似Excel的函数表达式,而
表格数据变动又牵扯大量联动及死循环的处理,在保证系统执行效率的基础上,对技术的挑战非常大!整个研发团队也是下了很大的决心去做一个类似于编程语言的表达式解析引擎和表达式编辑器。并在前期进行了技术上难点的调研和解决方案的讨论,整个团队也对将要面对的挑战有了一个心理预期,但是当真正在冲刺的时候才发现困难比想象的要大的多。
从立项到具体的研发冲刺,实际的开始时间是12.6号。但是研发团队的支柱成员Joshua同学,在一个月以前已经在这个阶段请假了五天,在后端人员本来就捉襟见肘的情况下,更显得雪上加霜。并且在12.6号以前要对上一个迭代周期中的一些工作进行收尾,Mick同学利用休息的时间,在周末两天把所有收尾工作进行了完结。
Simo同学,12.4号的夜车,从长沙赶到北京,在一刻不停的情况下了解了产品需求,并投入到了紧张的设计和开发阶段中。
最后在研发启动的时候,实际上的参与人员只有六个人,前端四个人,后端两个人,就是这么六个人撑起了整个自动化工作流的研发工作。向我们伟大的研发同学脱帽致敬,你们是最棒的。
在开始阶段已经极度不乐观的情况下,过程中更是揪心。词法分析\语法分析的编写难度、表达式死循环的判断、函数的支持、计算量中“惊群”现象高性能的解决方案、语法检查的边界和友好提示、大量前后端的约定协作、前端公式编辑器的友好编辑等等一系列的问题,在过程中暴露了出来。
Simo同学在开始的头两天时间里就完成了核心的表达式引擎部分的开发和自测,Airwin同学为了能够在12.15号上线预发布版本,连续工作48个小时,最终和Mars同学一起完成了表达式编辑器的第一个版本。所有参与其中的研发同学为了能够达到按时上线的要求,连续三周没有休息,一直在工作。
这样做的结果就是,我们在5天内完成了两万多行代码的编写(表达式引擎部分六千行,后端业务逻辑部分六千行,Gary和Brave同学在四天内完成了所有页面交互约一万行) , 这真是一次了不起的成就。
但是就算是这样的努力,离上线时间点时间还是非常紧张,整个团队对是否能够按时上线在心理上产生过动摇,但是为了用户更早的用上这个功能,为了销售团队给出用户的承诺,为了能够更快的验证这个功能点。所有人又重新收拢信心,在Joshua同学归队后,整个团队就开始大面积的单元自测,并在上线到预发布环境后,整个公司二十个人扑到上面进行全面的测试。期间找出了很多的问题,期间在解决问题上有争论、有权衡、有较真等等情绪,最后统统都得到了解决,我们达成了12.19号上线的目标。
噢,忘记说了,前端的Young同学,在这个期间独立一人完成了“高级图表”应用的开发、测试和上线工作。
写到最后:
自动化工作流的背后,有很多非常不自动化的故事。每一行代码都倾注着产品经理与工程师们精心的设计与考量,在这看似枯燥而冰冷的逻辑的背后,有着我们团队的热血与激情,有着我们一次次挑战和突破极限的决心!当然,也有着好几周以来连洗澡都来不及洗而带来的酸爽......
如果说
伙伴云表格团队有某种使命,那可能就是做出尽可能强大和易用的产品,让更多实现不了,变得可以实现!为更多传统企业,插上信息化的翅膀,以及让更多不是工程师的人可以干出比工程师们更牛逼的事吧!
以此献给我们的2016
老翟