在moode实习,另一个深切的感受是他们的工作流程。老板是敏捷开发践行者,带我的ThoughtWorker传授了完整的敏捷开发理念,1999年,ThoughtWorks全面转向了敏捷开发,这个时间比敏捷宣言的提出还要早两年。敏捷和传统开发模式到底区别在哪呢?

首先感受到的,是每日站会(以下简称“站会”)。站会的时间在每天刚上班的时候,每个人要讲自己昨天做了什么,遇到了什么问题,今天的任务是什么。起初的时候,我也没感觉这有什么,以为又是一种形式主义,后来才渐渐发现了站会的意义。这是一种透明度极高的工作方式,大家共享任务进度,共同解决遇到的问题。而且当你某天偷懒了的时候,你自己就会特别的清楚。一种共同监督和自我督促。所以每天早晨挤在北京有名的地铁一号线里的时候,脑子里想的是我站会要讲些什么,拎着早饭走在华彬前的胡同里,想的是我今天要做些什么。站会这种形式,确实是一种很好的督促~

对于迭代,印象很深刻,从第一次去找老板进行痛点分析,到临走前去做的那次show case,老板每次都在不停的跟我讲迭代,他要的是MVP(Minimum Viable Product),一次迭代要做的是最简可行化产品。

在公司里,我们的开发流程是这样的。首先,要去和客户(用户)沟通,进行痛点分析,确认需求;然后,画界面原型的UI,做好Story卡,去和客户再次确认;确认完成后,修正Story卡,和开发人员针对Story卡的内容和细节开一个IPM会议。在IPM会议上,产品经理和开发人员共同看卡,针对每张卡的内容,开发人员都要进行反讲,来确认是否达成了共识。确认完成后,开发人员需要对卡进行估点,点数越大,开发难度越大,开发时间越长,当点数太大的时候,产品经理就要考虑是不是要将这张卡太大了,需要拆开。IPM会议后,开发过程就正式启动了。开发人员每次从PM这里领一张卡,读卡完成后,要进行反讲,然后把他认为的功能点列出来,备注在这张Story卡上。

一旦开发开始进行了,卡的内容就不能再修改了。我们之前就碰到过这种糗事,程序员已经开始开发了,突然,程序员跑过来跟我说,你这需求有问题,这个时候,很是考验PM了。这种时候,一般有两种情况。一种是确实需求出现了问题。这时候,PM要和开发人员对问题进行讨论,大家统一出一个解决方案,然后会新建一张卡,把方案内容写进去。然后在原来的那张Story卡上,添加上连接到这张卡的链接。

还有一种情况,就是程序员的有意蓄谋了。当需求不好实现的时候,他们就会跑过来挑你需求的问题,希望成功把你绕进他们的思路里去,然后把需求改掉。这个时候就需要PM坚定的好品质了。PM的需求都是和客户确认好的,要是中途改了需求,客户怎么会买账,PM可是个顶雷的,开发做出来的东西跑偏了,责任大半是PM的。所以,千万要小心那群心眼无数的程序员们。

一次迭代产品完成后,产品和开发人员要共同去找客户,进行show case。

Show case对我来说,也是一段血泪史。第一次去的时候,其实根本不知道要说什么,然后就一个按钮一个按钮的跟老板解释。哎~老板的心思太难捉摸了,天知道他想要看的是哪些功能。我演示了半天,老板说,这些不是我想看的,我要的功能呢?这次演示我要给你一个叉子。然后我就又被乖乖的教育了一个小时,还好有好脾气的守波哥哥,跟我说我做的第一次show case已经不错了~还和我说老吴不该中途总是打断我的。每次从老板办公室出来都是一身汗。

然后守波哥就和我去了小屋,研究如何做一个好的showcase,老板君想要的show case到底是什么样的。一个好的showcase需要把我们的产品用一个故事串联起来,演示给客户。为了保证真实性和参与性,现场的每个人可以就是故事里的人物。然后在演示过程中,观察你的客户,看在你讲哪些功能的时候他会特别关心,哪些不在意。这种东西,还真是得慢慢悟啊。直到最后,老板君跟我说,这一次我还是要给你一个不及格。哎~幸好已经不是给我一个叉子了。阿Q一下好了~

Show case后,客户会提出他们对于二次迭代的要求,然后就是重复以上的过程了。

敏捷开发带给我的主要感受是快速迭代,这样我们才知道我们的产品是不是市场上所需要的,而且也会大大减小开发的成本和代价。相对于传统开发模式,优势还是很大的。

At last,贴张图纪念下第一次加班。

很幸运,在一个本该无聊透顶、死气沉沉的寒假,我得到了去Moode实习的机会,在真正的互联网服务公司,和真实的程序员们,做实实在在的项目。

我的实习职位是BA实习生。

实习前,我对BA的理解是零,也根本不理解产品经理的存在意义。学院开了软件工程这门课,可是到最后也不明白BA是什么,老大吗?一直以来,学院要我们重视的是技术,所以在实习的起初阶段,我也有过抵触,因为看不到自己的存在价值。但是现在,我特别感谢这一个月的实习经历。不光让我看到了BA的巨大价值,还真实接触到了先进的敏捷。

期末考试结束第二天,我就坐上了奔北的高铁,心里的感觉是相当复杂啊。下午一到公司,健哥就带我开始工作了,互联网公司的节奏让我很是喜欢。

第一项工作,是做需求故事卡。一项看起来很容易的工作,貌似只要逻辑没什么漏洞,流程顺畅就好,可是最近一个第一次写卡的交互设计师做的故事卡,着实把我深深鄙视了。不得不承认,工作经验是个可怕的东西,有工作经验的人确实能秒杀我们这种零工作经验的大学生十条街。不过牛人们几句话一点拨,Story卡就写的像样子多了。第一天,感觉还不错,就是程序员们真的很闷啊。

第二项工作,痛点分析,就产生问题了。健哥带我去听老板讲需求,然后我做痛点陈述,老板的强大气场着实把我吓到了,第一遍陈述的时候我竟然结巴了,把我自己都吓着了。整个的痛点陈述过程持续了将近三天才算完成,这期间去了多少次老板办公室我已经没数了,第一次发现说话是件巨难的事情。总结原因呢,第一,是废话太多;第二,是假大空套话太多。素质教育带来的悲哀后果。

然后,就开始做真实的一个小项目了。在小型互联网公司的好处就是,你什么都要学着去做,要了解很多东西。比如,我在这里做PM,除了敲代码的工作是程序员们的,剩下的东西都需要我来完成。之前我也认为,除了敲代码,一个软件产品的诞生还有什么其他活儿?可是事实证明,很多。PM需要去和客户聊需求,确认需求,画界面流程图,然后向客户展示你设计的界面,还要把项目拆分成功能点,写成给程序员看的故事卡。然后和程序员针对卡的内容和细节达成共识,以保证最后的产品不跑偏。程序员完成项目后,要去和客户show case,展示我们的产品。然后,进行下一版本的迭代。

也正是从这时候开始,我开始感受到了敏捷开发的先进。迭代和MVP(最简可行化产品)都是相当先进的方式。

以往我们的开发流程是大爆炸,想要什么就开发什么,最后做出来的程序不伦不类的。用户真的需要我们加的那些功能吗?或者说,我们的产品主题是不是根本就已经变了呢?

迭代就帮我们解决了这些问题,首先,我们要做的就是MVP,然后拿到市场上,有人需要了,再去问他的进一步需求,这样,就省去了很多无谓的浪费。

经过半个多月的磨练之后,感觉自己的想法和做法都有很大的改变,真的,你周围人的高度决定你的高度。大学是个很慵懒的窝,不停的唱着催眠曲告诉我们外面的世界有多美好又风平浪静,可是社会一直是只凶险的鲨鱼,游慢了,你就被吞掉了,成为鲨鱼排出的渣滓,社会的loser。

之后是新年假期,第一次和上班族一样,只休息七天,还感受了把春运和抢票难。看着火车站那些北漂们,想着回家真好。

假期结束后,继续回来上班。突然一下子感觉自己成长了很多,和半个月前刚到Moode的自己大不一样了。其实刚来的时候我就是个没毕业的大学生,骨子里都透着稚嫩,希望所有的事情都是别人来做决定,毕竟做执行多容易;但是一个月过后的我喜欢做决定,喜欢别人去执行我的决定,喜欢自信带来的那种快感。质变果断是需要量变的积累的。

更偶然的一个机会,认识了百度设计师何亚虎。和亚虎哥狂侃了一个下午,真心毁三观。

之前是立志要进大公司,新浪阿里金山腾讯神马的,现在觉得,作为零工作经验的应届大学毕业生,先去小公司磨练几年才好。小公司里可以培养你的各种能力,从专业能力到待人接物的能力;大公司里的职位细化程度太高了,你可以在你的职位范围内做到很好,但是范围外的,难说。毕业就进大公司,除非你想早点废了。

这次实习带给我的另外一个好习惯,是我学会了主动去寻找答案。我现在最热爱的一件事情,就是去分析那些成功的互联网产品,听产品开发者的声音,听社会上的各种声音,赞扬声也好,骂声也好。大众应用最难做,一款成功的大众app,值得学习的地方一定相当多。主动去寻找答案的好处就是,你会有自己的想法,而不是去成为谁的支持者。

最想感谢的还是老板,每天对我的表现各种的不满意,提各种的意见,每次走出老板办公室的时候,我的脑子都要炸了,我形容这个是“满天飞刀子”。但我就是个喜欢受虐的人,你对我越不满,我就有种要征服你的快感,逆境里确实好成长啊,感谢我强大的心理素质。

在大学这个窝里,其实大家的水平都差不多,那些我们口中的牛人和我们之间的差距其实真心不大。但是在社会中就不同了,在弱肉强食的互联网社会,那些牛人的高度,有时候真让人感觉深不可测,所以就让人难以安于安逸。

你周围人的高度,决定你的层次,决定你的视野。