写点什么

敏捷与产品开发

  • 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:563717
用户头像

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

关注

评论

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

一张长图带你看懂物联网产业十数载“江湖风云”!

亚马逊云科技 (Amazon Web Services)

物联网

欧拉开发者大会即将开启,全球芯片、整机、软件厂商共建数字基础设施开源操作系统

科技热闻

Thinkphp6实现定时任务功能详解教程

CRMEB

OpenHarmony 3.1 Beta版本关键特性解析——OpenHarmony图形框架

OpenHarmony开发者

OpenHarmony 动画效果

web前端培训nginx配置规则

@零度

nginx 前端开发

48天打造你的专属 Twilio——浅谈运营商通信中台

网易云信

通信

基于Flink-CDC数据同步方案

领创集团Advance Intelligence Group

算法 java

云智慧10年资深架构师带你了解:普通程序员向架构师成长必经之路

云智慧AIOps社区

程序人生 架构师 Meetup 晋升 成长计划

java培训SpringBoot自动装配原理

@零度

JAVA开发 springboot

踩了个DNS解析的坑,但我还是没想通

捉虫大师

DNS 问题排查 4月月更

进阶篇|有了这招,用文本编辑器搞前端代码都能保证格式统一

Jianmu

运维 前端 自动化 工作流 格式化

Sitemap的重要性

源字节1号

软件开发 网站优化

STI生态迎来新进展,登录Gate.io意味着什么?

西柚子

腾讯二面:Linux操作系统里一个进程最多可以创建多少个线程?

Java全栈架构师

Linux 程序员 架构 面试 操作系统

虎符即将引入稳定币USN 并开启USN专场活动

区块链前沿News

虎符交易所 稳定币

用uniapp写一个内外循环的全选与反选,不会的赶紧围观

CRMEB

亚马逊云科技 loT 百亿连接力量

亚马逊云科技 (Amazon Web Services)

亚马逊云

解析分布式系统的缓存设计

vivo互联网技术

分布式 服务器 缓存服务

记一次CPU持续增长的问题解决

BUG侦探

Python py-spy CPU增长问题

【高并发】一文秒懂Happens-Before原则

冰河

并发编程 多线程 协程 异步编程 精通高并发系列

企业如何搭建一个有效的知识管理系统

小炮

企业知识管理 企业知识管理工具

大数据培训Hive如何控制map个数与性能调优参数

@零度

hive map 大数据开发

去中心化的 React Native 架构探索

Shopee技术团队

前端 去中心化 React Native

看板的作用是什么?任务看板如何跟进

阿里云云效

云计算 阿里云 持续交付 看板 项目协作

省掉80%配置时间,这款Mock神器免费又好用

Liam

前端 前端开发 Postman 前端教程 web前端开发

恒源云(Gpushare)_自动化训练小技巧白送给你,不要吗?

恒源云

OSS SSH hy-tmp

如何使用参数化查询提高Cypher查询的性能

华为云开发者联盟

参数化 Cypher查询 华为云图引擎 GES 参数化查询

Android技术分享| Android 中部分内存泄漏示例及解决方案

anyRTC开发者

音视频 内存 内存泄漏 移动开发 Andriod

如何优雅的记录操作日志

flyhero

Java Spring Boot 后端 造轮子 4月月更

从趋势到必选项,探讨企业数字化转型方式方法

华为云开发者联盟

数据 数字化 企业数字化转型 业务数字化

初创企业需要CRM系统的原因

低代码小观

初创公司 企业管理系统 CRM系统 客户关系管理系统 初创型企业

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