万圣节,我们不讲鬼故事,只讲敏捷。技术债务共有上下两篇,本文是上篇,下篇小主正在努力更新中,大家敬请期待。
技术债务 上篇(鬼节版)——故事篇
如期完工
几年前,S公司总有一些项目不能如期完工,David的项目也是其一。那年,新总经理上任,在公司级别的项目管理会议上,David向总经理解释了不能如期完工的原因。当着项目经理的面,总经理明确提出:“项目不能如期完工,任何解释都不接受。”散会了,David翻了个白眼,边走边嘟囔:“连解释都不让解释了,UX不断变更的问题,依赖的组件不稳定的问题,这些又不是我能控制的……”
几天后的一个早上,David的部门经理笑呵呵地走到David身旁,指着David电脑屏幕上刚打开的电子邮件箱说:“公司颁布了项目奖金评比制度,规定不能如期完工,奖金全部扣光。怎么样?加油啊!”David吃了一惊,仔细看看奖金数额,想起了新婚的妻子,要还的房贷……
固定的时间和范围、对不齐进度的组件团队、没有自动化的测试
S公司是典型的由组件团队组成的组织,UX团队、负责不同组件的若干开发团队、测试团队,在产品经理的协调下协作完成项目。David与产品经理保持着密切的联系,月月有计划,周周有报告。眼看进入量产季,David月初就给项目经理发邮件询问若干事项。产品经理很快回信了。
David,你好!
来信问到的问题答复如下:
1.软件版本发布截止日期:2016-10-30。请严格遵守,不能延迟
2.本次版本需要的8个UX文档,UX团队说月初提供其中的6个,其余2个月中才有。
3.你项目应用程序所依赖的中间件,其负责团队月中能够提供更新好的版本。
4.我们要在2016-10-30前完成代码集成,准时启动系统测试。
2016-10-02
David看后,找来各个模块的开发者进行商讨,然后给产品经理又写一封邮件:
Allen,你好!
感想分享信息,我们会尽力如期发布。但对在月中才发布的UX文档,我们担心时间太紧,来不及用代码实现。这两个应用都需要2周才能写好代码,还需要1周开发者自己测试以确保发布质量。能否请您帮助说明,请UX部门早一点提供UX文档呢?
2016-10-02
第二天,产品经理回信:
David,你好!
发布范围不可缩小。
UX团队我已经催过,但他们说他们正忙于一个优先级更高的项目。
中间件团队查看了你提出的变更邀请,他们说这样变更会导致大量代码修改,影响平台稳定,建议你们在应用层克服困难,实现这个特性。
2016-10-16
2016-10-23日,David收到了第7个模块的UX文档,
2016-10-29日,David终于收到了第8个模块的UX文档。
David和第8个模块的开发者奋战了一个通宵,终于在2016-10-30早上提交了代码。
David轻声问开发者小M:“自己测了吗?感觉质量怎么样?”
小M揉着布满血丝的眼睛,哑着嗓子说:“测试?我从昨天下午忙到现在,连口水都没喝。”
还债的日子
每个版本测试团队都测出大量bug。David的团队除了要按期完成新特性的开发,还要修改上次发布中存在的bug。除了加班,David实在没有其他的法子。于是他们晚上加班,周末加班,每月团队人均加班100小时。十一月、十二月很快过去,到元旦放假,David想:“不管怎样,先喘一口气儿吧。”2017年的第一天,David早上睡了个懒觉,正准备吃中饭,突然手机响了起来。
“David,测试团队报了400个bug,要求今天解完。”电话那头是部门经理的声音,“CH总也在,对这个项目非常关注。”
David心里一抖:“好,我马上来。”
部门经理说:“量产很关键,大家辛苦,但工作要做完,不要急着回家。”于是David大年三十晚上加班,干到9点,春节从初一到初七天天加班。春节期间没有外卖,David就在自己的座位后面堆满饼干和泡面充饥。
一边开发新特性,一边修bug,夜以继日,加班加点的日子一旦开始就好像掉进一个坑,越挣扎陷得越深,怎么也看不到希望。
客户投诉
该来的躲也躲不开,客户投诉了,说David团队负责的产品响应客户变更需求的速度慢,质量问题多,表示很失望,不再愿意继续业务合作关系。
领导批评
David满腹委屈,写了项目的回顾报告,分析bug产生的原因,加班的工作量,列举大量的数据,如实反映困难所在,却不敢有一句抱怨。部门经理、产品经理应邀参加项目回顾会议。
产品经理听完David的报告,严肃地说:“你这个报告是什么态度?!你的意思是说,从头到尾,你只是个受害者,对不对?UX文档的问题,依赖组件的问题,都是别人的问题,对不对?你没有问题吗?你应该深刻反省你自己的问题!”
David惊讶到目瞪口呆,而后低头不语。
部门经理接着说:“每个部门都要讲业绩,每个团队都要为提升业绩做出自己的贡献。你说说,你们团队这一年来有什么贡献?”
“我们能活到现在就是贡献!”David怒吼出来,脸色发白,嘴唇颤抖。
员工辞职
David团队成员陆续辞职了,在项目管理系统中,这个项目的成员名单80%被标记为红色(已离职)。David的妻子两次流产,人们说,说因为David太辛苦了。David请了6个月病假,在家休养,期间妻子第三次怀孕。后来,David也辞职了,同事们看到他晒在朋友圈里的幸福照片:抱着新生儿和妻子在一起。
{原创敏捷故事; 如有巧合; 谨勿对号}
下期预告:技术债务下篇(光棍版)——感悟篇
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/295315.html