软件工程中,涉及如下主要阶段:立项、需求、设计、编码开发、测试、发布、培训上线维护等,其中,编码开发如同整座软件大楼的砖瓦用料,将直接影响产品的功用、质量、性能。
编码开发过程中,往往是多人参与,团队作战,每个人的风格和技术水平不一,为规范作业,产生了编码规范,但规范往往比较缺少强制性,且不能从本质上使每个技术水平不一的各成员,其在项目中的编码水平保持在同一水准。
为使整个团队的编码水平在一个集体智慧的最高水平,可以尝试采用编码负责人及标准代码库的机制。
编码负责人机制及标准代码库的主要目的:
利用团队最高的集体智慧,共同锻造统一的优质代码和实现,形成标准代码库。
约束团队成员,在项目编码过程中,只使用已经过“曝光公开”的统一的代码和技术实现,不使用自己所未经审验的未经集体认可的“暗处理”。
使整个项目的编码质量,从一开始的用料就保证代码的统一性以及最终实现的高质量。
其具体运作中,团队的角色架构示例如下,采用编码负责人及标准代码库机制后的模式:
通过编码负责人及标准代码库机制,相当于每个开发人员都在使用集体最优的处理方式和统一的代码在进行协作开发,相当于每个人都与“集体最高智慧”一起“结对编程”,随着不断的重复编码,使标准代码库中的代码愈发精炼,实用,好用!
通过标准代码库,细化项目开发中所用时间,为后续项目时程提供参考。
该机制的运作可分如下步骤:
项目编码前:
1、 项目组公推一个技术水平较高的成员,做为本次项目的编码负责人;
2、 编码负责人及项目组,列举本次项目开发所用的技术点,共同统一出一个标准的处理代码示例;(可参照公司的编码规范、标准代码库、以及之前的标准代码)
项目编码开始:
1、 项目组所有成员,依照本项目的标准代码和实现,进行功能开发;
2、 编码负责人可以不定期抽查编码是否与项目标准代码相一致;
3、 项目组如果有成员遇到要使用目前项目标准代码所没有新的技术实现,必须先告知编码负责人,必要时团队一起定夺;
4、 项目组成员如果遇到比较复杂的逻辑处理,需要将该实现的具体思路,简要文档化,并交由编码负责人帮忙审核;
5、 编码负责人以自己的高水准,参与及指导项目的实际编码开发;
6、 编码负责人需要负责扫清本次项目开发中的技术障碍;
7、 编码负责人可以不定期和公司其他项目组进行技术互访,使团队的水平与公司的最高水平保持一致;
8、 编码负责人对项目开发过程中的新进员工,进行编码指引;
9、 整理相应功能处理所需时程,为后续项目开发做评估依据;
项目编码结束:
1、 编码负责人带领团队成员,在编码层次进行项目总结,充实项目的标准代码实现库,以使团队的开发水平,得到技术提升;
后续项目:
1、依据之前的代码库进行功能分解,以及时程评估依据;
项目开发所涉及的需求、时程、质量,其需求需要提取,其实现架构需要设计,通过编码负责人以及标准代码库机制,可以为时程评估提供较为准确的依据,以及为质量提供统一的保证。
通过不断的标准代码库积累,将优化团队整体作战能力,而且可以提升每个团队参与人员的编码水平,与简单的组件或控件相比,标准代码库有着更强的约束力和适应力,对于团队及公司的成长,可以尝试编码负责人及标准代码库机制,作为软件开发工厂化、软件产品质量化在软件编码开发环节的一种强有力支撑;
实战出真知,希望软件项目开发中的编码负责人及标准代码库机制,能为我们的团队在开发速度、质量、技能水平上带来新的提升。也欢迎各位开发战线的同仁,总结实用战术。
据网络资料:
战国名将中,魏国吴起、庞涓,齐国孙膑,燕国乐毅,无不是先拜师修习,成为兵家名士后,前往心仪的国家“拜将”,希望得到英明君主的赏识——这是战国良好的双向选择人才的氛围,所谓“百家争鸣,择优而适”。而这些“名将”大多在退隐或失势后著书立说,要把自己的兵家理论与实践流传后世。
战国四大名将——白起、王翦、廉颇、李牧,则都没有经过系统的兵家学习,是纯粹的“行伍出身”,从小兵开始,在杀戮与拼杀中凭借战功名留后世。
也希望诸位奋战在一线的编码人员、项目管理人员,能够多总结,多分享,从“行伍出身”,探索和成就自己的名将之路。