内容提要
术以载道——软件过程改进实践指南
软件过程改进(Software Process Improvement,SPI)是指帮助软件企业建立过程管理、识别改进点、持续优化过程体系。CMMI表示Capabi lity Maturity Mode Integration(能力成热度集成模型),提供了一个指导企业实施过程改进的框架,CMMI是实现过程改进标的一种有效手段和方法。
本书是作者软件工程经验、过程改进经验与CMMI咨询经验的总结,从实践者的角度出发,涉及到了实施CMMI的方方面面,包括CMMI实施精要、敏捷方法实践、过程体系建立、软件项目的策划、跟踪和控制、需求工程、软件设计与实现、测试和同行评审、质量保证和配置管理、量化项目管理和人员管理等重要话题。
本书作者具有20年的软件工程经验和13年的质量管理改进经验,创立了麦哲思科技咨询公司,以其实效咨询的风格,在CMMI咨询业内具有很高的知名度。本书记录了作者工作中的所做、所思、所见与所闻,给出了70多个实际案例,对于从事软件过程改进、软件企业管理咨询、软件项目管理的读者具有较高的阅读和参考价值。
推荐序
术以载道——软件过程改进实践指南
当今世界已经进入以信息技术为核心的知识经济时代,人类能够综合利用物质、能量和信息3种资源,信息资源成为与材料和能源同等重要的战略资源。以云计算、物联网、大数据、智慧工程为特征的新时代的信息技术不断涌现,但我们仍需要关注美国卡内基•梅隆大学软件工程研究所(CMU/SEI)倡导的已经走过了近30年旅程的以CMMI为核心的过程改进技术。根据CMU/SEI的研究,正确实施以CMMI为核心的过程改进,对软件项目来说,可以降低成本34%,缩短进度50%,提高生产率61%,减少缺陷48%,改善客户满意度14%,总的投资回报为4:1。以CMMI为核心的过程改进技术成为各行各业信息化的助推器。
本书作者采用理论与实践相结合的方法,从CMMI实施、敏捷方法、过程体系、项目策划与监控、需求工程、设计与实现、测试与同行评审、质量保证、配置管理、量化项目管理、CMMI的评估、人员管理等方面,描述了CMMI过程改进技术的理论要点与实施经验。
工程过程组(EPG)是企业实施过程改进的策划与执行机制。作者指出EPG应遵循主动改进、循序渐进、先敏捷再规范、先下游再上游、测试先行、善于总结、各个击破、教育与培训并重、充分利用工具、内外结合等成功策略;同时指出要防止对模型研究不够、不善于与项目组沟通、不善于理解企业高层管理人员的意图、作业不规范、违背循序渐进、忽略裁剪指南、缺乏足够的工程经验等弊病。
这个世界是一个充满项目的世界。任何企业都是通过实施项目达到其目的,过程改进也是一个项目。作者具体刻画了做好项目管理应该遵循平衡、高效、分解、实时控制、分类管理、简单有效以及规模控制等六个原则,并根据项目都是需求牵引、技术推动的原理,详细描述了需求工程技术。
确定过程改进的切入点是任何企业进行过程改进的一个难点。作者指出通过过程评估、过程裁剪、不符合问题分析、缺陷分析、经验教训总结、度量数据分析、过程改进建议以及高层经理的改进需求分析等方面,可以精准地找到过程改进的切入点。
作者指出过程改进没有灵丹妙药,需要技术、人员、过程三要素的协同改善;过程改进不能一蹴而就,要坚持不懈、持续改进;过程改进要循序前进、理论与实践结合、与企业的创新文化融合;过程改进要勇于实践,允许犯错误,在实践中完善;过程改进要有专人负责,还要求全员参与。作者还特别中肯地指出:我国的CMMI评估,存在“重视证书、忽视实效”的倾向,呼吁企业管理人员、政府主管部门、媒体舆论以及评估咨询人员,共同努力,创造过程改进的良性生态环境,促进我国的软件过程改进事业持续、健康地发展!
总之,本书以CMMI为主线,总结了作者 12 年来的软件开发与管理经验以及 8 年多的过程改进咨询经验,记录了作者所做、所思、所见与所闻,并融合了很多敏捷实践,语言生动,描述具体,是作者软件管理思想的生动记录。我认为本书既是一本很好的教科书,又是一本很好的指南,非常适合过程改进人员、项目经理、中高层经理和开发人员阅读和参考。我深信,本书在我国各行各业信息化的进程中,一定能起到推波助澜的作用。
北航软件工程研究所 周伯生
bszhou@cyberspi.com.cn
2013年12月18日
对本书的赞誉
术以载道——软件过程改进实践指南
项目管理、软件开发、CMMI介绍的书籍比比皆是,软件过程改进之道更是曲折前行的,这是一本软件研发管理者需要的,实操性更强的引领软件研发管理和过程改进之道的书籍。
黄海悦 东方电子股份有限公司项目部部长
一直关注和拜读任老师无私分享的实践经验,在公司研发管理体系建立和推进CMMI评估过程中碰到问题时,总感觉能量强大的任老师就在你身边,使各种问题迎刃而解。如果你置身于过程改进的长河中,那么,本书一定能为你指点迷津、拨云见日。
李君 中体彩技术管理部经理
本书没有生硬地去照搬和讲解标准,而是以一个实践者的感悟,分享了作者对过程改进的思考,为软件企业过程改进提供了可借鉴的流程和方法,也为行业内过程改进的经验传播架起了桥梁。相信软件企业的管理者和团队在持续改进的过程中会从这本书获得收益。
田丽娃 中创软件(CVICSE)质量总监
在这样的一个全新时代,消费类电子面临着智能化的趋势,面临着互联网的强烈冲击,产品更新换代的速度越来越快,产品的功能越来越复杂,同时又要求有更好的用户体验、质量及更低的成本,公司业务中软件的价值贡献越来越大。本书从实用的角度阐述了软件过程的方方面面,有理论,更有实践,相信每个团队的各个岗位上的人,都能找到自己适用的部分,并受益匪浅。
舒卫平 TCL集团工业研究院项目推进与管理部部长
读这本书时让我想起十年前接触过程改进时初读CMMI模型的感受,没有浮夸的辞藻或动人的故事,但每句话细细咀嚼都有味道,平实的文字中蕴含着过程改进的丰富经验和深刻哲理,所谓大道至简,大象无形。在自己的过程改进经历中,也曾有过无数的迷惑和困难,而这些问题基本都能在书中的案例中得到启发和解答。希望这本书成为每一个投身于过程改进工作中的人案头必备的工具、指南。
李旸 广联达软件股份有限公司PMO项目管理主管
本书作者一直秉承实效重于证书、实施方法重于标准模型的理念并将该理念贯彻到其过程改进的研究、实践和咨询中,本书是作者20余年软件工程实战的深刻感悟和经验升华,为软件过程改进的同行提供了一套非常实用的实践指南。本书从改进的本源出发告诉你什么才是真正的有价值的改进及如何开展神形兼备的过程改进,是软件研发过程改进领域难得一见的佳作。
赖晓健 浙江中控技术有限公司研发中心主任
任老师是软件过程改进行业公认的劳模,工作认真扎实,书中所记载的是他多年来从事软件过程改进咨询所积累的资料和笔记,充分利用数据、图表、案例阐述软件过程中存在的问题及最佳实践,这是目前业内最为落地实践的软件过程改进著作之一,特推荐给软件业同行阅读。
张友生博士 希赛顾问团首席顾问
不论是对质量管理人员,还是对软件研发人员,本书都堪称一部难得的宝典。作者以其丰富的行业经验对软件过程改进做出深入浅出的分析,并给出基于实践的指导意见,通过学习本书,你会领略各种最佳解决方案。
刘军 大连飞创信息技术有限公司总经理
任先生的专著即将付梓,我有幸先睹为快。CMMI评估体系在国内已推广多年,帮助数以万计的IT企业日益成长成熟,以任先生为代表的咨询服务专家功不可没。尽管类似的书籍在国内外有许多,但该书以全新的视觉、丰富的实践和严谨的思辨逻辑为我们展示了一幅精美的画卷,有理论、有方法、有案例、有感悟,一切都是鲜活的、汉化的、深入浅出的。跳出IT领域来看,精益的理念和方法在管理上是通用的,因此该书无论对业界人士还是对企业管理者都有裨益。
孙茂杰 江苏金恒信息科技有限公司总经理
与任老师初次相识是2006年4月。当时,长虹正着力扩大软件团队,提升软件研发能力。经过几轮比较,最终选择了任老师作为长虹项目的主要咨询师,全程指导了体系实施和评估。后来,我们从CMMI-L2一直做到了L5,全部由任老师实施咨询,2012年11月底,长虹顺利通过了CMMI-L5的现场评估。在这个漫长的过程中,我们和任老师一起研究模型、梳理实践、把握精髓,实现了软件研发能力的实质提升。对他理论与实践结合、注重实效、细节致胜的咨询风格留下了深刻印象。这本书是任老师多年过程改进实践体会的系统总结,内容详实,案例丰富,实用性强,相信会对国内软件企业的健康、持续发展提供良好的方法论指导。
张恩阳 四川长虹电器股份有限公司技术中心总经理
这本书不同于其他的项目管理书籍,不单纯的讲“道”,而是以道御术、以术载道, 并且难得的人将“人”和“文化”这两个管理中最关键的因素融入其中,无论你是刚入行还是资深的项目管理人员,这本书都能给你新的启迪。
林亦雯 中国海运集团中海信息系统有限公司副总经理
我曾经见证了任先生为实施CMMI的组织提供服务,并且,我也对他指导过的实施CMMI的组织做过评估。任先生非常博学,并且他有着多年实践性很强的、附加价值丰富的过程改进经验。这本书为读者提供了学习任先生的价值驱动方法的手段,以便读者们能够采用相似的方法来改进他们的软件开发过程。
Shane Atkinson,ATKOTT Inc. CMMI高成熟度主任评估师
这本书恰好是过程改进社区所需的。Dylan勾画了一副蓝图以帮助人们理解CMMI如何适应他们的改进需求,并且提供了大量的详细案例以帮助组织改进其性能。敏捷和传统方法的完美无缝融合使软件工程更加高效,提高了生产率。无论你是一名工程师、EPG人员,还是管理人员,这本书都会帮你更好的策划、准备、实施提升您公司的业绩并提高您公司的实际成熟度。
Bruce Hoffman,麦哲思科技CTO,CMMI主任评估师
作者简介
术以载道——软件过程改进实践指南
任甲林,山东大学计算机科学专业工学硕士, Scrum Master、CMMI主任评估师、国际通用软件度量协会国际咨询委员会(COSMIC IAC)成员。。从1993年到2013年,他积累了20年软件工程经验。从程序员发展成为研发总监,参与或管理过50多个项目。2005年开始从事软件过程改进咨询工作,为接近100家客户提供过咨询或培训服务。2007年创立麦哲思科技(北京)有限公司, 2008年至2011年度,他连续三年被评为“中国CMMI咨询行业年度人物”。
自序
术以载道——软件过程改进实践指南
本书是对我20多年在软件工程方面的所做、所思、所见、所闻的总结。在2005年6月之前我写了一些文章发表在www.51CMM.com,2005年6月之后开始在MSN建立自己的共享空间,后又转为在blog.ccidnet.com建立博客,做咨询的各种体会、客户的各种问题的解答慢慢地总结记录在博文中。本书的内容来源大抵如此。
我自己比较懒,英文名字Dylan Ren也源于此,我希望读为“大懒人”。所以我自己没有想起来整理博文。还好,有朋友激励我。最初是常州国光的杨建华先生花时间对我的博文进行了汇总,后来富士康的陈东源先生也想整理我的博文,于是我将杨先生整理的材料发给了陈先生。陈先生长我10岁之多,老大哥不吝时间,对这些材料建立了目录,标识了他认为重点的字句,让我甚为感动。而后成都虹微的王小康先生也希望帮我整理这些资料。为了不辜负各位的厚爱,于是2007年年初我就自己开始整理这些资料了。
在整理时,我重新对这些文章进行了分类,修改了某些文章的标题,并补充了未公开发表的一些资料,对某些口语化太浓的字句进行了修改。其实,修改后反倒发现丧失了博文中的那种自由与亲切。
修订这些资料的过程也是自我反思的过程,是与自己对话的过程,温故而知新,累并快乐着。有时发现很难准确地把一个思想表达得很严谨,因此而烦恼、灰心,于是就放下一段时间,冷处理后再拾起来重新修订。
本书是以CMMI为主线,也融合了敏捷的很多实践,是我的软件过程改进思想的记录,是一己之见。限于能力,书中的描述有很多地方不尽人意,观点也存在偏颇,希望阅读本书的朋友能够多多拍砖,以使本书更加完善。
我的理想是能够写一本通俗的书,借鉴佛教、基督教传播其教义的方法,通过一些通俗的故事传递思想;也希望能学习郭德纲的相声、学习金庸的武侠小说,把跌宕起伏、高潮频现、引人入胜的写作手法与软件工程的科学严谨融为一体。理想和现实有很大的差距,虽然我自己不满意,但是我尽力了。
2008年11月,陈冀康编辑找到我,希望将我的博文整理成书。陈先生将书籍命名为《术以载道—CMMI咨询札记》,取自于我的一篇博文《术与道》,我甚以为然,于是大家一拍即合。2013年初再给陈先生看此书稿时,他认为内容有了很大的充实,于是更名为《术以载道—软件过程改进实践指南》。
每次重读自己写的内容,每次都不满意,都需要静下心来修改,以至于出版的日期一拖再拖。
我希望本书能够成为一本实用之书,但未必完备而严谨,这是现实和理想的平衡。
前言
术以载道——软件过程改进实践指南
本书写作的目的
本书总结了我12年的软件开发与管理经验、8年多的过程改进咨询经验,记录了我所做、所思、所见与所闻,希望本书能够给从事软件过程改进、软件企业管理咨询、软件项目管理、软件开发的人士提供一些具体实践的借鉴与参考。
本书读者对象
过程改进与质量管理人员。
项目经理。
软件企业的中高层经理。
软件开发人员。
如何阅读本书
本书共13章,每一章的主要内容与适用的读者如下表。
本书编写体例说明
正文中重点强调的文字采用了黑体字。
所有的案例全部加框并用楷体排版。
致谢
感谢我的计算机启蒙老师吕云龙先生。从1986年高中入学时,就跟着您在Apple及中华学习机上学习Basic语言,您带领我参加信息学竞赛,训练了我的逻辑思维能力。和您一起在泰安、长岛度过了2个愉快的假期,情景历历大目。
感谢我的大学母校山东师范大学。为我大学4年提供了宽松的上机学习环境,在机房上机的日日夜夜,极大地提高了我的动手能力。感谢我的指导教师刘芳爱老师,在您的指导下我在大学里完成了编辑器软件的开发。
感谢对我一生的做事风格影响最大的王虎老师。从1993年到2004年,11年的时间里从您这里我学到了做人、做事的方法,您对我的教诲与爱护让我受益终生。
感谢在1998年指导我做过程改进的郑玉林老师。您的认真让我感慨至今。
感谢2004年引导我进入CMMI咨询行业的周伯生老师。和周老一起做评估,是我最快乐的日子,周老的睿智、对问题的敏感,周老的软件工程经验、不懈的奋斗精神,一直是我奋斗的标杆。
感谢以长虹集团、富士康集团、TCL、大连飞创、北京体彩、山东中创、南京润和、中海信息、浙江中控、深圳酷派、天源迪科、厦门联想等为代表的忠诚的客户。通过和大家一起成长,我学到了很多最佳实践,激发了我的灵感,积累了大量的案例。
感谢我的同事吕英杰、周伟、刘军、徐栋哲、Bruce、王婉荣、徐浩伟、洪艳艳、王新华、柯能江、关钦杰、雍迪、温丽莎等。大家任劳任怨地帮我做了很多工作,在和各位的沟通交流中,校正了很多我的错误观念。
感谢我的家人。你们承担了所有的家庭事务,在我“有工作,没生活”的状态下,帮我消除所有的后顾之忧。
谢谢你们!
关于勘误
尽管我花了很多时间和精力去核对书中的文字,但是因为时间仓促和水平有限,可能对某些错误熟视无睹,本书仍难免会有一些纰漏。如果大家发现什么问题,恳请反馈,相关信息可发到我的邮箱renjialin@measures.net.cn。
对于本书中的任何疑问或想与我探讨,可以访问我的个人博客:http://blog.csdn.net/dylanren或者直接在我公司的网站上进行实时沟通:www.measures.net.cn。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。
目录
前言
第1章CMMI实施精要
1.1节对CMMI的基本认识
1.2节EPG的工作指南
1.3节如何实施CMMI
1.4节CMMI实施的难点与对策
第2章敏捷方法实践精要
第3章如何建立过程体系
第4章项目策划
第5章 项目跟踪与控制
第6章需求工程
第7章软件设计与实现
第8章测试与同行评审
第9章 质量保证
第10章配置管理
第11章 量化项目管理
第12章CMMI的评估
第13章人员管理
后记
参考文献