对于一位开发者而言,都希望有良好的开发环境引导大家。这里我给出自己实践中有所成就的方案,希望能帮助大家进行开发中的协作和方式有所改进,达到各方面的共赢。
对于开发者而已,莫过于是能进到一家公司能学到东西和做得开心,有存在价值感。 在这个基础上我制定了一份相应的项目管理方案。而且现在执行了五年多了。也获得了相当高的成效。下面我给大家介绍一下
一、代码方面
对代码进行统一风格和统一标准。不能出现两种代码风格和代码规范。
管理者对代码每天进行代码检测,出现问题的则需要打回修改并提交。(这一步相当重要)
发现有更好的实现方式应该指出并且改善,并且教导其缘由和利弊,让他/她在对比中学习成长。(如果没这个环节,开发者就会认为自己写的都是对的、好的。久而久之就不会去改进和突破自己的学习高度)
发现项目中多数人犯相同错误时,需要进行集体培训。
二、开发和维护方面(代码风格统一为前提)
开发可以A同事和B同事相互合作时可以无缝穿插功能开发。可以降低相互的学习成本。
维护时可以相互修改对方的bug和在原来基础上开发新功能都是无缝对接。可以更好地合理地安排人员开展其他工作。
新同事来了或者同事离开了,这些都不会受限于前一个同事的代码风格而导致维护成本加大。(在整个项目的开发生命周期当中,我认为维护阶段是成本最大的)
管理者可以更好的把控项目的技术和代码范围,不会出现A同事和B同事重复开发一个相同功能的情况(如图片的压缩方法,当A很久前就实现了该功能,但是到B去维护的时候没找到相应的代码而重新写了一个新的压缩方法,只有代码检查的时候并且需要一个有整个项目把控能力的人就会发现这个问题,那么发现这种问题就需要及时的修改)
三、项目质量
如果开发方面做到第4点,那么就会无形中减少了项目的体积,减少维护程度。
如果做到代码检查的工作,那么很多逻辑有问题的东西会很容易发现并及时修复。(有些bug不容易发现的,看代码就能发现逻辑有问题)
四、项目进度
做到以上的几点之后,对于开发和维护都容易上手了,这样能提高工作效率的同时也提高了员工的积极性。(因为在工作当中能有这样一位导师可以领导自己)
员工积极性提高也同时稳定了公司的规模和发展。(如果天天都在喊缺人的情况下是无法发展起来的)
五、团队扩展
当团队扩大的时候,这个时候需要新进来的同事认领一个师傅,由师傅带领徒弟的方式进行日常的学习和工作,老同事就做为一个师傅的提升,这个时候是需要各方面的能力去作为辅助的,无形当中也是在学习和提升,让员工更有动力。
而这些师傅也归纳到当初的管理者上。而代码检查方面是一个庞大的活,这个需要师傅像当初管理者一样去检查徒弟的代码以达到整个项目风格一致的情况。
成果:基于以上的几点,我通过了多年的实践,已经取得一定的成效:
A同事和B同事间相互开发X任务。此时Y任务更加紧急,B同事被调配到Y任务,可以无缝上手进行开展任务Y,而A同事也要去维护之前B同事的开发工作,这些都是无缝对接的。
A同事完成的X任务,提交测试后由于A同事能力相对较强也去担任了Y任务的开发;那么X任务的bug就交由B同事去修复,B同事可以同事学习相应的X任务业务,同时可以学习A同事的代码和技术从而提升技能和学习能力。
为他们购买相应的技术书籍,并且要求完成相应的任务。虽然是太过硬性,但是对于爱好学习的同事是会喜欢这种引导方式,因为在能力提升到一定瓶颈时都希望能够有人引导和自身能力的提升困惑。通过这种方式让同事觉得有所提升和发展,让他们也走到核心开发的位置,加速公司的发展步伐。
注意事项:
针对这种方案需要有一个相对水平较高的人去担当这个技术领导人,从而可以带动整个团队的技术水平。
整个团队的技术最高技术的体验就是这个领导人的能力体现。所以需要不断的进修和学习,从而让团队学习更高的技术和能力。毕竟并不是所有人都是有主动学习的能力,所以需要被动和主动相结合的方式达到目的。
在以上的方案中,如果出现不配合者或者奔跑中落后的人,我们应该采取淘汰制来让团队有警惕感和冲劲。不能让团队出现败坏风气的人存在,如果存在会让整个团队都会没落而以至于公司无法壮大发展。