敏捷是为了什么?敏捷有哪些依赖?
因为公司发展的原因,从原来的几杆枪到现在虽然还是几杆枪,但是需要更完善的流程和文档管理,为了以后在增加人马的时候不至于慌乱。在以上原因的驱动下,最近对流程管理进行了一些改革。
早在02年的时候就已经完善的接受过RUP的培训,也参与了CMM3的评定。然后又经过了两年的workflow和BPM咨询,对流程和规范也有了一定的了解,而且对这块儿也一直挺有兴趣的。
05年以后,为了更加快的开发出新产品,增加新的功能,加上各方面的原因,又走回来老路,对开发过程管理疏忽了,从一开始程序都是自己写到后来写好框架由开发人员去实现,再到后来的开发人员自行开发设计。。。
走到今天,发现文档和流程已经是迫在眉睫需要解决的问题。原因有以下几个方面:
1,缺乏整体的把控和了解 2,代码重复片段的冗余 3,人员离职造成的重复工作 4,出现问题时无法定位到具体产品 5,开发效率的低下 6,工作量的度量与监控 7,代码安全性不高
RUP仿佛也不是我们现有的人员数量所能撑起来的,敏捷开发的story card不能作为文档来使用
于是我就开始思考,我们一直所提倡的敏捷是不是生活在opensource中的,适合于非常professional的开发人员所使用的。我们的team中是否每个人都是geek,如同feng在twitter中所说的,优秀的团队中离职的是最差的那个,而差的团队中离职的是那个最优秀的。诚然,我们希望我们的团队都是优秀的,但是这个优秀是技术优秀还是其他什么,还是 要适合我们的环境。
说这个话不是自负的意思,也许更多的需要依赖环境,尽力的去改变环境,但是需要时间和方法。
想起当年刚踏上讲台的时候,意气风发的跟我当年还是初二的学生开讲物理的时候,一样的需要采取大部分学生能够接受的教学速度和方法,竞赛题永远只是一部分学生感兴趣的。
现如今的开发人员组成也是一样的,但凡有团队出现的地方必然有层次,敏捷是为了提高效率,为了更快速的更有效的解决问题,获得更高的生产率。我想敏捷更重要的大概是在集体荣誉感和责任心上的潜移默化,方法是在人之下的,当我们能够非常舒服的敏捷起来的时候,我相信这个团队的成员都已经是比较优秀的了。
我认为敏捷为我们带来了:更行之有效的开发过程,更高品质的代码,当然更加完善的文档,敏捷过程产生了大量的文档,其中绝大部分是采用自动化工具完成的,和更有战斗力的队伍
他依赖:优秀的team成员,持续集成与版本控制和自动化,更为宽广的知识面,责任心,技术功底,舒适的团队沟通氛围和开发环境,优秀的沟通交流能力,优秀的方法