【QCon】精华内容上线92%,全面覆盖“人工智能+”的典型案例!>>> 了解详情
写点什么

12 月 27 日 QClub 深圳活动要点速报

  • 2008-12-29
  • 本文字数:2635 字

    阅读完需:约 9 分钟

2008 年 12 月 27 日在深圳举办的活动是 QClub 第一次走进华南地区,50 多位同行聚集在华为互联网业务部漂亮的新办公区里,与王速瑜和周代兵两位嘉宾一起分享腾讯公司在开发互联网产品过程中的经验和体会,以及华为软件公司的敏捷之路。

腾讯公司在开发互联网产品过程中的经验和体会

主讲是腾讯公司的 R&D 研发总监王速瑜。腾讯的互联网产品要求新求快,需求不确定的程度很高,必须快速适应变化。


用 QQ 漫画形式推介敏捷

在腾讯敏捷产品开发流程 TAPD(Tencent Agile Product Development)中,结合了类似 FDD 的做法,由产品经理归纳的特性去驱动开发,过程上借鉴 Scrum,具体实践借鉴 XP。迭代计划会议强调所有人员都参与,包括 UI、QA 等等部门,共同探讨各种困难,评估工作量。每开发完一个需求,都要根据用户调研、会员测试等途径得到的数据做回顾。互联网应用用户基数大、产品分发容易,而且他们可以很容易地根据后台数据分析用户行为,以之判断新特性是否成功。利用以上特点,他们通过逐步增加新特性的用户量、多个版本交叉升级的“灰度发布”方式,做到早发布、常发布。

通过明星产品 QQMail 的实践,观察到团队成员的心情在逐步向好,同时用户量也有 10 倍以上的增长,这些效果坚定了他们继续推行的信心。

腾讯很重视工具建设,比如有内部门户帮助团队间的交流研讨,有类似 Mingle 的迭代计划工具等等。王速瑜还提到一个“团队股市”的有趣应用,可以反映出团队的敏捷能力上升情况,帮助衡量团队能力,也起到激励的作用。

实践中也遇到一些困难。比如站立会议对于二三十人的较大团队负担较大,时间长了之后变得形式化和呆板。为此他们采取了轮流主持等方式加强参与感和增加刺激,但结果还不能令人满意。有的团队改用虚拟方式增进效率,也更适合分布式团队。

结对编程的推行也不太成功。开始的时候效果很好,因为看到质量提高,团队成员也愿意去做,但逐渐由于项目压力大而放弃。

其他困难还有每年上千毕业生要融入团队,大型产品 QQ 客户端发布周期长达半年以上,诸多问题尚在探索之中。

华为软件公司的敏捷之路

第二位分享的是周代兵,华为软件公司软件工程部经理。华为的转变经历了很长的过程。首先是引入 IPD(Integrated Product Development)改变了游击队做法,成功将企业从自行摸索的技术导向转变为市场导向。接着引入 CMM(I),大大提高产品质量。IPD+CMM 形成的项目管理、质量保证体系确保了企业的正常运作。

然而, 在华为的传统做法中,过于偏重对过程的控制,忽视了人与工具的因素。流程控制使得产品质量可控,进度有保证,管理层亦较容易了解进度。但软件开发不同于生产线上的重复劳动,是创造性的工作。严守流程能完成任务,但其成效是未知的。片面追求运作规范,结果是完美的报告的背后,可能是质量完全不相称的交付物。

华为还引入了 RUP,尝试用迭代去解决瀑布方法交付周期长的问题,但发现 RUP 虽然全面、完善,但并不能切合需要。于是 Scrum 和 XP 进入了他们的视野。


复习了一遍 Scrum 和 XP

在实施中,他们利用精益思维去发现需要改进的地方,有选择地采纳一些 XP 实践,并以 Scrum 去补足 XP 在管理上的弱点。举例来说,他们用结对去代码复审和沟通的问题;用 TDD 去“做刚好够用的事情”,避免在无用的产品功能上浪费资源(曾有产品高达 50% 的功能无用);用看板和 ScrumWorks 等软件工具去维持项目进度的可视化;整合原先按照开发、测试等阶段划分的团队,消除“停工等活”的浪费。

在转变的过程中,他们并非全盘放弃传统做法,而是将 IPD 移到上层用在决定投资决策方面。然后用敏捷团队逐渐代替 CMM 团队。团队被赋予对自身采用何种方式的选择权,运作良好的项目可以继续下去。同时他们观察到以前所谓的“烂项目”会主动选择变化,正说明这些项目不适合瀑布方法。

他们也认识到改变需要很长的时间,从关注过程到对人的关注牵涉到文化的转变,而习惯根深蒂固,利益不同更是会产生以邻为壑的做法。为此他们用“一体化团队”去打破部门之间由于利益不同造成的 “部门墙”,将交付成功与所有人的利益关联起来;帮助成员做角色的转变,比如将过去充当警察角色的 QA 变成教练和 Scrum Master 的角色;重新设计办公室布局以促进交流。

周代兵将华为的敏捷之路形容为“一夜的引入,长时间的改变”,他们还在“Moving”之中。

Q&A

以下是部分 Q&A(根据编辑笔记整理要点,非原话):

  • Q:开发与测试如何配合分工?
    王:测试不是某一部分人的责任,也不是到后期才做,从迭代计划就已经提出目标。需要平台工具才能保证。

  • Q:FDD 如何实现对程序员的质量约束,TDD 放在什么位置?
    王:FDD、TDD 使用到不同阶段。FDD 的目的在于让成员关注产品目标,鼓励成员提出想法。没有做 FDD 的建模部分,更接近于产品 Backlog。Web 产品对建模的要求低,因为很容易得到用户反馈,第二天就可以发布新版本给一部分用户。TDD 处理编码部分的问题。有了持续集成之后,才将所有实践贯穿起来。

  • Q:结对的目的?
    王:把培训放到结对中,还有代码复审的作用。

  • Q:是否轻文档、重代码?
    王:不是没有文档,关键文档仍然是必须的要求。但文档写到什么程度,团队成员达成一致意见即可。团队之间交换成员,把人员放到不同项目中去,也有助于发现哪些文档是沟通中不可缺少的。

  • Q:推行敏捷是否“一把手工程”,如何使领导觉得敏捷是成功之路?
    周:绝对是,没有管理层的认可不可行。推动者有教育管理层的任务,可以借助外力推广理念,可以用标杆项目增加说服力。不打旗号地去传播经验。

  • Q:绩效考核如何适应敏捷方法?
    周:华为过去非常重视可度量化,现在也仍然如此。曾经根据很细致的数据去做度量,但发现过程性的东西对产出的结果没有太大关系。因此现在改为关注结果,只用很少、很粗的数据去量化。由于传统的惯性还需要做很多说服工作才能扭转。

  • Q:测试人员的绩效如何衡量?
    周:过去用测试发现的问题量去衡量;现在用客户反馈的问题量去衡量绩效。

  • Q:计划时如何确定功能点数量?
    周:先确定迭代周期,一般为 2~4 周,根据在此期间能完成多少来确定。开始的时候不熟悉会少一些,后期可多一些。

  • Q:生产力提高多少?
    周:差不多。但明显改变交付能力,客户满意度增加。不同团队的生产力数据离散度增加了,可能与团队能力参差有关,还有待研究。

  • Q:实在多次迭代之后重构,还是每次都重构?
    周:重构有不同的维度。小范围的重构,个人编程的时候就会频繁进行。在增加许多功能之后可能发现架构上不适应,需要做大层面的重构。


分组讨论


谢谢大家

PPT 和现场视频正在制作之中,还要晚一些才能呈现给各位热心读者。

2008-12-29 20:211164
用户头像

发布了 225 篇内容, 共 60.5 次阅读, 收获喜欢 49 次。

关注

评论

发布
暂无评论
发现更多内容

祝贺!Databend Cloud 入驻 AWS 云市场

Databend

腾讯云TDSQL- C Serverless 2.0版发布,多项核心技术首次公开解析

Geek_2d6073

OmniPlan Pro 4 for Mac(项目流程管理工具) 4.5.5激活版

mac

项目管理软件 苹果mac Windows软件 OmniPlan Pro

和鲸科技入选创业邦“2023值得关注的125家AIGC企业”榜单,创新实力再获认可

ModelWhale

数据科学 大模型 AIGC

AI 时代的向量数据库、关系型数据库与 Serverless 技术丨TiDB Hackathon 2023 随想

PingCAP

数据库 Serverless TiDB

关于假冒我司关联公司进行欺诈活动的严正声明!

力软低代码开发平台

Boot Camp分区备份还原 Winclone pro 10激活安装包

mac大玩家j

Mac软件 迁移助手

海外运营视频直播App,服务器放在哪?

山东布谷科技胡月

语音聊天APP源码 国际版语音直播APP 交友软件开发 海外直播App开发 直播交友源码

低代码是程序员“玩”出来的

这我可不懂

低代码 应用开发 造轮子

利用观测云实现业务数据驱动的弹性扩缩容

观测云

微服务 监控告警 自定义编程

新华社《中国扫描十年发展图鉴》:扫描全能王为3亿用户带去“掌心里的便利”

合合技术团队

人工智能 合合信息 扫描全能王 新华社

火热的低代码,是时候系统的来学一学了!

互联网工科生

低代码 应用开发 数字化工具

性能最佳实践

FunTester

高性能存储 SIG 月度动态:erofs 新增支持多个重要特性,持续构建容器场景竞争力

OpenAnolis小助手

开源 容器 高性能存储 龙蜥社区 sig

私有化部署即时通讯平台,完美替代飞书和钉钉的SaaS系统

WorkPlus

爬虫系统的核心:如何创建高质量的HTML文件?

SoFlu软件机器人

和鲸支持!2023 中国高校计算机大赛大数据挑战赛圆满收官

ModelWhale

大数据 清华大学 高等教育 数据科学竞赛 计算机大赛

低代码平台:程序员的应用开发好帮手

高端章鱼哥

低代码 应用开发 企业级应用 JNPF

使用Blender 在影片剪辑上创建粘滞标签

3D建模设计

blender

教师节丨校企合作重磅福利,数据科学校内赛与数据科学数据科学教学实训工作坊免费申办

ModelWhale

数据科学 教学 教师节 高等教育 数据科学竞赛

八种十倍提升API性能的方式

树上有只程序猿

数据库 服务器 API 接口

WorkPlus打造统一用户管理平台,实现企业用户管理的一体化

WorkPlus

【压力测试指南】没有任何文档,小白也可以做的压力测试

优测云服务平台

性能测试 接口测试 压力测试 测试技术干货

Claris FileMaker Pro for mac(数据库软件) 20.1.2.204 中文激活版

mac

数据库软件 苹果mac Windows软件 Claris FileMaker Pro

WorkPlus Meet白板和文档共享功能上线,私有化视频会议全新升级

WorkPlus

业务喜报丨九科信息成功签约四川中烟工业有限责任公司成都卷烟厂RPA项目

九科Ninetech

RPA RPAxAI

无障碍测试解读

QE_LAB

无障碍 测试技术干货 测试技术

12月27日QClub深圳活动要点速报_研发效能_郭晓刚_InfoQ精选文章