Agile和cmmi 朋友还是敌人
Upcoming SlideShare
Loading in...5
×
 

Agile和cmmi 朋友还是敌人

on

  • 1,956 views

尝试将敏捷和CMMI模型相融合

尝试将敏捷和CMMI模型相融合

Statistics

Views

Total Views
1,956
Views on SlideShare
1,956
Embed Views
0

Actions

Likes
1
Downloads
75
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Agile和cmmi 朋友还是敌人 Agile和cmmi 朋友还是敌人 Presentation Transcript

    • 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