先管做开发,还是先管上生产

13年某银行管理项目的建设,科技部行长大力主张,要降低生产版本的错误率,从开发过程着手,全力规范开发测试流程,严格按照版本管理制度,加强配置管理的地位,改变随时上生产,随意改生产的情况。

当时流程及版本管理状况极差,开发人员将版本发布到测试环境,测试人员测试完成后再由开发人员拿到生产暴力上版。我是做这个管理项目的项目经理,也是第一次带这类项目。后来回顾,遗憾的讲,虽然功能上都做了,但是从最后效果上,项目至少失败了一半。

整个工期的过程是痛苦的,由于是全行级项目,干系人颇多,行里各式各类的项目都有。规范,就意味着降低各开发项目组的自由,抵制声高涨,连我们自己都要承认,一些规定和工具的使用是会增加额外的工作量。项目开始前,我们向某大型管理公司关于项目方案进行了咨询,其信誓旦旦的说,要从需求开始,按标准逐步做下去,用领导规定与项目章程做保障,最终形成一个完美的、封闭的、制式的管理流程。我们硬着头皮找试点,讲道理,做推广,铺开建设了所有工具,实施了所有的规范,却不得不接受生产质量反而下降的事实,因为短期的项目建设、复杂的流程规范、附加给项目组的工作量之间有着尖锐的矛盾。项目组的态度是,流程来不及走我也要上线,正常流程不行就紧急上版,紧急不行我们就提高问题严重性迫使领导开绿灯。

现在想来由于经验不足,项目中问题很多,这里只想讨论一个原因,关于项目中的实施规范,我们应该先去规范谁,即先管开发,还是先管生产。

国内IT项目都不会一板一眼的谈好需求然后开工,开工后测试,最后上生产。在那之前,我经历的项目都是需求谈起日,开发进行时。项目这个东西,只要做出来都是对的,中间怎么做都有其道理。项目能不能做,也是对项目实施方经验和积累的考验。当时我们资讯的公司,其大力吹嘘了其很多面子工程,其方案听起来也确实无可厚非。为了寻找差异,项目结束后我费了好大力气去探访了几个所谓成功客户,然而给我的反馈却让我有些吃惊而且几乎一致:在工具与标准全面实施后,所有交付品都放置了很长时间才投入使用,而且施工时项目经理抱怨领导不够强硬,配合的项目组吐槽流程增加了不必要的工作量。

无独有偶,15年我做了几乎相同的项目,岗位是PMO,角色是甲方负责人。项目推行的过程中,所有配合项目组的问题都会问同一个问题:额外的工作开销能让我们如期上生产版本吗?显然,这是一个致命问题。

大多数IT项目的质量都是从生产运行的结果得出来的,很少用指标去监控过程,我暂且说这是不可改变的。那么能不能如期上生产显然就是所有项目最大的绩效点。为了能如期完工,项目经理也是各显神通,包括我在内,也不乏瞒天过海之术。在重新做项目需求规划的时候,我仔细考虑了问题,决定先从生产的配置管理开始实施。

其实施内容也进行了无限简化,只做两件事情,一个是建设所有生产版本的确认流程,重新构建生产版本标识及生产上版单(根据组织架构不同,有些上线前评审工作是运维部发起,有些是PMO发起,有些是测试组织发起),一个是统一上版入口,一旦生产版本标识确认,会有中转机自动转入生产环境。成效还是非常大的,他们只需要在系统上提交,审核通过后,测试的版本自然会中转到生产。各个项目经理的眼睛永远是盯着生产的,他们认为这样明显是更合理的,而且以往自己去拿着生产包上生产,自己也很容易也生怕弄错或者少了东西。

2个月后,我们对所有项目组对上生产的方式进行了回访,几乎没有人提出异议。

当然,关于生产版本备份管理,自动或手动构建的规范过程,可以逐步细化。

接下来的事情就顺理成章了,根据评审,一个版本需要项目经理,关联项目组成员及测试人员的集体确认,这个过程就是验证整个开发测试的过程。如果说产品经理是项目的头号杀手,那么测试就是二号,实际过程中开发和测试有着诸多矛盾,这些矛盾就是设计开发流程的突破口。本着服务于解决团队之间或者项目内部(根据项目组织结构)的问题,设计流程就容易了许多。而需求和开发团队之间的关系,其实是不如开发过程复杂的,毕竟头号杀手的武器就是改,盯好了他的刀,见招拆招就可以了。

有人可能会问,在建立项目时,项目组不是要提交配置管理计划的吗?我真的想知道有多少个会写配置管理计划的项目经理,你的需求都天天被大变花样,能指望配置管理计划这种二等文档生效?

想来13年的项目就是太过于照本宣科,人家拿来的经验是最完整的,那我们就往最大最全了做,一套庞大的项目管理流程没有做任何裁剪,生搬硬套,根本原因是不懂其精髓。只有深入到项目其中,站在各方的立场去看待矛盾,才会拿出合适的解决方案。

15年带领的项目,2个月,完成了生产版本规范实施,6个月完成了测试环境自动化构建流程,同步实施了从需求至生产的流程推广,一年时间所有项目纳入统一管理,大部分项目实现自动化构建(由于一些项目特殊性及技术原因,不能囊括所有项目)。而当时行业内有机构实施后在两到三年才宣布流程成熟,后续也有一些产品在子流程或构建技术上选择开放接入策略,使实施成本摊分,加速工期。

直至现在,统一生产版本这件事情,雷打不动,当然,这不是什么新理论,只是从全局上,我觉得比以前看的更进了一步。

你可能感兴趣的:(先管做开发,还是先管上生产)