AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

专访精益软件开发大师 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:391666
用户头像

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

关注

评论

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

架构作业3-外包学生管理系统架构文档

许四多

Vue组件入门(十三)作用域插槽

Augus

Vue 10月月更

eBPF深度探索: 高效DNS监控实现

俞凡

ebpf

运维进阶训练营-W01H

b1a2e1u1u

运维

Eclipse 2022 如何设置中文汉化 步骤绝对足够详细

Geek_yx5md7

eclipse 汉化教程

【JavaWeb】 Mybatis-01-Mybatis的简介:用对话的方式让你明白为什么要使用Mybatis

游坦之

10月月更

Spring Boot「12」自定义 starter

Samson

Java spring 学习笔记 spring-boot 10月月更

二叉树的详细实现(含递归展开图)

lovevivi

c 数据结构 10月月更

今年很难被薪资倒挂了!

小小怪下士

Java 程序员

离职交接,心态要好

程序人生 职场

Java线程池源码深度解析

JAVA旭阳

Java 线程池 10月月更

曾国藩正面与侧面2

dfuru

同情是对他人的不尊重

欧阳娜

Linux下安装Anaconda3,这个教程一定要看!

麦洛

Anaconda python 3.5+

直接插入排序算法,看这篇就够了

游坦之

算法 10月月更

极客时间 - 运维进阶训练营 - 第一周作业

dog_brother

Docker 镜像 linux namespace

docker 的 bridge,container网络模式

忙着长大#

,docker

“程”风破浪的开发者|HTML知识框架整理

默默的成长

Web3.0 “程”风破浪的开发者

“程”风破浪的开发者|我的数据结构和算法学习小技巧

Albert

学习方法 算法 LeetCode “程”风破浪的开发者

【一Go到底】第二十三天---字符串函数详解

指剑

Go golang 10月月更

Excel 文档的写入

芯动大师

Python Monad Excel数据分析 10月月更

栈和队列的实现

lovevivi

c 数据结构 10月月更

“程”风破浪的开发者|元宇宙就是游戏吗?元宇宙的核心价值是什么?

王中阳Go

学习 深度思考 程序员 元宇宙 “程”风破浪的开发者

两类常见场景下的云原生网关迁移实践

阿里巴巴云原生

阿里云 云原生网关

复盘:一次测试负责人岗位面试总结

老张

面试 质量保障 团队规划

“程”风破浪的开发者|我的学习方法

张立梵

学习方法 “程”风破浪的开发者

Java线程池submit阻塞获取结果实现原理

JAVA旭阳

Java 线程池 10月月更

ES6中数组做了哪些新扩展?

CoderBin

JavaScript 面试 前端 ES6 10月月更

“程”风破浪的开发者|我的Docker学习小妙招

学习方法 “程”风破浪的开发者

嵌入式 Linux 入门(三、Linux Shell 及常用命令说明)

矜辰所致

Linux Shell 10月月更 Shell命令

【愚公系列】2022年10月 Go教学课程 037-面向对象综合案例-微博

愚公搬代码

10月月更

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