写点什么

敏捷与产品开发

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

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

关注

评论

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

分布式系统技术:存储之数据库

奈学教育

分布式

关于Synchronized锁升级,你该了解这些

学习Java的小姐姐

并发编程 synchronized 轻量级锁 偏向锁 重量级锁

存储让“想象”势不可挡

焱融科技

面试官为什么喜欢拿 Kafka 考验求职者

奈学教育

kafka

C#和TS的范型实例化

猫定谔的靴

C# typescript 泛型

前端开发必备工具箱

LeanCloud

CSS 性能优化 vscode 大前端 工具

createRef、useRef、useMemo对比分析和应用场景

费马

React Hooks useRef useMemo createRef

cpu分析利器 — async-profiler

捉虫大师

Java cpu profiler

Dubbo Cluster集群那点你不知道的事。

why技术

源码 面试 dubbo 集群容错

实时更新:计算机编程语言排行榜—TIOBE世界编程语言排行榜(2020年6月份最新版)

ATGU:阿宝哥

Elasticsearch-Base

子路无倦

elasticsearch search 搜索

如何辨别有发展潜力的员工​

Neco.W

工作 招聘

Java技术奇迹

ATGU:阿宝哥

ARTS-Week 01

chasel

LeetCode 1339. Maximum Product of Splitted Binary Tree

隔壁小王

算法

《Oracle Java SE编程自学与面试指南》最佳学习路线图(2020最新版)

ATGU:阿宝哥

《龙教授私享会职场沟通心法》最佳学习路线(2020最新版)

ATGU:阿宝哥

读《平凡的世界》

YoungZY

读书

ARTS打卡-02

Geek_yansheng25

持续集成实践系列 」Jenkins 构建 CI 自动化流水线常见技巧 (二)

狂师

持续集成 jenkins jenkins-plugin CI/CD

PlantUML 的介绍和使用

Puran

UML PlantUML

厉害了,SpaceX-API 开源了

非著名程序员

GitHub 开源 程序员

程序员未来会成为非常内卷的职业?

非著名程序员

程序员 程序人生 职业 职业规划

为什么你在群里的提的技术问题没人回答?

古时的风筝

程序员 提问的艺术

27岁了,程序员写给自己的一封信

学习Java的小姐姐

程序员 生活 总结 程序媛 职场回顾

从技术思维角度聊一聊『程序员』摆地摊的正确姿势

牧码哥

随笔杂谈 技术人生 经验分享

9种 分布式ID生成方案,我替你整理好了

程序员小富

Java MySQL 分布式

2020年5月北京BGP机房网络质量评测报告

博睿数据

网络 服务器 存储 机房 主机

大话设计模式 | 1 简单工厂模式

Puran

C# 设计模式 PlantUML

硬不硬你说了算!近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题

小林coding

面试 TCP 网络安全 网络编程 计算机网络

从SDL到DevSecOps:始终贯穿开发生命周期的安全

Fooying

DevOps SDL DevSecOps 安全开发 软件开发生命周期

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