当初和外包团队碰面,坐下来第一个想问清楚的就是开发一个app需要多长时间,对方翻了翻简单的需求清单,口头拍板两个月就能交付可用版本,当时心里还松了口气,想着时间还算宽裕,不用赶得太急。手里只整理了零散的想法,功能清单写的很粗糙,很多页面跳转逻辑都只是脑子里的设想,没有落到文档上,总觉得边做边调整就行,改点东西花不了多久。
合同签完的头三周,进度看着还算平稳,UI稿一张张发过来,偶尔微调下配色和按钮位置,沟通还算顺畅。直到开始写后端接口,问题才一点点冒出来,原先口头说好的几个小模块,开发那边说要额外加工作量,不是简单搭页面就能实现。我也拿不准轻重,想着既然做了,干脆把这个功能一并加上,就同意了增补需求,当时完全没意识到,每新增一点内容,工期都会跟着往后挪。
开发进度一下子慢了下来。
每周开线上例会,对方都会说这周在处理新增的逻辑,原先预估的节点只能顺延。一开始延后几天,后来变成半个月,再往后,两个月的交付时间早就作废,重新约定的时间又一次次往后推。有一回测试包发过来,点开发现很多基础操作都不顺畅,跳转卡顿,部分提交表单的数据存不住,要反复反馈bug,等他们修复,修复完再测试,来回循环,耗掉不少日子。有时候提一个修改意见,要等两三天才收到新版本,沟通的时差一点点堆起来。
中间有段时间,开发人员的重心分到别的项目上,回复消息的速度变得很慢,很多问题要等很久才会得到答复。想换人重做,但前期已经投入不少费用,重新找人等于从头再来,沉没成本摆在那里,只能硬着头皮继续等。那段时间,经常对着手机里还没完善的测试包发呆,一会想着是不是自己提的需求太多,一会又怀疑一开始选的合作方不合适,来回纠结,没有一个确定的方向。
等到基础版本终于完整跑通,算下来从项目启动到拿到可内测的安装包,一共耗了五个多月。这还不算后续持续的小修小补,之后的一段时间里,还在断断续续调整交互细节,修复一些隐藏比较深的bug。只是代表我个人的情况,不同人的项目复杂度、需求变更频率,合作团队状态不一样,耗时肯定会差别很大。
项目收尾那天,关掉和开发的聊天窗口,没有想象里那种大功告成的轻松感。脑子里反复回想,当初不该轻易在项目中途追加功能,那个随口加上的模块,其实并不是上线必须要有的内容,就是一时觉得加上更好。要是坚持只做最核心的功能,工期不会拉扯成这样。
电脑屏幕还停留在app后台的测试页面,鼠标悬停在版本记录上,能看见一条又一条更新日志。