• 2008-09-09

    项目中的一些实践

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/dreamhead-logs/28707839.html

    目前在做的这个项目处于一个良性的状态,除了尽人皆知的敏捷实践之外,还有一些在我看来不错的实践,这里简单记录一下。

    每天的Diff
    每天早上,Standup之后,项目组的程序员会聚集到一起,通过SVN的diff功能,查看一下前一天编写的代码。

    这个做法源于项目组还处于分布式的时候,Daily Diff可以帮助我们了解分布在其他地方的程序员都做了哪些工作,以便对整个项目的进展有个把握。虽然后来团队不再分布,但这个习惯被保留下来。每次Diff大约10到20分钟,大家一起过一下之前一天编写的代码。除了了解大家项目的进度,在这个过程中,每个人会对自己编写的代码做一下介绍,这是一个知识分享的过程,大家可以在这个过程中学到其他人的编码习惯和处理手法。此外,这也是一个Code Review的过程,经常会有一些改进建议在这个过程中提出,有助于代码内在质量的提高。

    每周的Session
    每周,我们都会有一个Dev Session,时间通常是午饭时间,当然,项目组会提供免费午餐。

    Dev Session,一般是由一个人主持关于某个方面的讨论,主题通常是项目当时遇到的一些问题。我们曾经讨论过的主题包括CSS、数据库优化、Ajax、REST、环境配置、SVN、优化等等方面。对于主持讨论的人而言,这是一个学习的过程,因为讨论的主题不见得就是自己熟悉的话题,再者,这也是一个锻炼做演讲的能力的机会,对于ThoughtWorker而言,这是一个必备的能力。对于其他的人而言,这一方面是一个向他人学习的过程,另外,也可以在讨论中分享自己在相关领域的经验。因为每次讨论的话题都是与项目相关的内容,所以,这种Session会有非常强的针对性,不会像参加一些活动中的Session那样,弄不好就迷失其中。也是因为有很强的针对性,所以,讨论会很激烈,不过,有时可能会很发散,时不时就跑题了,下一次讨论的主题时常就是这么来的。后来,我们把这个活动推关到公司,愿意参加的都欢迎,当然,项目组之外的人,免费午餐就没有了。

    一致的Pair Machine
    我们开发用的机器,拥有完全一致的配置,不只是硬件,更重要的是,完整的开发环境。

    我们项目组有6个程序员,也就是3个Pair,所以,我们有3台Pair Machine。在结对开发的过程中,切换Pair是一种常态。随之而来就是经常需要在不同的机器上进行开发,但是,无论到哪台机器上,我们都不会有任何陌生的感觉,这三台机器不仅仅长得完全一样,里面安装的软件、程序目录,甚至是配置的快捷命令都完全一致,这也让大家养成类似的操作习惯。登录之后,我们只要打开一些终端组,三个命令行窗口就呈现在我们的面前,通常最下面的那个窗口就是我们用来启动Web Server,观察日志的地方,而上面两个是用来进行命令行操作的地方。rr,表示进入到开发的根目录;ss,启动Web Server;sc,启动script/console;rc,提交编写好的代码。完全一样的三台机器,让我们可以最快的进入到开发状态中。

    从不缺少的欢笑
    项目成功,除了为客户提供满足他们需求的软件之外,对我而言,还要快快乐乐的。

    随着项目组逐渐磨合,项目组的欢笑是越来越多。经常可以看到,我们项目组突然有人大笑着离开座位,不用问,又有人有惊人之语。曾经经过很不快乐的工作,所以,现在的我格外珍惜一个可以让我快乐的工作环境。我们的PM在认真工作之余,经常考虑的一个问题就是如何让大家更快乐,于是,我们的Team Building走出了“饭店”,到了大自然中:登山、真人CS、漂流,这个项目注定会在我的记忆之中留有一席之地。也正是因为这些欢笑、这些活动,让项目组成员彼此走近,也营造出一个更好的沟通氛围,这对于促进工作有着积极的意义,我曾经对别人说过,我们项目组进入了一个良性循环。
    分享到:

    历史上的今天:

    引用地址:

    评论

  • 程序员很辛苦的把
  • 如果是用git,gitk是个比svn diff好得多的工具,直观方便。