上海Moto工作一个月随笔

    来上海Moto工作一个多月了,有些感想随便写写,当然某些“敏感”的东西就不放在这边了,呵呵。

    首先,最大的不同,是Scrum——近些年流行起来的敏捷软件开发模型。以前在南摩,基本是按照Requirement, Design, Code, Test这个流程走下来的,很清楚,对项目进程也比较好把握。Scrum的理念不一样,它假设项目的需求是会随着时间而变化的,于是它被设计得很有弹性很自由。它的模式大概是这样:
        1) 将整个产品要实现的功能写成backlog,假设按一个Sprint(周期)21天算,把这些backlog分成在这个周期内可以完成的sprint backlog;
        2) 召开sprint planning meeting,划分,确定这个Sprint内需要完成的任务,标注任务的优先级;每个Scrum team自己选择感兴趣的story并分配给每个成员;
        3) 进入sprint开发周期,在这个周期内,召开Daily Scrum meeting,看每一天完成Story的进度;
        4) 整个sprint周期结束,召开Sprint review meeting,将成果演示给Product Owner;
        5) 团队成员最后召开Sprint retrospective meeting,总结问题和经验;
        6) 这样周而复始,按照同样的步骤进行下一次Sprint。
    因为每个Sprint周期很短,所以可以按照需求的变化及时地把这些变化做进项目里。据说这个模型在很多公司实施得很好——
    然而,我觉得在Moto,我看不到Scrum的那么多优点,反而体会到了一些缺点。
        1) 对于scrum team的成员,他只是接触一个个的story,却并不知道这个项目的总体进度,有很多要从整体考虑的东西会被忽略;
        2) backlog里的story需要有非常详细的描述和正确的优先级、effort的预估,可是描述经常不清楚,优先级/effort在真正做事情前很难估计正确;
        3) 缺乏一个CM team支持,加上没有很好的版本控制工具(这跟Scrum没啥关系…),导致需要做release的那段时间会很混乱;
        4) 对于需求的变化,往往是在做一个个story中途发生的,同样会导致这个story白做或者需要改变story要做的事情,浪费effort。
     其实不管什么软件开发模型,对于需求的变化都是非常头疼的,有的变化甚至需要带来架构上的变化,很让人无语。在MDB时感觉还好,一般都是运营商定制好了一个手机的各种需求,然后我们再开发,变化不会太大;而现在做STB,有的东西说变就变了,很无语的。。。
    不过,这些缺点里有的是可以通过老板的工作弥补的,比如说他可以把项目的总体进度share给我们,可以专门找人做CM,可以用更好的版本控制工具,虽然都需要投入,但我觉得是值得的;有些缺点可能真没办法…

    第二,我想说说SVN,这是我们现在用的版本控制工具。以前在MDB我们用Clearcase,很强大的东东,但据说很贵,每年都要charge一大笔钱。而SVN是开源、免费的。以前用SVN、CVS,都是用来在网上下开源的代码,跟昊子合作的那段时间也只是用来在trunk上check in代码的工具而已,体会不到它版本控制的功能。而在真正的大项目里用上SVN之后,我的一大感受是,便宜没好货。相比起clearcase,SVN的差距确实太大了,没有dynamic view只能checkout到working copy;建branch也必须整个项目的东西一起建;merge需要queue而且也是整个项目的code一起搞;某些属性(比如externals)很容易被忽略导致错误地在某个branch上做了本该在另一个branch上做的事… 就我已经经历过的一个多sprint来说,粗略估计花在SVN上建branch、check out、最后merge的时间,可能要占到一个story的20%时间。
    我的想法是,对于一个小项目,或者各个部分比较容易分得开的项目,用SVN还行,如果需要很多人在某一个模块里经常做改动,用SVN的效率会很低。我知道网络上的开源软件都是用SVN的,也许对SVN的了解还不深所以不清楚它的好处,但我觉得在大公司里做的大型项目,还是应该用更好的版本控制、项目管理软件吧。

    第三,关于code review和merge。其实这和前两点都有点关系,不过我还是想特别说一下。在scrum模型里,code review并不是一件很重要的事情,它关注的是及时地把feature deliver给客户。然而在实际操作中,如果缺乏code review会导致很严重的问题。说实话在MDB我对此没有特别的体会,因为在那边有很严格的流程,所有的code都需要inspection才能进main line。而在这里相对随意,code review只是在review board上提一下,然后大家看看、有comments就在上面提就行了,最后有没有改也不知道。就上一个sprint里,我就见过一同事随便改的code也提了review,我看了一下发现里面有了不少bug,过了一天却发现code又被整体改了一遍,跟一开始完全不一样了,bug也没了,我汗… 这样的review有什么效率和效果啊。
    想想还是MDB那么严格的机制比较好,提inspection的时候自己都会保证code质量已经到了一定程度了,不会随便提的,大家一起开会看code有时候是会觉得浪费时间,但长远地看这还是能保证code质量、减少将来的effort的。Merge的话因为在MDB用clearcase,可以对单个文件一个个地改最后用view看一下就可以了,而且经常会请同事帮忙看看merge得对不对,所以较少出错。而现在SVN的merge是件头疼事儿,因为一般merge都是sprint快结束时做的事情,大家一起上,所以只能乖乖排队,而这一排队,等上一两天也是正常的——也就是说要等一两天你的code才能merge到main line里去;有时候也会遇到“没品”的同事一声不吭在merge queue里插队,他是快了,可自己等的时间就更长了….
    关于review,我觉得我们可以做得更严格,即使浪费现在一点时间也是值得的;关于merge,我真是不想用SVN啊~

    关于老板也有些想法,不过比较敏感就不写了,呵呵。最后学习某人,贴张图,休息一下^_^
Scrum_track_form 理想的办公环境

Share

掌控时间–学习中

    办上海居住证还要体检,小崔同志介绍说张江这边有个曙光医院还不错,人也比较少,于是跟Peter说一声今天晚点来公司,早上去体检。周末回南京要买火车票,张江这边有个订票点,地图上查好发现正好在从医院去公司的路上。于是计划好今天早上先去体检,然后顺路买票、去公司。

    因为听说人不多,所以没有很早去——只是到了医院才发现,人可真不少啊。体检时有不少项目,还好只有胸透那边排长队,其它项目都比较快。于是先抽了血,然后排队胸透,一边排队一边看书《如何掌控自己的时间与生活》,一边思考自己的问题——我有明确的长远目标但没有很好的规划,所以有时候会浪费时间、自己却都不知道在干什么。不过好的规划也不是一天两天就能形成的,慢慢来吧。——看着书想着问题,本来枯燥的排队没什么感觉一会儿就过去了。做完这个项目、其它就都很快了。值得一提的是,今天测出来的视力居然有1.0和1.2,还反弹了呢,呵呵。

    回公司的路上顺便就把火车票给买了,效率很高。最后到公司时,小崔有点惊讶,“这么快就体检完了啊?”。嗯,这个小事情算是一个使用统筹方法的好的规划的表现吧^_^

Share

Say goodbye to Nanjing

    明天就要离开南京,离开工作三年半的南摩了,说真的,有点伤感。不像Sky,离开之后还可以经常回来吃饭,呵呵,去上海以后再和大家见面的机会少多了…
    收到了大家的很多祝福,谢谢你们。
    走得有点匆忙,没有来得及和每个人说再见,在这里说一声吧,goodbye~
    拍了几张照,作为留念。

DSC_0115 DSC_0117 DSC_0119 DSC_0122

Share

浦园怀旧

    自从大四搬到鼓楼之后,我似乎还没有回过浦口校区,一下4年过去了。如今南大马上搬去仙林、浦口即将“荒废”,我想趁这个时候回到曾经生活和学习过三年的地方,看看。
    132坐到大桥南路,看到一个以前进城的必经之路的路牌,有点怀念一开始“高新线”、后来131->132的线路了,呵呵。然后搭同去怀旧的许焱的车到了浦口校区。
DSC_0001
    校门还是很熟悉,停车换证,开进学校。正对面还是那个很显眼的喷泉和雕塑,后面多了一幢楼,开始有点不认识了。往前走过喷泉左转,更不认识了——一座颇为雄伟的楼矗立在以前可能是篮球场的地方——原来思源图书馆建在了这里。我们当年的图书馆可是个棚子小平房啊… 思源图书馆建得这么好,却又马上要搬走了,sigh…
DSC_0007 DSC_0012
    接着往前走,场景慢慢地变得熟悉起来,篮球场、足球场、左涤江,嗯,以前在这片场地上可是流了不少汗、进了不少球、另外、学会了颠球的,哈哈。球场上有几个男生在踢球,相比起鼓楼来人真是少多了,不过绿色的人工草皮已经被磨得差不多了,只剩下一层白色的石子,条件已经不行了。左涤江也只有一些人在打羽毛球,相对来说这里资源真是丰富啊,在城里订个场地也是有点难度的呢,呵呵。
DSC_0020 DSC_0024
    往宿舍区走,看到了被一场火烧过的金乐乐餐厅,当然现在还是叫八食堂。三峡坝基岩芯仍然竖立在那儿,只是字已经被磨得快看不清了。继续往南走上一个坡,想起阿狗的一句话,“相比起东大的平来直去,南大正是因为有了高高低低的小坡才显得摇曳多姿”。坡上有个浴室,我正在想这是男浴室还是女浴室呢,许焱很确定地说,这是女浴室,于是被他LP追问怎么记得那么清楚的;)
DSC_0029
    这个坡顶是个Y字路口,往左转到了六食堂和一个用铁棚子搭起来的早饭有豆腐花吃的食堂。如今铁棚子不见了变成了房子,走上去变成了水果超市和饮品吧。那家小店靠外的玻璃上贴满了小纸条,有祝福有骂人,蛮有趣的。往右转就到了七食堂,和我住过三年的15舍。在七食堂里休息了一会儿,原来的镇江锅盖面变成了盖浇面,其它,ms变化不大。唯一能看出“岁月痕迹”的要数电视机了,崭新时桔色的电视机如今都已经发黄了。另外,以前食堂外面写的“第七学生餐厅”似乎也不见了。到了15舍门口,看着那幅对联,我楞是记不起还是不是以前那幅了,似乎还是的吧,记得是有“海纳百川”这样的字的。食堂和宿舍对面的那一大块草坪仍然维护得很不错,在阳光和微风下很舒服的感觉~
DSC_0039 DSC_0042 DSC_0041 DSC_0044 
    往回走经过南平教室,许焱问我们有没有在里面上过课,我很确定地说有,大一里法律课就是在这里面上的吧,当时那个年轻老师跟我们讲的浦口发生过的凶杀案让我印象比较深刻,后来应该还有什么课是在这里上的,记不清了。到了教学区,I、II、III区的划分一开始让我觉得这里面就是个迷宫,上课上得多了才好不容易记住了里面的地形。故地重游,在里面倒还没有迷路,也很顺利地找到了经常买报纸的邮局,呵呵。那些特别的饮水机好像还在,倒是用了不少年了。
DSC_0054 DSC_0055 DSC_0059 DSC_0063 
    转了一圈回到了玉辉楼,计算机系机房所在的楼,里面有我最喜欢坐在最后一排上自习的教室(虽然没上过多少次自习)。因为有免费的上机,我们一开始就是在这里,研究出校代理、出国代理,练习编程、学习数字电路、研究和运行TEC2000系统,怀念当时钻研的时光啊~~
DSC_0060 
    现在我好像已经没了那种钻研精神了,除非再遇到自己很感兴趣的东西,嗯,要好好体会当时那种快乐并学习着的感觉。以此作为结尾吧。

Share

单反练习

从老板那边借了Nikon D80和说明书,在家里先学习理论、练习拍摄。因为晚上家里的灯光毕竟还是不够,拍出来的效果比较一般,等周末要是天气好,出去外拍哈。
目前总的感觉是,要玩好单反还是挺有难度的。继续学习摸索中…
show几张家里的东东吧^_^(请自动忽略阴影… )

毛绒玩具们
毛绒玩具

狗狗看电视:-)
狗狗看电视

跟随我多年的台灯
台灯 

日历
日历(April)

Share