项目管理论坛
从2006年开始,腾讯的研发规模开始膨胀,开发模式急需规范和标准化,到底走IPD(集成产品开发)还是Agile(敏捷)的开发路线,公司管理层也在为拿不定主意而犯愁,之后研发管理部开始与ThoughtWorks公司接触,逐渐将敏捷产品开发引入进来,并正式命名为TAPD(Tencent
Agile Product Development)。项目经理博客
项目管理者联盟
接触是从一次3天15W的培训开始的,ThoughtWorks派来了一个4人讲师团队,由此也诞生了腾讯日后推行敏捷的第一批种子。接着总结腾讯本身是怎么样子的,有这样一个框架之后就搞一些团队去实践,通过实践以后再不断改进,本身也是一个不断迭代的过程。training.mypm.net
整个实施阶段大概分成几个阶段:项目经理博客
• 试点期:组织很多专题研讨和内部培训,树立标杆,更大范围内进行培训。项目管理者联盟
• 推广期:内部建立一个顾问团队,开发一些扫盲的课程,不断的到一些团队里面去介绍去培训,让大家接受这些理念。项目管理论坛
同样腾讯在推广敏捷的过程中也面临一些挑战:PgMp.mypm.net
1、团队非常多,每个团队特点都不一样,比如规模不一样,应用方法不一样;项目管理者联盟
2、产品非常广,互联网上所有的产品腾讯几乎都有,这种多元化的产品它本身产品的研发模式会有一些不一样,那么敏捷、TAPD怎么样去适应这种多元化产品的研发;项目管理者联盟
3、敏捷在腾讯也是存在一个过程改进,这样就会存在一些不适应性,针对这种不适应性应该怎么样去做才能更好;项目管理者联盟
4、腾讯人员本身的素质也是参差不齐,每年校园招聘大概会招聘1000多个毕业生,这些毕业生从毕业到能上手工作,他们对敏捷的了解,融入到团队中都需要一个过程;项目管理者联盟
5、一些长周期的项目,比如QQ客户端,一个版本的发布可能要半年到1年的时间,像这样一个产品怎样去做敏捷开发,也许它就不适合敏捷开发。www.mypm.net
正是由于这些挑战,才孕育出了独特的腾讯敏捷模式。以下为收集的一些资料整理:项目管理者联盟
一、整体的框架结构项目管理者联盟
简言之,腾讯的TAPD是吸收了XP+SCRUM+FDD三者特点的并行迭代开发模式,涉及范畴包括敏捷项目管理和敏捷软件开发。
1、产品项目管理者联盟
采用FDD,即产品特性开发驱动的一种模式,腾讯的产品会有一个明确的产品经理这样一个角色,他会负责整个产品,包括产品的验证、产品的方向、市场调研、用户调研等。FDD
模式是一种非常适合产品经理来对产品做一些滚动的要求,腾讯在产品设计上引入了类似FDD这样的模式,但是也不完全是FDD,只是参考FDD,所有的开发团队都是由产品经理所归纳出来的产品特性去驱动整个产品的研发。项目管理者联盟
FDD的核心是面向产品的功能点,但这个功能点是从客户角度出发的,并不是从系统角度出来的。功能点是用一个短句描述出一个业务需求,而这个业务需求的粒度是按开发时间来衡量的(一般不超过两个星期)。特征与用例的相似之处是,两者都可以用短句(动宾短语)来描述;两者的不同之处在于,用例用UML的用例图来表示,而特征是用四色原型(类图)来表示。产品经理这个角色有点Scrum的Product
Owner的味道。但产品特性和backlog相差甚远,因为产品特性只是一个动宾短语,而backlog却是一个完整的故事(story)。项目管理者联盟
2、项目管理过程项目管理者联盟
腾讯采取了SCRUM,但也不完全是SCRUM
,腾讯根据自己的特点去总结的一些实践,大概的项目管理过程同SCRUM的过程比较类似,包括每天的晨会、迭代、timebox、每个迭代完成的时候会有showcase、回顾总结等。转自项目管理者联盟
3、开发实践www.mypm.net
参考了很多XP的实践,就XP完整的实践来说会比较理想化,很多东西不一定在实际开发中能够采纳,所以腾讯也是采纳其中的某些实践,比如自动化测试和持续集成,通过这样的实践就能保证产品有一个快速发布的过程。
二、腾讯的快速迭代过程项目管理者联盟
一个完整的迭代过程 包括概念、设计、开发、测试和发布五个过程。项目管理培训
|