发版

我供职于国内一家软件公司,并不小,在它所在的领哉应该算是领先的,产品偏于应用,至少在我这个部门,并不会在新技术新特性上做很多尝试。
发版了,它意味着一个加班周期的结束,几天比较空闲的上班时间以及不超过三天的轮休。但我并不是要讨论这些。
    前几天在公交车上看《程序员》,他们提到使用敏捷开发的团队,发版日跟平常开发是差不多的。但我们不一样,我们这边纯混乱,用CMMI的观点应该处于混乱级。
    每一个版本的开发流程基本是这样的:需求,需求完全确定前就开始开发,这一方面是因为工期压得紧,一方面是因为发的都 是升级版,一般开发人员对功能也比较熟悉,并不需要多详细的需求就可以正常开发。然后开始进入功能点提交阶段,这一阶段由开发人员提交单子,测试那边进行 单元测试,全手动,对照功能需求一一验证功能是否实现,流程走下来会不会报错等等。接下来是功能测试和集成测试,也是全手功,这段时间测试在平台上填 BUG,开发修改并提交测试。
    接下来,视开发进度开始加班,关于加班下面再详细说,其实全体加班也就一两个人有事做。在发版前一个月左右封代码,这 一阶段开发不能随意动代码,所有的活动都得监控,具体的做法是:开发根据问题填单,然后到构造管理那边要到修改代码的权根,修改问题,待到测试通过才合并 代码并把新的DLL放入安装包中。
    然后视情况延期发版一到两周。
    关于加班,加班其实本身并没有太大意义,因为并没有那么多事情可以做。以我来说,加班经常就是看看书看看资料什么的, 如果一晚上过于勤奋,可能导致第二天没有问题可以改。加班更多的,是一种心理上的安慰,我觉得是产品经理对于流程没有信心,加了班心里更有底些,待到不能 如期交付时可以对自己和对别人说“尽力了,都加了那么久的班”而已。
    我不知道其它地方怎么样,我在公司经历了三到四版的开发,过程就这般一直不有变过。