再一次牺牲了午休的时间,在下午三点多的时候,刘祎峰总算是完成了一个需求,提交给了黎笑笑开始测试。
虽然午饭前黎笑笑和他提到开发进度滞后的时候,他插科打诨地地蒙了过去,黎笑笑也没有再深说,但是他自己知道这并不是什么开玩笑的事。这个需求是组内三个人合作完成的,界面和缓存部分都已经完成了,最后卡在由他负责的后台服务上。滞后的原因倒不是因为他能力不够或者效率太低,只是单纯地因为他在年前请了两天假。出来混,总是要还的,这样想着,他不得不尽快把失去的进度追回来,好像又回到了支援测试那个时候。
他长长地伸了个懒腰,然后站起身,在椅子周围踱了几步。估计了一下,还有一个需求今天晚上下班前应该能完成,实在不行晚上加班也搞得定。今天原计划的任务是没时间做了,明天再加班还债吧。
任务完成的成就感,和工作效率比较高的满足感,让他心情舒畅。不过身体上的疲劳是无法回避的,他只想了一下,就决定去便利店买点饮料。原本打算买咖啡,不过到了店里他还是习惯性地买了可乐。
回到座位上,看到有聊天信息。点开一看,是黎笑笑发来的,前后两条。
第一条是在他刚离开座位不久发过来的:“看到你提测的需求了,有点问题。”
第二条是在那之后两分钟:“没在?那我先提bug了。”
他一愣神,赶紧坐在电脑前,点开任务列表,果然有一条新提出来的bug,注释上写着:“实现与需求不符。”
明明我自己验证过,怎么会不符呢?他疑惑地打开了需求文档,对照着这条需求,一句一句地看,又打开测试用的手机,把这个功能一步一步地验证,试了两次,都没发觉有什么问题。
他有些生气。明明一切正常,为什么黎笑笑验证不通过?他在开发时使用的是开发环境,黎笑笑测试用的是测试环境,难道是环境或者数据的问题?可是也没什么大的差别啊……
他一边想着,一边给黎笑笑发了条消息:“我看到那个bug了。怎么会出错?我是对着需求文档一步一步验的,没问题啊?”
过了一会儿,黎笑笑回复了消息:“你在座位上吗?”
“在。”刘祎峰立刻回复道。
过了一会儿,他想了想,又发了一条消息:“我来找你?”
他盯着聊天界面,等着黎笑笑回答,可是一直没有反应。又等了一会儿,他听到高跟鞋咯嗒咯嗒的声音由远而近。除了刘祎峰,还有几个人听到声音,都停下了手里的工作往门口看过去。
很快,黎笑笑就抱着笔记本电脑出现在门口,稍微张望了一下,径直往刘祎峰这边走过来。
刘祎峰仰头看着她,随意地打了个招呼:“HI~”
“Hi。”黎笑笑简短地回应了一句,把电脑放在刘祎峰旁边。
看到黎笑笑低头弯腰操作电脑的样子,刘祎峰站起身,把椅子推给黎笑笑,说:“坐。”
“不用了。你看这个……”黎笑笑径直说了下去。
刘祎峰又低头看看黎笑笑的高跟鞋。在印象中,除了排练节目那几次她穿了平底鞋,其它时候她总是穿着鞋跟又细又高的鞋子,看起来就很容易摔跤的那种,她倒是一直走得稳稳当当。刘祎峰也不听她说话,径自把椅子推到她身后,一直到碰到她的腿。
“……谢谢。”黎笑笑也没再推辞,回头看了看就坐下了。
这一次不等她再说话,刘祎峰拿起测试手机就开始操作。
“你看啊,这里这样……然后点这里……这样……你再看,这是需求文档,这里是这么写的……”刘祎峰一边演示,一边指着需求文档,对照着给黎笑笑看。“这个再这么操作……出来了吧……然后再……”
全部结束之后,他向黎笑笑问道:“这不是和需求文档一模一样吗?你看哪里有问题,这么快就给我打回来了?”
黎笑笑抬头看了看他,心平气和地说:“你先别着急。”
刘祎峰这时才察觉到自己有些激动,刚才的语气很冲,而且自己无意间已经贴黎笑笑太近了——当然只是相对正常情况来说,实际上还隔着挺远呢。他赶紧往旁边挪动了一小步,觉得脸有些发烧,才想起还穿着大衣,就把大衣脱掉搭在黎笑笑正坐着的椅子靠背上。
“不,倒不是着急,我是不太明白。”刘祎峰努力让自己的语气轻松一点。
黎笑笑微微一笑,没急着说话,明亮的眼睛四下看了看。
刘祎峰知道她是在给自己另找一把椅子,就说道:“没事儿,我站一会儿活动活动。你说吧。”
黎笑笑也不再客气,说道:“这里你是把原本设计者的目的搞错了。”
“目的?”刘祎峰有些不明白,皱起了眉毛。
他在毕业之后的几年里,一直做的是后台开发,从没直接接触过面向客户的需求。一般来说,需求都是针对游戏界面、操作或者其它直接能看到的内容的;以在游戏里开宝箱这个简单的需求为例,会先经过架构师进行分析,有设计师负责两面和动画效果,有前端的开发人员做功能,需要向服务器拿哪些数据、触发哪些变化由后台的开发人员完成。所以他一直以来看到的需求,都是非常明确和量化的:提供什么样的数据,什么样的接口,等等。他的工作内容,就是根据同事们提过来的要求,设计相应的结构,开发出他们所需要的服务。这是他第一次直接和需求打交道,没想到却碰了个钉子。黎笑笑的话让他不由得想起高中时老师常常挂在嘴边的话:你们要理解出题人的目的。
黎笑笑开始娓娓道来:“这里是这样的,你看需求里面是这样写的……实际上,这里需要……再和这个结合起来……这里要显示的数值是……”
讲到一半,她稍微停顿了一下,坐在左边位置上的开发却插嘴道:“原来是这个意思。我自己做的,都没看出来。”
这个人是参与这个需求的三个开发之一,负责前端界面。刘祎峰本来听得很专注,他突然一说话,把他吓了一跳。他两边看看,发现有五六个开发都挤过来听黎笑笑的讲解。他心想,这帮宅男,真给美女捧场;刚想打趣嘲讽一下他们,一回头,却发现查理也站在他身后,伸长了脖子在仔细听着,只好把到嘴边的话再吞回去。
黎笑笑也才发觉围了这么多人,抱歉地说:“哎呀,不好意思没注意,打扰到大家了……”
“没事儿,你继续吧,我们听听。”查理说。
这时又有两个人凑了过来。
黎笑笑向着查理点点头,就继续讲了下去,只是多少有些不自在的样子。最后,她向刘祎峰说道:“你觉得我说得对吗?”
刘祎峰没有说话。黎笑笑刚开始讲不久,他就已经知道自己对需求的理解从一开始就出现了偏差。这时,他已经在思考如何调整,之前写的代码有多少可用,几个服务间是不是需要配合……
一直到黎笑笑轻轻在他手臂上推了一下,他才反应过来,赶紧回答道:“明白了,明白了。之前是想错了。不过……你说原本的目的,这个的产品经理应该是郑总吧?”
“对的。”黎笑笑说。“这个地方我是和她确认过的。不过有一段时间了,要找当时的聊天记录得花点时间。”
“不用不用。”刘祎峰说。“我就是出于保险起见多问一句。”
黎笑笑一笑,说道:“那你这个什么时候能提测?”
“嗯……下班之前吧。”
“那你加油吧。”黎笑笑说着站起身,抱起电脑离开了。
“谢谢了啊。”刘祎峰向着黎笑笑的背影说了一句,黎笑笑略微回了下头,摆了摆手。
聚集过来的人们也各自回到座位上,只有查理没走。等到黎笑笑的脚步声已经快要听不到了,查理才小声对刘祎峰赞叹道:“这小姑娘挺厉害啊。”
“怎么?”刘祎峰一边把椅子背上的大衣重新搭得平整一些,一边问道。
“像她刚才讲的那些东西,一般的测试根本就不知道,更不要说讲得这么明白了。”查理说。“之前有过类似的需求,我们也是完全按着需求做的,测试也通过了,到产品确认的时候才给打回来。”
“确实,她想得挺深的。”刘祎峰点点头说道,却觉得查理好像有话想说,就反问道:“怎么了?”
“没事儿。”查理摇摇头回去了。
“哎我说,她是不是就是年会那时候把人骂哭了的那个?”左边那个开发探过头来,压低了声音问道。
刘祎峰本不想谈论这件事,不过已经问到头上,只好默默地点点头。
从年会之后,刘祎峰已经听到了好几个版本的传言。有的说黎笑笑因为嫉妒李恬跳舞比她好,所以才骂了她;有的说李恬的鞋子坏了,只好换了双鞋,黎笑笑却不依不饶;最夸张的一个版本,是说黎笑笑打了李恬两个耳光,就是想让李恬没办法上台表演,不过李恬还是坚持演完了。无论哪个版本,都把李恬描述成了一个受害者。
刚开始,他对这些流言都付之一笑,谁知道越传越离谱。关系比较亲密的人来问他时,他会把起因和经过都大致讲一遍;可是其它人就只能随便他们说去,他也没什么立场到处去帮黎笑笑说好话,只好暗自生一些闷气。
“看不出来呀。”那个开发又说了一句,见刘祎峰不搭茬,自觉没趣,也就不再说了。
刘祎峰努力不再想乱七八糟的事,把思路转回到工作上来。他回想了一下刚才黎笑笑讲的东西,又仔细看了一遍需求文档,才开始修改代码。
他正在专心工作,却有人从后面拍了拍他的肩膀,回头一看,原来是陈翰。他站起身,觉得肩膀有些累,看了下时间,才知道自己已经连续写了两个小时的代码了。
“什么事?”他问道。
陈翰只是冲着他招招手,示意他到外面去。刘祎峰保存了一下代码,两人一前一后出了门。
“之前年会上你们不是表演节目了嘛。”陈翰说。
“啊,对呀。”
“没得什么大奖,不过有鼓励奖三百块。所以我想大家一起吃个饭吧。今天晚上你有空吗?”
刘祎峰一下笑了出来:“吃饭?那个样子,还要一起吃饭?”
“不是。”陈翰也笑了,摆摆手,说:“分两拨。今天晚上是你和小黎。大叔和……和其它人我再另找时间。”
“哦,那还可以。”刘祎峰一边在心里估计着工作的进度,一边顺口问道:“那小黎呢?”
“她能去。”
“那好,我也去。”脑子里还没估计出个结果,他已经自动回答了。
“好。回头我把地址发给你。我开车还你和小黎一起过去,下班时再联系,看是你们跟我一起下去停车场还是在门口等我。”陈翰说。
“好。”
“行,那就这样吧……哦对了,郑总今天晚上也会来。她说正好没饭辙,就过来凑个热闹。”
刘祎峰顿时有些不想去了。吃饭时有个大领导在场,实在很受约束;但是这时又不能再推辞,只好简单地答应了一下。
陈翰走之后,刘祎峰回到座位上回想了一下,在新员工培训时,郑总讲了一节课,然后好像就再也没见过她了。说起来她还是SK的产品经理来着。她的长相……记忆有点模糊,可别到时候认不出来。好像她的名字还挺好玩的来着?
他摇摇头,又加紧开始工作。晚上不能加班,后面几天的压力更大了。
到了下班时间,刘祎峰和陈翰、黎笑笑打了招呼,约好去地下停车场见面。电梯前有很多人在等,刘祎峰左右看看,只看到了黎笑笑,没看到陈翰。两人互相点点头打了招呼。
下班时的电梯,只比高峰时的地铁好一点,没到人贴着人的程度而已。虽然已经满员,但是仍然每层都停,这让刘祎峰又一次在心里吐槽这算法太不智能了。
到了停车场这一层,大家都走出电梯,四面八方地散开了,只剩下刘祎峰和黎笑笑。
“他的车停在哪儿,你知道吗?”刘祎峰问道。
黎笑笑摇摇头:“我也没问。”
“那我打个电话问问。”刘祎峰说着拿出手机。
“再等一会儿吧。”黎笑笑说着看了一眼手表。“他应该还没下来。”
“好吧。”刘祎峰又把手机塞进口袋,想了想,说:“对了,临下班之前我提测了。”
“我看到了。本来我想今天晚上测的,只能明天再看了。你那还有一个需求压着呢吧。”
“哎呀,你是周扒皮吗?”刘祎峰笑着说。
“那你就是小长工喽?”黎笑笑转过脸来看着他,笑着回答。
没想到黎笑笑接得这么快,刘祎峰哈哈大笑起来,过了一会儿,才说道:“明天应该能完成。不过可能还得先请教你一下,免得又像今天一样做偏了。”
“请教可不敢当……不过说起来,你脾气还真好。”
“嗯?什么意思?”刘祎峰仔细回想了一下,怎么也想不出“脾气好”这个结论是从哪得出来的。
“没什么。”黎笑笑摇摇头一笑。
刘祎峰还想再问下去,正好看到陈翰从楼梯口走出来。
“不好意思,来晚了点儿。”陈翰远远地就和两人打招呼。
“你这是走楼梯下来的?”刘祎峰问道。
“是呀。锻炼一下,一直在办公室里坐着。”陈翰回答道。
三个人一边闲聊,一边由陈翰带路走着,很快就到了他的车旁。
“随便坐。”陈翰说着,自己拉开驾驶座的门坐了进去。
“那你坐前面吧。”黎笑笑对刘祎峰说,自己拉开后车门坐了进去。
刘祎峰看着她坐进去,顺手帮她把车门关好,自己才坐进副驾驶。陈翰发动车子,提示音响个不停,刘祎峰赶紧把安全带系好。车子慢慢驶出车库,融入车流中。
“书快要看完了吧?”陈翰问道。
刘祎峰还不明白是怎么回事,黎笑笑已经回答道:“已经看完了。能再推荐几本吗?”
“好,回头发给你。”陈翰回答道。
“什么书?”刘祎峰终于忍不住问道。
“一些工作方面的书。”黎笑笑回答得很简单。
刘祎峰看看陈翰,他也没有继续说下去的意思,也不好再问下去了。
这两个人关系很好吗?工作方面的书……他们之间有什么工作上的联系?陈翰不在SK项目里吧?他们还有什么别的秘密吗?虽然明知和自己无关——应该是无关吧,刘祎峰还是觉得心堵得厉害,过了三个红绿灯,才觉得呼吸正常了些。
三个人有一句没一句地聊着,多半还是关于公司的事,话题转来转去,转到今天吃饭的原因,终于转到了年会那天发生的事情上。
“现在各种传言满天飞,你知道吗?”陈翰说。
“不知道。随便吧。”黎笑笑的语气十分冷淡。
刘祎峰知道她不愿意再提起那些事,赶紧转移话题向陈翰问道:“对了,今天晚上郑总为啥会来?”
“她呀,她说反正晚上她也是自己一个人吃饭,挺没意思的……”
刘祎峰回头看了看黎笑笑。飞驰而过的霓虹灯,一瞬间照亮了她的脸。她正看着窗外,脸上带着掩饰不住的厌倦。