加班不是目的,重要的是找到加班的意义。尽管程序猿们有很多个不愿意,他们却依然要面对加班的现实。加班就是程序猿们生活中的一张牌,既然不能决定这张牌是什么,那就想想如何去打好这张牌吧。本月,我们的生活依然是那么的忙碌,这句话似乎成了我的台词,不过有一个好消息就是我们的系统终于要在F站点上线了。

 
    在之前经历过项目经理的无数次呐喊“上线”后,我们已经分不清到底哪次才是真正的上线,以至于当系统真正的上线时,我们反而淡定下来。这就好比“狼来了”的故事,一个人的谎话说的多了,也就没人相信他会说真话了。其实,程序猿们也和项目经理一样,希望着项目能够早日上线,也会为了项目上线而做出一定的牺牲。项目经理大可不必为了追赶进度,假报系统上线的日期,那样只会让项目陷入混乱。
 
    因为月底要上线,自然少不了一番苦战。项目组派来了一个资深的测试经理来管理整个测试团队,来保证整个测试能够按照计划实施全方位的测试。这里之所以强调资深的测试经理,是因为以前我们的测试团队太年轻了,管理经验不够丰富。而且这些测试人员,不是临时从外包公司借来的,就是公司内部的实习生,人员流动性很强,没有完整的测试计划和测试流程,测试的意义不大。
 
    不得不说,新来的测试经理很给力,很快就将懒散的测试组整编成一个高效的测试团队。这一切都归咎于正确的领导和指挥。在软件开发过程中,测试所占比重很大。测试的质量直接反映了项目的质量,一个高质量的测试团队,能够在开发阶段就发现项目中的各种问题,从而保证项目在上线以后不会有重要的问题。只是国内的软件行业不太重视开发而已。
 
    理论上来说,项目到目前应该已经没有太多的Bug,但是事实不是这样的。由于项目负责人没有完全把控住需求,以至于在这紧要的关头,我们还要对项目进行适应性修改,这样做的直接后果就是产生了一些不必要的Bug,让系统变得不稳定。如果项目负责人,不能够把控住需求,那么项目的风险就会呈指数级增长,这也是为什么我们的项目为什么周期会如此的长。
 
    因为这是系统真正的上线,我们考虑的就不再仅仅是在功能,也要特别注重性能。提升系统的性能主要从两个方面考虑:一个是系统的框架,另一个是系统的业务逻辑。系统框架方面的内容,包括框架的API,是否使用缓存等。系统的业务逻辑则主要是模块间加载的机制。在整个系统开发中,如果都遵循了统一的编码风格,那么代码审查时就会变的比较简单,优化系统的性能的时间也会大大降低。
 
    在系统上线的几个模块中,我都有负责,但是我特别关注B模块和U模块。因为这两个模块是我早期参与设计的,我想验证它们是否能适应需求的变化。现在看来,当初的设计还是有些缺陷的。一个优秀的模块,不单单体现在它的高内聚与低耦合,更重要的是它能够适应业务,应对不明确的需求。   
    
    忙碌的日子,总是过的特别快,一个月的时间眨眼间就已过去。如今,系统要正式上线了,我们终于看到了希望。然而,这只是项目的希望,据说我们还要把项目做成产品,项目与产品区别是什么呢?我们还有多少的工作量要做才能将项目作成产品呢,我们期待着...