SlideShare a Scribd company logo
1 of 43
Download to read offline
Site: http://sempsalon.wikispaces.com/
     Email: semp.salon@gmail.com




        CMMI, Agile 敌人还是朋友

                  张卓磊,李丁山,孙少羚
张卓磊 (Leilei)



   SEI Certified
   High Maturity
  Lead Appraiser
CMMI-DEV, CMMI-SVC




                       爱好旅游、摄影、
                       爱好旅游、摄影、瑜伽
李丁山




 爱好旅游,摄影,音乐,太极,
 爱好旅游,摄影,音乐,太极,运动
孙少羚



      SEI/CMU
PSP Certified Developer




                           爱好足球、网球、桌球、
                           爱好足球、网球、桌球、电影
模型、标准、方法和技巧
议题
• 规范和敏捷
• 敌人还是朋友
• Agile CMMI实施指南
准备
• 列举您认为在CMMI模型和敏捷方法中最
  有冲突的领域或实践,并解释您的看法
议题
 规范和敏捷
  – CMMI 简介
  – Agile 简介
• 敌人还是朋友
• Agile CMMI实施指南
CMMI的基本前提
• 一个系统或者产品的质量在很大程度上取决于开
  发与维护它的过程的质量


                            方法和规程


       人员




                          工具和设备     过程质量
                                    过程
http://www..sei.cmu.edu
过程、过程绩效、过程能力
• 过程
 – 导致某种结果的一系列行动、变化或功能运作
 – 进入条件、任务、验证、退出条件(ETVX)
• 过程绩效
 – 对遵循某一过程可以获得实际结果的一种度量
 – 包括过程度量(如:工作量、工期、缺陷移除效率)
   和产品度量(如:可靠性、缺陷密度、响应时间)
• 过程能力
 – 遵循某一过程所能获得结果的预期范围
CMMI 群集

                                      CMMI-ACQ
CMMI-DEV




               16 Core Process
                    Areas
           5                      7

                      1
                                      CMMI-SVC

                Shared PA (SAM)                  11
CMMI-DEV 全图
                                  Causal Analysis and Resolution
产品                                Organizational Innovation and Deployment


                           Quantitative Project Management
客户                         Organizational Process Performance

                Decision Analysis and Resolution
                Risk Management
                Integrated Project Management
                Organizational Training
组织              Organizational Process Definition
                Organizational Process Focus
                Validation
                Verification
                Product Integration
                Technical Solution
                Requirements Development

     Configuration Management
     Process and Product Quality Assurance
项目   Measurement and Analysis
     Supplier Agreement Management
     Project Monitoring and Control
     Project Planning
     Requirements Management
关于CMMI的一些澄清
• CMMI是       • CMMI不是
  – 模型,指南      – 标准、设计图
  – 路线图        – 菜谱



         地图不等于实际地形
  过程改进对于任意规模的组织而言都可以是有价值的




                            13
议题
 规范和敏捷
  – CMMI 简介
  – Agile 简介
• 敌人还是朋友
• Agile CMMI实施指南
敏捷宣言
      我们通过实践揭示了更好的软件开发方式,并帮助其他人实践它。
              通过这一过程,我们认识到:


个体与交互                        重于   过程与工具
可用的软件                        重于   复杂的文档
客户协作                         重于   合同谈判
响应变化                         重于   遵循计划

             在以上每对比较中,后者仍然有其价值,
             在以上每对比较中,后者仍然有其价值,
               但我们认为前者具有更大的价值

http://agilemanifesto.org/
敏捷原则
•   通过尽早和持续地交付有价值的软件来满足客户
•   欢迎对需求提出变更——即使是在项目开发后期
•   项目过程中,业务人员与开发人员必须工作在一起
•   要善于激励项目人员,给他们以所需要的环境和支持,并相信团队
•   无论是团队内还是团队间,最有效的沟通方法是面对面的交谈
•   可用的软件是衡量进度的主要指标
•   敏捷过程提倡可持续的开发。项目方、开发人员和用户应该能够保持恒久稳定
    的进展速度
•   对技术的精益求精以及对设计的不断完善将提升敏捷性
•   要做到简单,尽最大可能减少不必要的工作
•   最佳的架构、需求和设计出自于自组织的团队
•   团队要定期反省如何能够做到更有效,并相应地调整团队的行为
敏捷的核心




        17
敏捷实践
•   Scrum              • Pair Programming
•   XP                 • TDD
•   FDD                • Small Release
•   Crystal            • Planning Game
•   Lean               • Customer Tests
•   Agile Modeling
                       • Continuous
•   Kanban               Integration
•   …
                       • Simple Design
                       • …
关于Agile的一些澄清
• Agile是          • Agile不是
  –   反对不必要的文档      –   反对一切文档
  –   欢迎变化          –   不要计划
  –   建立自组织的团队      –   反对一切的管理和指导
  –   重视快速实现客户价     –   越快越好
      值




                                 19
成为敌人的原因
•   不同的背景
•   不同的诞生目的
•   不同的语言
•   错误的理解和应用
•   彼此的误解和排斥
•   传统的门当户对思想
不同的背景
      CMMI             Agile
• 由美国国防部(DoD)投资   • 敏捷领域专家的自发行为
• 由CMU/SEI开发并维护   • 基于共识
• 完整且成熟的产品家族,     • 不同的敏捷方法集合
  包括培训、模型、评估

                小结
• CMMI出生名门望族,高贵、奢华,是上流社会的大家闺秀
• Agile身世平凡、朴素,却是聪慧、机敏的小精灵
不同的诞生目的
       CMMI                   Agile
20世纪80年代,美国军方为软件研发   20世纪末期,源自于IIDD的方法与实践
投入大量经费。但这些软件要么无法交    不断繁衍,Scrum, XP, FDD等方法为
付,要么延迟交付,要么交付的功能差    人们所熟知。这时需要对它们进行梳理
强人意。为了解决这个问题,DoD决定   和比较从而能够被持续发展,在这样的
成立一个研发中心(SEI)以开发一套   背景下,敏捷宣言、敏捷原则相继发表
模型和评价方法用于指导和评估其软件    ,并成立了敏捷联盟
供应商

                小结
• CMMI是为了解决军方软件研发的种种问题而诞生的
• Agile是为了梳理和比较各种敏捷方法和实践而诞生的
不同的语言
              CMMI                        Agile
•   Discipline             •   Inspect & Adapt
•   Quality Assurance      •   Continuous Integration
•   Capability             •   Test Driven Development
•   Predictability         •   Collective code ownership



                          小结
• CMMI更像管理者
• Agile更像实践者
错误的理解和应用
• CMMI
  – 仅关注成熟度级别,而非关注过程绩效的改进


• Agile
  – 不要计划、不要文档,要自由!
彼此的误解和排斥
• 敏捷阵营对CMMI缺乏完整的、正确的了解
 – 认为CMMI繁复、死板、不灵活


• CMMI阵营也对Agile缺乏完整的、正确的了解
 – 认为Agile随意、无纪律、个人英雄主义
传统的门当户对思想
• 传统思想认为CMMI应该嫁入豪门
 – 大型、风险高、关键的系统

• 而Agile更适合于草根阶层
 – 小型、单团队、需求多变的系统
议题
 规范和敏捷
 敌人还是朋友
  – 成为敌人的原因
  – 成为朋友的理由
• Agile CMMI实施指南
成为朋友的理由
• 相似的愿景
• ‘What’ + ’How’的绝配
• 互补应用
• 现实中的融合
相似的愿景
       CMMI            Agile
•   提升的客户满意度      • 通过与客户的紧密协作,
•   更准确的进度          为客户开发出有价值的,
                    可工作的软件产品
•   减少的开发成本
                  • 快速,频繁的交付价值,
•   实际的投资回报率
                    加速投资回报
•   提升的员工士气和降低的
                  • 建立高绩效的,自组织的
    流动率
                    团队
‘What’ + ’How’的绝配
• CMMI和Agile是彼此兼容的

• 在项目层面,CMMI是对项目要做什么的抽象集
  合,而没有描述具体的开发方法

• 敏捷方法着重于项目怎么开发产品

因此,两者可以并存
CMMI, Agile的互补应用
• CMMI提供系统工程的实践活动,能够将敏捷的方
  法应用到大型项目中

• CMMI也提供了过程管理和支持的实践活动,从而
  能够使得在任何一个组织中引入、部署、维护、
  以及持续的改进敏捷方法
现实中的融合
• 如今,许多实施CMMI的组织,开始引入和
  使用敏捷方法
议题
规范和敏捷
敌人还是朋友
          实施指南
Agile CMMI实施指南
Agile CMMI实施指南简介
实施指南一览
                                                                           CMMI
                       Requirements Management                             Agile
                                  5
         Risk Management                         Project Planning
                                  4

                                  3
        Verification                                    Project Monitoring and Control
                                  2

                                  1

      Validation                  0                        Configuration Management



 Technical Solution                                     Measurement and Analysis

                                                 Process and Product Quality
Requirements Development
                                                         Assurance
                           Product Integration
实施指南中的几个例子
• 需求变更管理 – REQM SP1.3
• 双向可追溯性 – REQM SP1.4
• 估算属性和工作量 – PP SP 1.2, 1.4
需求变更管理
CMMI           Agile Practice    Agile Implementation
Practice                         Guideline
SP1.3 Manage   Changes are       Noted in daily standup
requirements   logged in Product meeting, and incorporate
changes        backlog, and      the change in sprint backlog
               reviewed at every or exchange with some
               sprint planning   existing requirements, or
                                 cancel the sprint due to
                                 unsuitability of current
                                 requirements set; product
                                 owner is required to be
                                 involved when this occurs
双向可追溯性
CMMI              Agile Practice        Agile Implementation
Practice                                Guideline
SP1.4             Requirements and      Product backlog shows the
Maintain bi-      test cases are        traceability between user
directional       bidirectional         stories and their associated
traceability of   traceable if TDD is   tasks
requirements      adopted
估算属性
CMMI           Agile Practice       Agile Implementation
Practice                            Guideline
SP1.2          Sprint planning,     Identify and define the base
Establish      backlog items are    for relative estimation, and
estimates of   estimated            document the
work           relatively to each   characteristics of the base
products and   others               for negotiation and further
task                                improvement
attributes
估算工作量
CMMI           Agile Practice      Agile Implementation
Practice                           Guideline
SP1.4          Sprint planning,    Use velocity for estimation,
Determine      poker game using    and calibrate it based on
estimates of   Delphi estimation   actual data
effort and     method
cost
准备内容的讨论




          41
总结
   • “If one has strong discipline without agility,
     the result is bureaucracy and stagnation.
     Agility without discipline is the
     unencumbered enthusiasm of a startup
     company before it has to turn a profit.”




Balancing agility and discipline: a guide for the perplexed
THA
                            NK Y
                         谢谢     OU!
                            !


Software Engineering Methodology Practices
Simple Efficient Measurable Practical
http://semp.wikispaces.com
Semp.salon@gmail.com

                                             Version 1.00, page 43

More Related Content

What's hot

Operation Logic Manager
Operation Logic ManagerOperation Logic Manager
Operation Logic ManagerLee Seungki
 
七天基于风险测试—Chinatest
七天基于风险测试—Chinatest七天基于风险测试—Chinatest
七天基于风险测试—Chinatestdrewz lin
 
2.ie培訓教材
2.ie培訓教材2.ie培訓教材
2.ie培訓教材營松 林
 
03 fmea表格使用說明
03 fmea表格使用說明03 fmea表格使用說明
03 fmea表格使用說明營松 林
 
5.全面交期管理
5.全面交期管理5.全面交期管理
5.全面交期管理營松 林
 
02 fmea training
02 fmea training02 fmea training
02 fmea training營松 林
 
阳陆育 大型软件产品的敏捷案例分享
阳陆育 大型软件产品的敏捷案例分享阳陆育 大型软件产品的敏捷案例分享
阳陆育 大型软件产品的敏捷案例分享Odd-e
 
ACTION PLAN PHASE 1_PRE TQM CFPublico
ACTION PLAN PHASE 1_PRE TQM CFPublicoACTION PLAN PHASE 1_PRE TQM CFPublico
ACTION PLAN PHASE 1_PRE TQM CFPublicoFernando Cerdenia
 
QM-056-品質管理
QM-056-品質管理QM-056-品質管理
QM-056-品質管理handbook
 
03第三章工程项目组织
03第三章工程项目组织03第三章工程项目组织
03第三章工程项目组织dozer47528
 
University spm ppt1
University spm ppt1University spm ppt1
University spm ppt1huanglab
 

What's hot (19)

Ch06
Ch06Ch06
Ch06
 
Ch02
Ch02Ch02
Ch02
 
Ch12
Ch12Ch12
Ch12
 
01 fmea
01 fmea01 fmea
01 fmea
 
Operation Logic Manager
Operation Logic ManagerOperation Logic Manager
Operation Logic Manager
 
七天基于风险测试—Chinatest
七天基于风险测试—Chinatest七天基于风险测试—Chinatest
七天基于风险测试—Chinatest
 
2.ie培訓教材
2.ie培訓教材2.ie培訓教材
2.ie培訓教材
 
Ch06
Ch06Ch06
Ch06
 
Ch15
Ch15Ch15
Ch15
 
Ch09
Ch09Ch09
Ch09
 
03 fmea表格使用說明
03 fmea表格使用說明03 fmea表格使用說明
03 fmea表格使用說明
 
Ch05
Ch05Ch05
Ch05
 
5.全面交期管理
5.全面交期管理5.全面交期管理
5.全面交期管理
 
02 fmea training
02 fmea training02 fmea training
02 fmea training
 
阳陆育 大型软件产品的敏捷案例分享
阳陆育 大型软件产品的敏捷案例分享阳陆育 大型软件产品的敏捷案例分享
阳陆育 大型软件产品的敏捷案例分享
 
ACTION PLAN PHASE 1_PRE TQM CFPublico
ACTION PLAN PHASE 1_PRE TQM CFPublicoACTION PLAN PHASE 1_PRE TQM CFPublico
ACTION PLAN PHASE 1_PRE TQM CFPublico
 
QM-056-品質管理
QM-056-品質管理QM-056-品質管理
QM-056-品質管理
 
03第三章工程项目组织
03第三章工程项目组织03第三章工程项目组织
03第三章工程项目组织
 
University spm ppt1
University spm ppt1University spm ppt1
University spm ppt1
 

Viewers also liked

ECI519_Syllabus_Spring_2016-6
ECI519_Syllabus_Spring_2016-6ECI519_Syllabus_Spring_2016-6
ECI519_Syllabus_Spring_2016-6Shaun Kellogg
 
W SAN FRANCISCO
W SAN FRANCISCOW SAN FRANCISCO
W SAN FRANCISCOlisaleonor
 
Semp沙龙介绍
Semp沙龙介绍Semp沙龙介绍
Semp沙龙介绍SEMP
 
Increasing Interaction in an Online Course
Increasing Interaction in an Online CourseIncreasing Interaction in an Online Course
Increasing Interaction in an Online CourseShaun Kellogg
 
The lord has_plan_-_rosa_fernandez-de_leon[2]
The lord has_plan_-_rosa_fernandez-de_leon[2]The lord has_plan_-_rosa_fernandez-de_leon[2]
The lord has_plan_-_rosa_fernandez-de_leon[2]Rosa Fernandez-DeLeon
 

Viewers also liked (6)

ECI519_Syllabus_Spring_2016-6
ECI519_Syllabus_Spring_2016-6ECI519_Syllabus_Spring_2016-6
ECI519_Syllabus_Spring_2016-6
 
W SAN FRANCISCO
W SAN FRANCISCOW SAN FRANCISCO
W SAN FRANCISCO
 
Semp沙龙介绍
Semp沙龙介绍Semp沙龙介绍
Semp沙龙介绍
 
Increasing Interaction in an Online Course
Increasing Interaction in an Online CourseIncreasing Interaction in an Online Course
Increasing Interaction in an Online Course
 
The lord has_plan_-_rosa_fernandez-de_leon[2]
The lord has_plan_-_rosa_fernandez-de_leon[2]The lord has_plan_-_rosa_fernandez-de_leon[2]
The lord has_plan_-_rosa_fernandez-de_leon[2]
 
Eera presentation
Eera presentationEera presentation
Eera presentation
 

Similar to Agile和cmmi 朋友还是敌人

《流程制度化、經驗資產化.持續改善不間​斷、永續成長不是夢》
《流程制度化、經驗資產化.持續改善不間​斷、永續成長不是夢》《流程制度化、經驗資產化.持續改善不間​斷、永續成長不是夢》
《流程制度化、經驗資產化.持續改善不間​斷、永續成長不是夢》Andy Liu
 
Scrum深入淺出
Scrum深入淺出Scrum深入淺出
Scrum深入淺出Taien Wang
 
Agile development
Agile developmentAgile development
Agile developmentSway Wang
 
2012 China 软件测试大会
2012 China 软件测试大会2012 China 软件测试大会
2012 China 软件测试大会mayun1688
 
Why Scrum (敏捷式專案管理)
Why Scrum (敏捷式專案管理)Why Scrum (敏捷式專案管理)
Why Scrum (敏捷式專案管理)Yu Wei Shang
 
Simple Rule Agile China 2009
Simple Rule   Agile China 2009Simple Rule   Agile China 2009
Simple Rule Agile China 2009JohnnLi
 
Qfd培训教材 质量机能展开(ppt 51页)
Qfd培训教材 质量机能展开(ppt 51页)Qfd培训教材 质量机能展开(ppt 51页)
Qfd培训教材 质量机能展开(ppt 51页)abarshih
 
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)LetAgileFly
 
Nb的敏捷
Nb的敏捷Nb的敏捷
Nb的敏捷oulan
 
9501 tm-chapter3
9501 tm-chapter39501 tm-chapter3
9501 tm-chapter3eliyen07
 
QM-003-6 sigma
QM-003-6 sigmaQM-003-6 sigma
QM-003-6 sigmahandbook
 
敏捷开发全景视图(流程、方法和最佳实践)
敏捷开发全景视图(流程、方法和最佳实践)敏捷开发全景视图(流程、方法和最佳实践)
敏捷开发全景视图(流程、方法和最佳实践)Weijun Zhong
 
關於產品經理的角色與職責
關於產品經理的角色與職責關於產品經理的角色與職責
關於產品經理的角色與職責Cloud Chen
 
Scrum敏捷实施实例讲解
Scrum敏捷实施实例讲解Scrum敏捷实施实例讲解
Scrum敏捷实施实例讲解Brenda Bao
 
Scrum gathering 2014sharing v4
Scrum gathering 2014sharing v4Scrum gathering 2014sharing v4
Scrum gathering 2014sharing v4Jen-Chieh Ko
 
從乙方PM的角度看敏捷
從乙方PM的角度看敏捷從乙方PM的角度看敏捷
從乙方PM的角度看敏捷KC Liu
 
要质量还是要速度
要质量还是要速度要质量还是要速度
要质量还是要速度Lijie Wang
 

Similar to Agile和cmmi 朋友还是敌人 (20)

《流程制度化、經驗資產化.持續改善不間​斷、永續成長不是夢》
《流程制度化、經驗資產化.持續改善不間​斷、永續成長不是夢》《流程制度化、經驗資產化.持續改善不間​斷、永續成長不是夢》
《流程制度化、經驗資產化.持續改善不間​斷、永續成長不是夢》
 
Scrum深入淺出
Scrum深入淺出Scrum深入淺出
Scrum深入淺出
 
Agile development
Agile developmentAgile development
Agile development
 
2012 China 软件测试大会
2012 China 软件测试大会2012 China 软件测试大会
2012 China 软件测试大会
 
Why Scrum (敏捷式專案管理)
Why Scrum (敏捷式專案管理)Why Scrum (敏捷式專案管理)
Why Scrum (敏捷式專案管理)
 
Simple Rule Agile China 2009
Simple Rule   Agile China 2009Simple Rule   Agile China 2009
Simple Rule Agile China 2009
 
Nb的敏捷
Nb的敏捷Nb的敏捷
Nb的敏捷
 
Qfd培训教材 质量机能展开(ppt 51页)
Qfd培训教材 质量机能展开(ppt 51页)Qfd培训教材 质量机能展开(ppt 51页)
Qfd培训教材 质量机能展开(ppt 51页)
 
Cmmi1.3
Cmmi1.3Cmmi1.3
Cmmi1.3
 
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
 
SCRUM
SCRUMSCRUM
SCRUM
 
Nb的敏捷
Nb的敏捷Nb的敏捷
Nb的敏捷
 
9501 tm-chapter3
9501 tm-chapter39501 tm-chapter3
9501 tm-chapter3
 
QM-003-6 sigma
QM-003-6 sigmaQM-003-6 sigma
QM-003-6 sigma
 
敏捷开发全景视图(流程、方法和最佳实践)
敏捷开发全景视图(流程、方法和最佳实践)敏捷开发全景视图(流程、方法和最佳实践)
敏捷开发全景视图(流程、方法和最佳实践)
 
關於產品經理的角色與職責
關於產品經理的角色與職責關於產品經理的角色與職責
關於產品經理的角色與職責
 
Scrum敏捷实施实例讲解
Scrum敏捷实施实例讲解Scrum敏捷实施实例讲解
Scrum敏捷实施实例讲解
 
Scrum gathering 2014sharing v4
Scrum gathering 2014sharing v4Scrum gathering 2014sharing v4
Scrum gathering 2014sharing v4
 
從乙方PM的角度看敏捷
從乙方PM的角度看敏捷從乙方PM的角度看敏捷
從乙方PM的角度看敏捷
 
要质量还是要速度
要质量还是要速度要质量还是要速度
要质量还是要速度
 

Agile和cmmi 朋友还是敌人

  • 1. Site: http://sempsalon.wikispaces.com/ Email: semp.salon@gmail.com CMMI, Agile 敌人还是朋友 张卓磊,李丁山,孙少羚
  • 2. 张卓磊 (Leilei) SEI Certified High Maturity Lead Appraiser CMMI-DEV, CMMI-SVC 爱好旅游、摄影、 爱好旅游、摄影、瑜伽
  • 4. 孙少羚 SEI/CMU PSP Certified Developer 爱好足球、网球、桌球、 爱好足球、网球、桌球、电影
  • 7. 准备 • 列举您认为在CMMI模型和敏捷方法中最 有冲突的领域或实践,并解释您的看法
  • 8. 议题 规范和敏捷 – CMMI 简介 – Agile 简介 • 敌人还是朋友 • Agile CMMI实施指南
  • 9. CMMI的基本前提 • 一个系统或者产品的质量在很大程度上取决于开 发与维护它的过程的质量 方法和规程 人员 工具和设备 过程质量 过程 http://www..sei.cmu.edu
  • 10. 过程、过程绩效、过程能力 • 过程 – 导致某种结果的一系列行动、变化或功能运作 – 进入条件、任务、验证、退出条件(ETVX) • 过程绩效 – 对遵循某一过程可以获得实际结果的一种度量 – 包括过程度量(如:工作量、工期、缺陷移除效率) 和产品度量(如:可靠性、缺陷密度、响应时间) • 过程能力 – 遵循某一过程所能获得结果的预期范围
  • 11. CMMI 群集 CMMI-ACQ CMMI-DEV 16 Core Process Areas 5 7 1 CMMI-SVC Shared PA (SAM) 11
  • 12. CMMI-DEV 全图 Causal Analysis and Resolution 产品 Organizational Innovation and Deployment Quantitative Project Management 客户 Organizational Process Performance Decision Analysis and Resolution Risk Management Integrated Project Management Organizational Training 组织 Organizational Process Definition Organizational Process Focus Validation Verification Product Integration Technical Solution Requirements Development Configuration Management Process and Product Quality Assurance 项目 Measurement and Analysis Supplier Agreement Management Project Monitoring and Control Project Planning Requirements Management
  • 13. 关于CMMI的一些澄清 • CMMI是 • CMMI不是 – 模型,指南 – 标准、设计图 – 路线图 – 菜谱 地图不等于实际地形 过程改进对于任意规模的组织而言都可以是有价值的 13
  • 14. 议题 规范和敏捷 – CMMI 简介 – Agile 简介 • 敌人还是朋友 • Agile CMMI实施指南
  • 15. 敏捷宣言 我们通过实践揭示了更好的软件开发方式,并帮助其他人实践它。 通过这一过程,我们认识到: 个体与交互 重于 过程与工具 可用的软件 重于 复杂的文档 客户协作 重于 合同谈判 响应变化 重于 遵循计划 在以上每对比较中,后者仍然有其价值, 在以上每对比较中,后者仍然有其价值, 但我们认为前者具有更大的价值 http://agilemanifesto.org/
  • 16. 敏捷原则 • 通过尽早和持续地交付有价值的软件来满足客户 • 欢迎对需求提出变更——即使是在项目开发后期 • 项目过程中,业务人员与开发人员必须工作在一起 • 要善于激励项目人员,给他们以所需要的环境和支持,并相信团队 • 无论是团队内还是团队间,最有效的沟通方法是面对面的交谈 • 可用的软件是衡量进度的主要指标 • 敏捷过程提倡可持续的开发。项目方、开发人员和用户应该能够保持恒久稳定 的进展速度 • 对技术的精益求精以及对设计的不断完善将提升敏捷性 • 要做到简单,尽最大可能减少不必要的工作 • 最佳的架构、需求和设计出自于自组织的团队 • 团队要定期反省如何能够做到更有效,并相应地调整团队的行为
  • 18. 敏捷实践 • Scrum • Pair Programming • XP • TDD • FDD • Small Release • Crystal • Planning Game • Lean • Customer Tests • Agile Modeling • Continuous • Kanban Integration • … • Simple Design • …
  • 19. 关于Agile的一些澄清 • Agile是 • Agile不是 – 反对不必要的文档 – 反对一切文档 – 欢迎变化 – 不要计划 – 建立自组织的团队 – 反对一切的管理和指导 – 重视快速实现客户价 – 越快越好 值 19
  • 20. 成为敌人的原因 • 不同的背景 • 不同的诞生目的 • 不同的语言 • 错误的理解和应用 • 彼此的误解和排斥 • 传统的门当户对思想
  • 21. 不同的背景 CMMI Agile • 由美国国防部(DoD)投资 • 敏捷领域专家的自发行为 • 由CMU/SEI开发并维护 • 基于共识 • 完整且成熟的产品家族, • 不同的敏捷方法集合 包括培训、模型、评估 小结 • CMMI出生名门望族,高贵、奢华,是上流社会的大家闺秀 • Agile身世平凡、朴素,却是聪慧、机敏的小精灵
  • 22. 不同的诞生目的 CMMI Agile 20世纪80年代,美国军方为软件研发 20世纪末期,源自于IIDD的方法与实践 投入大量经费。但这些软件要么无法交 不断繁衍,Scrum, XP, FDD等方法为 付,要么延迟交付,要么交付的功能差 人们所熟知。这时需要对它们进行梳理 强人意。为了解决这个问题,DoD决定 和比较从而能够被持续发展,在这样的 成立一个研发中心(SEI)以开发一套 背景下,敏捷宣言、敏捷原则相继发表 模型和评价方法用于指导和评估其软件 ,并成立了敏捷联盟 供应商 小结 • CMMI是为了解决军方软件研发的种种问题而诞生的 • Agile是为了梳理和比较各种敏捷方法和实践而诞生的
  • 23. 不同的语言 CMMI Agile • Discipline • Inspect & Adapt • Quality Assurance • Continuous Integration • Capability • Test Driven Development • Predictability • Collective code ownership 小结 • CMMI更像管理者 • Agile更像实践者
  • 24. 错误的理解和应用 • CMMI – 仅关注成熟度级别,而非关注过程绩效的改进 • Agile – 不要计划、不要文档,要自由!
  • 25. 彼此的误解和排斥 • 敏捷阵营对CMMI缺乏完整的、正确的了解 – 认为CMMI繁复、死板、不灵活 • CMMI阵营也对Agile缺乏完整的、正确的了解 – 认为Agile随意、无纪律、个人英雄主义
  • 26. 传统的门当户对思想 • 传统思想认为CMMI应该嫁入豪门 – 大型、风险高、关键的系统 • 而Agile更适合于草根阶层 – 小型、单团队、需求多变的系统
  • 27. 议题 规范和敏捷 敌人还是朋友 – 成为敌人的原因 – 成为朋友的理由 • Agile CMMI实施指南
  • 28. 成为朋友的理由 • 相似的愿景 • ‘What’ + ’How’的绝配 • 互补应用 • 现实中的融合
  • 29. 相似的愿景 CMMI Agile • 提升的客户满意度 • 通过与客户的紧密协作, • 更准确的进度 为客户开发出有价值的, 可工作的软件产品 • 减少的开发成本 • 快速,频繁的交付价值, • 实际的投资回报率 加速投资回报 • 提升的员工士气和降低的 • 建立高绩效的,自组织的 流动率 团队
  • 30. ‘What’ + ’How’的绝配 • CMMI和Agile是彼此兼容的 • 在项目层面,CMMI是对项目要做什么的抽象集 合,而没有描述具体的开发方法 • 敏捷方法着重于项目怎么开发产品 因此,两者可以并存
  • 31. CMMI, Agile的互补应用 • CMMI提供系统工程的实践活动,能够将敏捷的方 法应用到大型项目中 • CMMI也提供了过程管理和支持的实践活动,从而 能够使得在任何一个组织中引入、部署、维护、 以及持续的改进敏捷方法
  • 33. 议题 规范和敏捷 敌人还是朋友 实施指南 Agile CMMI实施指南
  • 35. 实施指南一览 CMMI Requirements Management Agile 5 Risk Management Project Planning 4 3 Verification Project Monitoring and Control 2 1 Validation 0 Configuration Management Technical Solution Measurement and Analysis Process and Product Quality Requirements Development Assurance Product Integration
  • 36. 实施指南中的几个例子 • 需求变更管理 – REQM SP1.3 • 双向可追溯性 – REQM SP1.4 • 估算属性和工作量 – PP SP 1.2, 1.4
  • 37. 需求变更管理 CMMI Agile Practice Agile Implementation Practice Guideline SP1.3 Manage Changes are Noted in daily standup requirements logged in Product meeting, and incorporate changes backlog, and the change in sprint backlog reviewed at every or exchange with some sprint planning existing requirements, or cancel the sprint due to unsuitability of current requirements set; product owner is required to be involved when this occurs
  • 38. 双向可追溯性 CMMI Agile Practice Agile Implementation Practice Guideline SP1.4 Requirements and Product backlog shows the Maintain bi- test cases are traceability between user directional bidirectional stories and their associated traceability of traceable if TDD is tasks requirements adopted
  • 39. 估算属性 CMMI Agile Practice Agile Implementation Practice Guideline SP1.2 Sprint planning, Identify and define the base Establish backlog items are for relative estimation, and estimates of estimated document the work relatively to each characteristics of the base products and others for negotiation and further task improvement attributes
  • 40. 估算工作量 CMMI Agile Practice Agile Implementation Practice Guideline SP1.4 Sprint planning, Use velocity for estimation, Determine poker game using and calibrate it based on estimates of Delphi estimation actual data effort and method cost
  • 42. 总结 • “If one has strong discipline without agility, the result is bureaucracy and stagnation. Agility without discipline is the unencumbered enthusiasm of a startup company before it has to turn a profit.” Balancing agility and discipline: a guide for the perplexed
  • 43. THA NK Y 谢谢 OU! ! Software Engineering Methodology Practices Simple Efficient Measurable Practical http://semp.wikispaces.com Semp.salon@gmail.com Version 1.00, page 43