软件领域“精益生产”导航图
——《精益软件开发艺术》译者序
在现今,敏捷软件开发已经不是什么新鲜事物了——市面上已经有大量的书籍,网络上也有大量的页面,聚焦于此领域。如果有人还总把“敏捷”挂在嘴上喋喋不休,反倒可能会被认为是后知后觉,落伍久矣。
简而言之,“敏捷”在口头上的热度已经慢慢冷却,在概念层面上的新鲜劲已经过去。现在,是让嘴巴休息而让双手忙碌的时候了!
但是,“千江有水千江月”,究竟该如何有效实施“我的敏捷开发”呢?
“琳琅满目的敏捷方法中,哪个最适合我们团队?该选SCRUM还是极限编程(XP)呢?如果是XP,它包含有一大堆的实践,我们要把这些实践一次性全部导入吗?但是,如果我们是在维护一个已有产品,大量的代码没有自动化单元测试,该怎样进行“持续集成”呢?作为经理,又该如何说服老板获得他的支持呢?……”
一堆问题!
由于无法在这些问题上获得令人满意的答案,使得很多软件开发组织始终徘徊在“敏捷”的门口,不敢举足踏入;在没有深入思考和回答出这些问题前,就贸然地光凭一腔热情一头扎入,也正是很多软件组织实施“敏捷”失败的原因——仅模仿得“敏捷”之皮相,当然无法带来真正的实效。
知行合一,诚非易事!如果你有以上类似的困惑,如果你真诚期望团队能够更快更好地开发软件来创造真正的客户价值,但是感觉无从下手,那么,本书值得你拨冗一读。
本书将向你介绍一种可以以稳健的步伐逐步导入的“精益软件开发方法”。
它根源于“精益思想”这一通泛的哲理。“精益思想”涌现于日本的汽车制造业。丰田公司通过其独特的“丰田生产系统(Toyota Production System)”获得了巨大的成功,很快,日本汽车工业的高速发展对美国汽车工业带来了极大的威胁和挑战,麻省理工学院的研究小组对它进行调查研究后,挖掘出丰田的成功哲学,以“精益思想”名之。之后,“精益思想”在多个领域得到广泛深入的应用。
本书正是要向你提供一个在软件领域实施“精益生产”的导航图。依循本书指出的方向和路线,将可以通过实施持续的改善,释放出“精益思想”的强大力量。
到这里,你可能会问“精益软件开发和敏捷软件开发之间是什么关系?精益软件开发难道不是诸多敏捷开发方法学流派中的一支吗?”
J 请允许我笑而不答!
且回到古代的日本看看,在日本战国时期,有高超的剑士从禅僧那里获得启示而迈入“剑禅合一”之境的案例。在禅门中,有“守破离”之说,禅尚不立文字,虽如以指指月,且强为说之:首先以前人所定之规矩为准,以之作为第一阶段的修炼,是为“守”;经历这种修炼,取得不断进步而到达某种程度后,藉由自己的用功和机智等将之突破,是为第二阶段“如桶底脱”的“破”境;然而依然持续“勇猛精进”的进行修炼,技艺更趋精纯,于不知不觉中升离,但一切还是不失法、不逾矩,到达一个独立开拓的境地,这是第三阶段的“离”境。
守,破,离,Shu,Ha, Ri……“万里无云万里天”!
对于一本题涉“精益”的书,它的译序也应该言简意赅才好,我还是赶紧闭上嘴巴隐退到文字之后,让本书作者展示他们关于软件开发的智慧吧!
【勘误和反馈】
虽然我们力求准确传递作者的哲思,但人非圣贤,译文中可能仍然难免有错误存在。
因此,我会在后面提供本书可能的相关勘误,请通过我的个人站点(http://www. agileway.cn)获取勘误信息。
如果你发现书中有错讹之处,请联系我,我的电子邮件地址是agileway.cn@gmail.com。
【致谢】
非常感谢博文视点对我的信任,使我在离开机械工程专业9年之后,有了这个机缘,把软件开发和本科期间所学的机械工程知识进行了一次联结,让我有做完了一道Cloze题目的感觉!
感谢爸妈、爱妻对我长期的支持和宽容,使我能够在周末躲进书房安心伏案工作!特别想对小儿“多多”略表歉意,老爸抢了你的鼠标,让你好久不能玩Ubuntu上的小企鹅游戏,J。
另外,要特别感谢阿里巴巴网站技术部的同学们,尤其是Peleus虚拟小组和“风林火山”项目组的同学们,和你们一起就书中的若干主题进行思考和探讨,实为快事!
最后,感谢读者朋友们,在繁忙中停下脚步,翻开此书!
不觉已是盛夏。
章显洲
2009年5月于杭城华星路