Mary Poppendieck
【Csdn.net 9月27专访专稿】由ThoughtWorks主办,CSDN承办,InfoQ提供票务支持的第五届敏捷软件开发大会“敏捷中国2010”将于10月14-15日在北京新世纪日航酒店举行。会议正式举办前夕,CSDN记者邮件采访了全球精益软件思想与方法的先驱和领袖Mary Poppendieck,她就精益编程思想话题分享了自己的见解。
记者:您能简单地向我们中国的读者介绍下您自己吗?
Mary Poppendieck:我刚开始工作时,是一名流程控制程序员,先后为贝尔电话实验室、通用汽车和3M工作。在3M,我成为了一名制造工厂的系统经理,执行准时制生产方式。最后,我成为了一名产品开发经理,一位产品牵头人,领导几个新产品的商业化。在过去十年,我不断学习,撰写并传授关于精益软件开发的理念和实践。
记者:敏捷宣言已经诞生近10年了。您能回忆下与敏捷宣言的初次接触吗?您认为敏捷宣言的发展对软件开发的意义何在?
Mary Poppendieck:我在一个会议上结识了Martin Fowler, 他推荐我写一篇文章,谈谈我对在软件开发中使用精益原则的看法。这篇文章,精益编程,在敏捷宣言推出之后三个月发表,不过当时我还没听说过敏捷宣言。几个月后,我接触了敏捷宣言,我认为它实际上支持了精益编程这篇文章。
敏捷宣言在统一的一个名称下集中了多个类似的理念,提出了一系列原则和实践。并且帮助培养了一个共同的,优秀的,关于在企业软件、网络开发和软件产品的观点。它在嵌入式软件环境中的影响力没有那么大,可能因为它注重的是软件,而非系统。
记者:精益软件开发是怎样形成的?中国的许多开发人员不是很了解精益思想,您能简要介绍下吗?精益思想,XP和Scrum之间的主要区别是什么?
Mary Poppendieck:精益思想是从客户的角度来看这个世界。目标就是,了解客户的价值观,然后充分利用聪明的,具有创造力的员工的时间和精力,以较少的努力提供更多的价值。你要做的就是,尽量不要做那些不能增加价值的事情。Scrum是一套项目管理的试验和反馈的经验性方法。XP是一套可以帮助你在小型范围内安全开发软件,让试验性的方法成为现实。精益是一套原则,帮助你思考端到端流程,思考如何提供客户价值,并且了解如何利用XP和Scrum的经验,以提供更全面的价值。
产品开发中最重要的元素就是,了解客户关注的是什么。而了解的最佳途径,就是不断地试验和获取反馈信息。
记者:精益方法有何局限性?或者说有哪些个例不合适?
Mary Poppendieck:精益不是一种方法,而是思索如何管理工作的方法的一种方式。其原则就是:注重客户价值,构建质量,以稳定的流程工作,尊重人,优化整个系统。
我相信,这些原则通常都是适应的,但是它们具体适用的方式由具体的使用环境决定。
记者:自敏捷宣言诞生近十年来,您觉得什么事件可以称之为敏捷开发的里程碑事件?
Mary Poppendieck:里程碑1:敏捷软件开发从一个小小的革命性概念成为了一个软件产品和服务中的主流概念。
里程碑2: 软件Kanban是管理软件工作流的一个选择。
记者:作为一名多产的作者,您是否规划了自己的下一本书呢?
Mary Poppendieck:似乎,每过三年我们都会出一本书,因为我们有些内容要谈。现在,我们正在与世界各地工作室的人员交谈,了解他们的想法,或者再过一两年,我们会有更多内容要写。不过现在,我们还是处于了解人们想法的阶段。
记者:您在“敏捷中国2010”中想要分享的内容是什么?请简要谈谈您的话题?
Mary Poppendieck:就在伦敦希思罗机场五号航站楼投入运营后第二天,北京的三号航站楼启用了。北京的航站楼是伦敦五号航站楼的三倍之大,花费的时间和费用却只有一半。截止本周末,伦敦的航站楼还是一片混乱之中,因为当时没有考虑到行李处理系统和人的关系。而北京机场的行李处理系统——是世界上最为先进的系统之一——运行得几近完美。因为在中国,机场是作为社会技术系统来管理得,而人的系统与技术系统得到了很好的平衡。
我会谈谈软件开发的成功案例,并且会说明,应该把软件开发视为一个社会技术系统。当人和技术处于平衡之中,就可以获得最棒的结果。我还会谈谈我们从而如何有效进行改变,并且让这些改变更为持久。
记者:您如何看精益开发的未来?
Mary Poppendieck:精益的原则就是无时,但是实际上,我们随着时间而改变。技术的东西从来都不会过时,但是我们会不断构建更为出色的技术系统。管理实践随着时间而改善,获得跨文化的沟通,因为我们会不断开发新的,更好的方式融合这些社会技术系统。
现把英文采访原文附上,请作参考:
CSDN: Could you please give a brief introduction about yourself to our Chinese readers?
Mary Poppendieck: I started my career as a process control programmer, working for Bell Telephone Laboratories, General Motors, and finally 3M. At 3M I became a Systems Manager in a manufacturing plant and implemented Just-in-time flow. Eventually I became a product development manager and finally a Product Champion, leading the commercialization of several new products. For the last decade I have been learning, writing and teaching about Lean Software Development.
CSDN: It has been nearly ten years since the birth of the Agile Manifesto, could you recall the scene of your initial contact to the manifesto? What influences do you think Agile development have on software development?
Mary Poppendieck: I became acquainted with Martin Fowler at a conference, and he recommended that I write an article on my idea of using lean principles in software development. The article, Lean Programming, was published three months after the Agile Manifesto, which I had not heard about at the time. Some months later I encountered the Manifesto, and thought it a nice complement to the Lean Programming article.
The Agile Manifesto crystalized a lot of similar thinking under a single name and set of principles and practices, and helped create a common view of a good approach to developing software in the enterprise software, web development, and software product worlds. It has not been as influential in embedded software environment, perhaps because it focuses only on software rather than systems.
CSDN: How did lean software development come into being? Since many developers in China do not have a clear picture of lean thinking, could you introduce it briefly? And what are the main differences among lean thinking, XP and Scrum?
Mary Poppendieck: Lean thinking is a way of viewing the world from a customer perspective. The objective is to understand what customers value, and then focus on doing things that deliver more value with less effort by leveraging the time and energy of bright, creative workers. The way you do that is by doing less of whatever does not add value.
The most important element of product development is learning what customers will value. Learning is best done through rapid cycles of experimentation and feedback. Scrum is a set of project management practices for experimentation and feedback. XP is a set of practices that make it possible to safely develop software in small increments, which makes the experimental approach practical. Lean is a set of principles that helps you think about the end-to-end process and how it provides customer value, and therefore to understand how to use the practices of XP and Scrum to provide more overall value.
CSDN: Does Lean Method have any limitation? Or any cases not suitable?
Mary Poppendieck: Lean is not a method, it is a way of thinking, a way of managing work. The principles are: focus on customer value, build quality in, do work in a steady flow, respect people, optimize the whole system. I believe that these principles are always suitable, but the way in which they are applied will differ from one context to another.
CSDN: In the decade from the birth of the Agile Manifesto, what events do you think can be characterized as milestone for agile development?
Mary Poppendieck: Milestone 1: Agile software development has gone from being a small, revolutionary idea to being a mainstream idea in software products and services.
Milestone 2: Software Kanban was developed as an alternative method to iterations for managing software workflow.
CSDN: As a prolific writer, have you already planned your next book?
Mary Poppendieck: It seems as if every three years we have written a book because we had something to write about. At the moment, we are learning from talking to people at workshops around the world, and perhaps in another year or two we will have more to write about; but right now we are in a learning stage.
CSDN: What will you share in "Agile China 2010"? Please describe the topics in your talk briefly?
Mary Poppendieck: Terminal 3 at the Beijing airport opened one day after Terminal 5 opened at Heathrow airport in London. The Beijing terminal is three times larger than the London terminal, cost half as much and took half as much time. And by the end of the week, the London terminal was in chaos because the interaction of the luggage handling system with the people was not considered and worked out in advance. The Beijing airport luggage handling system – one of the most advanced in the world – worked almost perfectly. This happened because in China, the airport was managed as a social-technical system, and thus the people systems were balanced with the technical systems.
I will talk about case studies of software development which works well, and show that this means viewing software development as a social-technical system. When both the people and the technology are in balance, the best results are achieved. I will also talk about how this can inform us as to how to change things effectively and how to make the change last.
CSDN: What's your prediction for the future of lean development?
Mary Poppendieck: The principles of lean are timeless, but the practices will change over time. The technical practices will never go out of style, but we will invent better ways of building technically excellent systems. The management practices will continue to change over time and across cultures as we invent new and better ways to integrate social-technical systems.
关于敏捷中国大会
敏捷中国大会是中国最大的敏捷爱好者社区。2006年,第一届敏捷中国大会在北京举办。作为主办方,ThoughtWorks正式携行业伙伴一起向中国IT界介绍和推广敏捷方法。至今,敏捷中国大会已连续成功举办四届。
相关链接:
2010第五届敏捷中国大会
专题:敏捷十年实践之路