早期的项目,为了能提高效率,项目经理希望每个角色都能全力以赴的提升自己的效率,于是自己承担起来大量沟通和推进的工作,那个时候的都在被PM推着走,一旦PM休假,项目基本没有什么产出,当时去了以后,发现问题很严重,团队的主动性必须被调动起来才行。项目经理博客
自运转团队,是将需求开发过程详细划分成开发的各环节,并明确每个环节的负责人,由该负责人来驱动上下游的负责人,而不再由项目经理来连接各个环节,再配合上高效的项目协助工具平台,实现开发过程自运转。这时项目经理则由指挥者变成服务者,观察环节之间产生的瓶颈,并及时采取措施扫除障碍。
四、腾讯是如何进行敏捷开发的?项目管理者联盟
1、用户研究项目管理论坛
如何加强用户的参与度,这是一种成本比较低的用户研究方法。通过抓取一些用户数据做分析,分析用户在这个产品上整个体验的过程是怎样的,通过后台的数据可以看到整个活动的曲线,同时CE也可以通过一些科学的手段去保证,包括市场调研、用户研究、数据挖掘、产品体会等,这就是通过一些对用户反馈、用户观察的工具去配合去对用户做研究。比如QQ拍拍的一个用户的研究,我们可以到现场去做的一个调研,经常会由产品经理和用户研究人员到用户的实际办公地点进行调研,做一天的反馈,通过观察用户一天是如何使用你的产品,配合一些相关的工具去科学的分析。因为互联网是非常强调同用户的这种反馈的,腾讯有自己内部的一个CE反馈平台,在这个平台上可以收集到所有用户的反馈,产品经理可以每天都会看到他所负责的产品有哪些反馈,包括内部的、外部的,然后他就可以根据这些反馈对产品进行一些快速的调整,包括开发一些什么样的产品特性,内部同事也可以踊跃的在平台上反馈,内部同事本身就是QQ用户。
2、故事卡片/故事墙/特征列表项目管理者联盟
StoryCard是XP中推荐的需求定义方法,要求符合Invest和Moscow原则;故事墙则用于跟踪故事卡片的
变化状态,而特征列表是Tencent一直沿用的需求表达形式,在腾讯的TAPD工具中已经实现了类似ThoughtWorks
的Mingle的故事卡片管理功能,对于需求跟踪而言这是不错的方法,一目了然。项目经理博客
3、结对编程转自项目管理者联盟
理论上结对编程可以提高代码的质量,而且并不会降低开发效率,但腾讯的业务繁忙,资源上不允许两人结对。但是在一些团队里面还是一直在尝试着做结对编程的工作。一个在编写程序,旁边还有一个人,同时记录编写过程、编写思路、碰到的问题、自己的想法,编写完以后一段时间他们会交换一下,就是互相交换着进行编程,这是一个结对编程的一个过程。项目管理者联盟
4、测试驱动项目管理者联盟
“测试驱动开发”在腾讯执行地并不太好,腾讯的产品以Web形式居多、业务逻辑相对简单,C++下的单元测试有些力不从心。相反自动化测试在腾讯比较盛行,因为有测试部门专门的自动化测试Team在推动,而且链接的是正式生产环境,可以即时反映产品当前的状态。项目管理者联盟
5、持续集成club.mypm.net
持续集成可以降低发布前集成阶段的难度与成本,腾讯的自动化构建系统推行的比较早,覆盖了大多数产品,而且正在朝自动化构建-自动化测试-自动化发布三者协同的目标迈进。作为加快产品的发布的能力,持续集成在以下几个方面作用明显。项目管理者联盟
自动编译输出报告,维护代码可运行,及时暴露风险,降低集成成本。项目管理者联盟
Dailybuild日构建系统,让产品经理、测试人员可以尽早进行体验和测试。项目管理者联盟
作为一个自动化系统,利用静态代码检查、单元测试报告等手段为团队提供报告,促进编码质量不断得到重视,降低缺陷解决成本、缩短解决时间。项目管理者联盟
6、灰度发布项目管理者联盟
灰度发布是腾讯的又一创新,它将产品试用扩大到海量用户一端,在小范围及时吸取用户反馈,分析用户行为和喜好,持续修正自己产品的功能体验。在互联网行业,灰度发布已经成为最重要的发布控制手段。有时我们希望通过向小部分用户开发新功能,让他们先来体验新功能、新特性。通过用户反馈、数据运营的手段及早获得反馈,及时改进。以此方式,既可以降低发布风险,也可以提升发布频率,加快发布节奏。项目管理者联盟
简单说就是,将一项业务不是一下发布给所有用户,而是分批分期的发布,目的有两个方面,一是减轻服务器压力,二是期间可以在小范围收集到用户的反馈,如果业务出现问题,不会让大范围用户受到影响。随着经验的累计,我们有了许多种灰度策略和方法,灰度也有了更多的应用,甚至引入到了测试环境,即选择一些热心用户,将功能首先发布给他们,通过他们的使用,来帮助进行一些现网测试,这使得一些难于模拟的测试场景变得简单,测试人员的压力大大降低;更重要的用户是最好的测试人员,测试结果更加真实;同时他们也享受到了优先体验的特权,可谓一举三得。发布的时候也有策略,比如发布时如何放量,对用户有些什么样的实验,技术上怎样做一些后台开关,运营上怎样跟进,怎样保证4小时人员的留守,发布完后怎样收集用户反馈等等都会有一些统一的规则。项目管理者联盟
7、发布汽车项目管理者联盟
过于频繁的发布会打破团队节奏,有效的发布管理是必不可少的,根据业务特点,我们通常会采用三种发布模式,我们管它叫“发布汽车”。项目经理圈子
班车模式:像班车一样,固定周期进行,比如每两周发布一次,这周比较适合特性规划比较好的产品,比如QQ客户端基本每个月都会发布一个版本。项目管理者联盟
的士模式:与QQ客户端不同,QQServer作为一个平台,它的需求来源非常多,因此它采用多线并行的方式,根据需求来源分成十多个子项目,根据每个子项目如果想要发布,就像打的一样随叫随发布。他的好处是快,但是协调发布的成本是比较高的,比作班车花钱要多。项目管理者联盟
警车模式:顾名思义可以不按法规来开车,因此对于一下特别紧急的需求或运营事件,必须采用警车这种模式,紧急发布,但这样做成本更高,会把交通秩序搞乱,开发节奏打破。项目管理者联盟
8、重构bbs.mypm.net
|