QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

敏捷与产品开发

  • 2007-11-20
  • 本文字数:1712 字

    阅读完需:约 6 分钟

InfoQ 敏捷社区最近发布了一篇新闻《敏捷遭遇实效营销》 ,其中提到科技领域的产品管理方法论——实效营销 ,并指出实效营销“不但展现了敏捷方法的价值观和原则可以成功地应用在业务方面,而且更重要的是,某种意义上,它还试图说明,在什么情况下敏捷开发实践不 起作用。”虽然文中没有明确说明,不过我们可以从中得出结论:相对于定制项目来讲,敏捷方法论对于新产品的研发,并不能起到特别大的推动作用。

对于这个问题,王晓明(ThoughtWorks 业务分析师,拥有采用敏捷方法开发和管理大型政府和企业应用开发项目的丰富经验)在自己的一篇 blog 中,提到了为什么会这样的原因:

在项目开发与产品开发之间区别是:项目有明确的外部用户和客户目标,而产品则不是。敏捷在面对不明确的需求和需求提炼方面有明显 的优势。在实施敏捷时,我们不能容忍存在基于假设的、不确定的业务和需求分析。我们要知道用户与客户真正需要的东西,他们的基本需求是什么,他们希望拥有 什么或喜欢拥有什么。……相对项目而已,产品开发有两个主要的不同点。首先,对于产品来说,同时存在目标客户与潜在客户。即使是在理想状况下,假定我们可以与所有的目标客户 面对面接触(实际状况下,这基本上不可能发生),我们仍然不能得到他们的全部需求。……第二个原因是:从市场角度来讲,一个产品必须要很有创意。你可以想 象:一个没有新想法的产品没有顾客会购买的,除非有很大的价格优势。……

针对此问题,胡凯认为

……产品有产品的难点 。 - 需求:既然是产品,大多数的情况下是有很多同类产品不具备的功能,否则,很难在饱和的市场中分得一杯羹 (开拓市场更得需要一些新的思路和功能),这样产品中的很多功能是有前瞻性的­,用户也许并没有这样需求或者还没有意识到自己有这样的需求,BA 也许很难作出需求分析。

  • 简单:产品的命运很多时候再初一登陆市场的时候就确定了,用户试用了你的产品后如果印象不佳,也许以后都不会再使用你的任何产品。这样 使得产品很难使用发布 -­反馈 - 改进的方式,也是由于这样的原因很多产品会有开源的版本,希望依赖社区的力量在商业版本发布前尽可能多的获得反馈,设计出 用户需要的产品。
  • 改进 - 反馈:如果发现某些功能多余,或者进行大规模的调整的时候都必须特别的注意,因为在这个世界的某个角落,还有人使用你的产品 N 年前的版本,你的升级也许会让这些人无法工作,但是这些用户很可能不会再你所发布的若干个 RC 版本向你提出任何反馈,或许就在发布的庆功宴进行的同时, 很多愤怒的 EMail­出现在你公司的邮箱中。

不过,王晓明仍然认为敏捷还是适于软件产品开发的,不过要有选择地实施敏捷实践:

……极限编程、结对编程、scrum 和 TDD 都是好的实践,因为它们不依赖需求分析的结果。

最后,王晓明告诫大家:

要牢记在心,产品的灵魂核心在于创意和差异化。有时,我们必须抛弃循规蹈矩的做法,而且要冒很高的风险。这时一定要高度关注风险管理。

InfoQ 中文站在四个月之前有一篇熊节的原创新闻:《敏捷的核心:消除浪费,走向精益》。研发新产品时,如果强要在创意收集和设计阶段使用敏捷方法和实践,必然会造成浪费。那么我们这些“软件人”是不是就要脱离开产品设计阶段呢?李默根据自己在实际工作中的实践,在 “敏捷中国”Google 网上论坛讨论贴中开宗明义地指明:

敏捷过程中的 BA 角色应当更加多的参与甚至融入到 marketing 的团队中,从一开始的 Marketing segment 就开始。

熊节更是在自己的 blog 里面提出

有了敏捷方法,还要有一套全流程的产品设计方法支持,才可能做出好的产品。这就是我们要去学习和探索的方向。

归根结底,正像 alexgreenbar 在 Javaeye 一篇帖子中提到的,敏捷:

……不是对每种类型的软件开发都适合,它自有其适应的合适领域……

这无疑是正确的。不过究竟哪些领域不适合采用敏捷,在这些领域应该用什么技术来弥补敏捷的不足,请问您有何高见?


作者简介:郑柯,目前任职《程序员》杂志社高级编辑,有志于在中国的软件开发业界推广 Agile 的理念和方法论,笃信以人为本,关注 Ruby,关注敏捷,关注人。参与 InfoQ 中文站内容建设,请邮件至 china-editorial@infoq.com ,加入 InfoQ 中文站用户讨论组,请点击 ICUG,InfoQ China User Group

2007-11-20 18:563774
用户头像

发布了 479 篇内容, 共 161.3 次阅读, 收获喜欢 52 次。

关注

评论

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

CST如何进行局部网格剖分

思茂信息

cst cst使用教程 电磁仿真

HyperWorks二维网格划分及拓扑改进

智造软件

Hypermesh 网格划分 有限元

1024程序员节 | 华为与开发者共筑智能应用新生态

Geek_2d6073

探讨Java深搜算法的学习笔记

威哥爱编程

Java 算法 DFS

观测云:简化复杂的云账单,让企业轻松掌控云成本

观测云

云账单

TiDB br日志备份PermissionDenied

TiDB 社区干货传送门

实践案例 备份 & 恢复

TiDB Vector 本地部署体验

TiDB 社区干货传送门

8.x 实践 TiDB Cloud TiDB Vector

Llama 3.2 Vision & Molmo:多模态开源生态系统基础

Baihai IDP

程序员 AI Baihai IDP Llama 3.2 Vision Molmo

智慧停车系统(源码+文档+部署+讲解)

深圳亥时科技

TiDB 集群组件间开启 TLS(双向认证

TiDB 社区干货传送门

7.x 实践

知乎 PB 级数据:超大规模TiDB集群管控实践

TiDB 社区干货传送门

实践案例 集群管理 数据库架构设计 HTAP 场景实践

管理者应该具备的几点认知

老张

团队管理 技术管理 职场晋升

【论文速读】| APILOT:通过避开过时API陷阱,引导大语言模型生成安全代码

云起无垠

人工智能如何从神话走向科学的?

天津汇柏科技有限公司

人工智能 AI 人工智能

盘点国内3家主流的巡逻巡更系统

软件大师兄

用二维码展示信息,有哪些常见应用场景

草料二维码

鸿蒙网络编程系列42-仓颉版域名解析示例

长弓三石

DevEco Studio 开发实例 HarmonyOS NEXT 网络与连接

ChatGPT Search 上线 允许用户像使用搜索引擎一样完成即时搜索

吴脑的键客

ChatGPT Azure OpenAI

TiKV Raft Store 内存管理的原理与实现丨TiKV 源码解读(二十三)

TiDB 社区干货传送门

Java如何实现企业微信审批流程

威哥爱编程

Java 微信 企业微信开发

有哪些值得尝试的8款TODO清单工具?

爱吃小舅的鱼

TODO todo软件

软件测试学习笔记丨Flask框架-集成Swagger文档

测试人

软件测试

10分钟写一个tidb-ai机器人帮你解答tidb问题

TiDB 社区干货传送门

新版本/特性解读

TiDB数据库出现性能问题,如何利用数据库性能诊断工具DBdoctor一分钟诊断!

TiDB 社区干货传送门

性能调优 实践案例 管理与运维 安装 & 部署 应用适配

Merge-region 原理及常见问题

TiDB 社区干货传送门

故障排查/诊断

冲一下深信服,好像有点简单?

王中阳Go

Go 面试

WiFi 7: Redefining the Game of Industrial Connectivity

wallyslilly

WiFi7 ipq9574

Elasticsearch开源仓库404 7万多star一夜清零

吴脑的键客

数据库 搜索引擎

Emeritus硅谷AI深度研学之旅圆满落幕,探索AI前沿投资洞察!

科技汇

突破 RAG 局限,KAG 专业领域知识服务框架正式开源!

可信AI进展

Rust 在 Android 的编程实践——技术驱动的车云一体化解决方案探索

Greptime 格睿科技

android rust 时序数据库 车云

敏捷与产品开发_研发效能_郑柯_InfoQ精选文章