写点什么

专访精益软件开发大师 Mary Poppendieck

  • 2010-09-19
  • 本文字数:1464 字

    阅读完需:约 5 分钟

Mary Poppendieck 和 Tom Poppendieck 是全球精益研究先驱。今年 10 月份,他们第一次来到北京参加由 ThoughtWorks 主办的敏捷中国大会2010 ,和大家分享业务驱动的敏捷实施。InfoQ 借此机会对Mary 就精益相关的话题进行了邮件采访。

InfoQ:精益和敏捷这两个术语经常会被结合使用,您也将在 2010 年敏捷中国大会上做关于精益的演讲。能不能简单告诉我们敏捷和精益之间的共同点和不同点呢?

Mary:“敏捷”这一词通常针对软件开发流程,而“精益”针对整个开发体系,包括软件和客户需要的其他元素。精益思想把软件视为整个开发体系的一部分,关注优化整体客户体验。

InfoQ:在实施敏捷和精益的过程中,我们会发现他们都很难实施。它们不仅与我们熟悉的做事方式完全相反,有些时候它们甚至是违反直觉的。能不能告诉我们为什么会这么难?

Mary:曾经有段时间,人们认为有效的软件开发是从需求开始,到需求被满足而结束的。达到高质量软件的方法是经过分析、设计、编码、测试、集成和系统验证这一系列步骤。但是这种方法只能在提前预知需求,而且需求在开发过程中不会改变的情况下才会奏效。而在当前大部分软件开发过程中,两者均不能被保证。因此,我们需要从一个新的角度来看待开发流程,精益和敏捷思想者提出的方法是增量式软件开发,对每个增量获取反馈,因此系统随着环境的增长而增长,随着环境的改变而改变。

InfoQ:这艰难改变的背后一定有着巨大的利益。能不能告诉我们一个现实中实施获益的例子?

Mary:IBM 从 2007 年开始在其软件品牌中实施了敏捷开发。到 2009 年,他们已经从产品发布中看到了早期受益,更多的收入,更高的质量,不仅客户更加满意,IBM 的开发人员也更加满意。

InfoQ:根据我的理解,管理者在精益实施中起了重要的作用,需要理解实施的困难以及实施的益处。对传统的大公司来说,你认为管理层最先需要改变的是什么?

Mary:这是一个很难的问题,因为这根据公司的不同而不同。比如,开发嵌入式系统所面临的挑战和大型交易处理系统的挑战是很不相同的。虽然都很具挑战性,但是管理问题可能大不相同。我认为管理团队应该从认同组织的根本目标开始,关注在阻碍他们达到目标的关键问题上。这也许意味着关注软件中的质量,或许意味着在组织中创建“流”,又或许意味着关注团队领导的领导力的培训。

InfoQ:那开发人员又该如何?精益中的一个原则是“尊重人”,每个个体都在精益公司中起着重要作用。个人需要改变什么?

Mary:这同样依赖于公司。我们一起工作的一些公司有很深的尊重个体的文化和团队合作的氛围,而在一些其他公司却不是这样。显示尊重的方法有很多,一种方法是提供一个环境,在这个环境中,每个人都可以成功,都可以充分发挥潜能,并且为他们的工作方式和制造的产品而骄傲。

InfoQ:怎样的环境才是一个好的支持环境?

Mary:评估环境的一种方法是与开源环境作比较,在那种环境下,开发者在没有报酬的情况下工作。理解尊重的一种方法是把员工看待成志愿工作者。

InfoQ:您认为向敏捷和精益的转型需要多久?

Mary:采用敏捷工具可能很快,看到结果也相对较快,在几个月的长度。然而,新的工具箱并不能改变底层文化。精益是一个旅程,它可能会有迅速的成果,但是完全实现它的潜能需要组织很多年的持续改进。

InfoQ:对那些想要改变的人有什么建议?对那些已经尝试改变却未见到结果的人又有什么建议?

Mary:如果你已经开始改变但还没有见到成效,那你应该问自己你为什么要试图改变?你期望的结果是什么?你期望如何实现它们?你有没有让进程可见?除非你有一个基准可以度量比较改变后的结果,你不会知道改变是否已经使事情变得更好。

2010-09-19 03:391636
用户头像

发布了 24 篇内容, 共 52437 次阅读, 收获喜欢 0 次。

关注

评论

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

从React源码角度看useCallback,useMemo,useContext

goClient1992

React

融云 x 易车:携手八载,打造高效连接用户的汽车服务平台

融云 RongCloud

「BY林子」网站资源下载

BY林子

如何实现OpenHarmony的OTA升级

OpenHarmony开发者

OpenHarmony

湖仓一体电商项目(十九):业务实现之编写写入DWS层业务代码

Lansonli

数据湖 湖仓一体电商项目

用javascript分类刷leetcode16.set&map(图文视频讲解)

js2030code

JavaScript LeetCode

谈谈我对于关键思考的理解

阿里巴巴中间件

阿里云 关键

一文搞懂Redis

京东科技开发者

redis hash Zset Redis 协议 企业号 2 月 PK 榜

让远程成为本地,微服务后端开发的福音

北京好雨科技有限公司

Kubernetes 微服务 云原生 企业号 2 月 PK 榜

从React源码来学hooks是不是更香呢

goClient1992

React

Verilog HDL函数与任务的使用

timerring

FPGA

react源码分析:组件的创建和更新

flyzz177

React

react源码分析:深度理解React.Context

flyzz177

React

前端刷完这12道滑动窗口,就可以出山面试了

js2030code

JavaScript LeetCode

什么是WMS系统?

SAP虾客

wms

使用 NineData 快速构建企业容灾备份

NineData

数据库 数据管理工具 数据备份 运维开发 企业容灾

文盘Rust -- rust 连接云上数仓 starwift

京东科技开发者

rust Clickhouse 语言 rust语言 企业号 2 月 PK 榜

ChatGPT背后的经济账

OneFlow

人工智能 深度学习 大模型

一口气讲完了Redis常用的数据结构及应用场景

小小怪下士

Java redis 程序员

必备技巧,PCB设计布局的4项注意(基础篇)

华秋PCB

PCB 布局 PCB设计 布线

2023年国家级重大人才工程引进申报

科兴未来News

创新创业 江苏工博会 博士后 #人才政策# 启明计划

前端工程师leetcode算法面试必备-二分搜索算法(上)

js2030code

JavaScript LeetCode

lua中实现判断是否为局域网IP

ModStart

带你实现react源码的核心功能

goClient1992

React

react源码分析:实现react时间分片

flyzz177

React

百度工程师带你了解Module Federation

百度Geek说

JavaScript 微前端 企业号 2 月 PK 榜

融云「聊天室属性」: 语聊房、直播间有序运行和丝滑体验的绝技

融云 RongCloud

一个简单的案例入门 gRPC

江南一点雨

gRPC

开源即时通讯IM框架 MobileIMSDK v6.3 发布

JackJiang

网络编程 即时通讯IM

专访精益软件开发大师Mary Poppendieck_研发效能_鲍央舟_InfoQ精选文章