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界介紹和推廣敏捷方法。至今,敏捷中國大會已連續成功舉辦四屆。
相關鏈接:
-- 學海無涯