7/10/2009

Agile Project Practices for Internet Product

《程序员》杂志2009年05期中最有价值的文章,当属腾讯R&D总监王速瑜所著“互联网敏捷开发实践之路”一文。下面是一些总结和体会:

Part I - 互联网产品的特点

1. 高度不确定性 - 用户众多,分布广泛,差异巨大,很难一开始就确定产品功能
2. 采用探索性、适应性、迭代性的设计开发理念,不断交付功能、不断获得反馈、不断调整改进
3. 发布成本低,获得用户反馈比较快
4. 需要依靠应用去推动用户行为,产品设计需要发掘人们潜在的需求,创新非常重要

Part II - 互联网产品敏捷开发实践

一 提升士气
1. 核心成员要表现出对项目的真诚热爱
2. 从用户和市场那里寻找正面反馈,让团队成员获得成就感
3. 容忍错误,鼓励成员敢于尝试,从错误中学习成长
4. 提供平等、开放的沟通环境,减少沟通障碍
5. 模糊职责,培养主人翁感觉:任何成员都可以发表意见、作出贡献,以群策群力的方式发挥集体智慧
6. 获得领导和其它员工的关注与支持,使得团队得到激励(Ship Party, Monkey, Team Activity)

二 提高团队透明度(Everyone should know - Where Are We?)
1. User Story Wall - Know The User Scenario
2. Burn Down Chart - Aware the whole progress of the project
3. Retrospect - Identify what and how to improve

三 不断迭代
核心思想:快速反馈调整 - 尽快动手、简单设计、快速可交付、收集用户反馈、不断改进
1. Define Iteration/Milestone
2. 短期计划应该详细,长远计划则可以粗略

四 Small Release
核心思想:逐步从小范围到大范围地发布
1. 质量控制:范围从小达到很好地控制了缺陷影响的范围,把用户试用当作测试
2. 营销手段:激发人们的好奇心,有利于产品的推广
3. 现场客户:快速客户反馈收集渠道

五 User Study
1. 直接观察法,去客户所在的真实环境观察记录
2. 案例研究法,适合于改造现有产品
3. 调查问卷发,列举关注的问题,进行问卷调查
4. 人物角色法,设定典型客户特点,分析其关注点,思维模式
5. 焦点小组法,针对某些特定问题进行小组讨论 (制定目标很重要)

Part III - 小结

团队管理理念:以人为本,自我管理,自我激励,持续改进。
项目实施原则:小步快跑,简单设计,拥抱变化,持续集成。

No comments: