2018-10-23 10:10:39 dongjinkun 阅读数 559
  • SCRUM敏捷开发视频教程

    SCRUM敏捷开发视频教程,该课程为你分享SCRUM敏捷开发,理解敏捷的本质,认识中国IT行业对敏捷的挑战,学会让敏捷落地的实用招数。 嘉宾介绍:张传波 1. 创新工场创业课程(敏捷课程)讲师 2.软件研发管理佳实践顾问(曾任华为某团队研发顾问) 3. 中国敏捷联盟《ADBOK》(敏捷开发知识体系)项目组成员 二十年软件开发、软件设计、需求分析、项目管理、部门管理、公司管理及过程改进等经验,亲历“无数”项目,涉猎建筑、通讯、互联网、电力、金融、制造业、政府等领域,熟悉软件生命周期的全部过程

    10408 人正在学习 去看看 CSDN讲师

在备战软考做题的过程中,发现敏捷软件开发方法考的还算比较多,而自己也一直没弄明白!

敏捷开发方法

极限编程XP 是一种轻量级,高效,低风险,不能使编码速度加快
水晶法 每个不同的项目都要一套不同的开发策略,约定和方法论
并列争球法 运用了“迭代”的方法,把每段时间(例如30天)一次的迭代成为一个冲刺,并按需求的优先级别来实现产品,有多个自治组织和自治小组并行的递增来实现产品。
自适应软件开发  

 

 

 

2014-03-31 00:56:18 happylee6688 阅读数 11832
  • SCRUM敏捷开发视频教程

    SCRUM敏捷开发视频教程,该课程为你分享SCRUM敏捷开发,理解敏捷的本质,认识中国IT行业对敏捷的挑战,学会让敏捷落地的实用招数。 嘉宾介绍:张传波 1. 创新工场创业课程(敏捷课程)讲师 2.软件研发管理佳实践顾问(曾任华为某团队研发顾问) 3. 中国敏捷联盟《ADBOK》(敏捷开发知识体系)项目组成员 二十年软件开发、软件设计、需求分析、项目管理、部门管理、公司管理及过程改进等经验,亲历“无数”项目,涉猎建筑、通讯、互联网、电力、金融、制造业、政府等领域,熟悉软件生命周期的全部过程

    10408 人正在学习 去看看 CSDN讲师
上一站,我们简单的谈了谈FDD,了解了什么是特征驱动开发,以及它核心的整体模型,在我看来,它是一种有效但有一些复杂的敏捷开发方法,对于小团队来说,实施起来有些困难。然而,今天我们要认识的是一种新的开发过程——Crystal透明水晶方法。

概述


水晶方法,Crystal ,是由 Alistair Cockburn 和 Jim Highsmith 建立的敏捷方法系列,其目的是发展一种提倡“机动性的”方法,包含具有共性的核心元素,每个都含有独特的角色、过程模式、工作产品和实践。Crystal 家族实际上是一组经过证明、对不同类型项目非常有效的敏捷过程,它的发明使得敏捷团队可以根据其项目和环境选择最合适的 Crystal 家族成员。


与XP的对比


水晶系列与XP一样,都有以人为中心的理念,但在实践上有所不同。Alistair 考虑到人们一般很难严格遵循一个纪律约束很强的过程,因此,与XP的高度 纪律性不同,Alistair探索了用最少纪律约束而仍能成功的方法,从而在产出 效率与易于运作上达到一种平衡。也就是说,虽然水晶系列不如XP那样的产出效率,但会有更多的人能够接受并遵循它。


具体方法


Crystal系列开发方法,分为Crystal Clear,Crystal Yellow, Crystal Orange和Crystal Red分别适用于不同的项目。项目可以按照参加的人员和重要性划分。


重要性根据项目中的错误引发的后果分为:
  • C   :Loss of comfort (某些不舒适)
  • D  :Loss of discretionary money (经济损失)
  • E   :Loss of Essential Money (严重经济损失)
  • L   :Life Critical (生命危险)

一个项目称为C6说明参加人员在6人以下,重要性是C级,D20说明人员在6-20人,重要性是D级。


Crystal系列开发方法中,所适用的开发人员数量以及重要等级如下:
  • Crystal Clear适用于 C6,D6项目
  • Crystal Yellow适用于 C20,D20,E20项目
  • Crystal Orange 适用于 C40,D40,E40项目
  • Crystal Red 适用于 C80,D80,E80项目

在这里,主要是介绍一下Crystal Clear——透明水晶方法。透明水晶方法,适合于一个小团队来进行敏捷开发,人数在6人以下为宜。


七大体系特征

  • 经常交付
任何项目,无论大小、敏捷程度,其最重要的一项体系特征是每过几个月就向用户交付已测试的运行代码。如果你使用了此体系特征,你就会发现,“经常交付”的作用还是很让人吃惊的。

项目主办者根据团队的工作进展获得重要反馈。用户有机会发现他们原来的需求是否是他们真正想要的,也有机会将观察结果反馈到开发当中。开发人员打破未决问题的死结,从而实现对重点的持续关注。团队得以调整开发和配置的过程,并通过完成这些工作鼓舞团队的士气。
  • 反思改进
在我们的开发中,时常会出现这样那样的问题,技术难题、各种烦心事等等,这会在很大的程度上影响项目的进展。而且,如果其他任务对这项任务有依赖的话,那么其他的任务也会被推迟,这就很可能会导致项目的失败。

换句话说,如果,我们能够经常在迭代会中及时的反思和改进,那么,这种事情应该是不会发生的,或者说发生了,也能够很快的找到解决方案去应对它。事实上,从慌乱的日常开发中,抽出一点时间来思考更为行之有效的工作方法就已经足够了。
  • 渗透式交流
渗透交流就是信息流向团队成员的背景听觉,使得成员就像通过渗透一样获取相关信息。这种交流通常都是通过团队成员在同一间工作室内工作而实现的。若其中一名成员提出问题,工作室内的其他成员可以选择关注或不关注的态度,可以加入到这个问题的讨论当中来,也可以继续忙自己的工作。
  • 个人安全
个人安全指的是当您指出困扰您的问题时,您不用担心受到报复。个人安全非常重要,有了它,团队可以发现和改正自身的缺点。没有它,团队成员们知而不言,缺点则愈发严重以致于损害整个团队。个人安全是迈向信任的第一步。有了信任,团队协作才能真正的实施,开发效率也就会直线上升的。
  • 焦点
所谓“焦点”,就是确定首先要做什么,然后安排时间,以平和的心态开展工作。确保团队成员清楚的了解他们自己最重要的任务是什么,确保他们能够有充分的时间去完成这些任务。
  • 与专家用户建立方便的联系
与专家用户持续建立方便的联系能够给团队提供:对经常交付进行配置以及测试的地方,关于成品质量的快速反馈,关于设计理念的快速反馈,最新的(用户)需求。
  • 配有自动测试、配置管理和经常集成功能的技术环境
自动测试可以为开发人员在代码修改后就可以进行自动测试,并且能够发现存在的一些bug,以至开发人员能够及时的进行修改,对于他们来说,节省了时间,提高了效率,而且还不用为烦人的测试而苦恼。

配置管理系统允许人们不同步地对工作进行检查,可撤消更改,并且可以将某一系统设置保存后进行新系统的发布,当新系统出现问题,即可还原原系统的设置。

经常集成可以使得团队在一天之内对系统进行多次集成。其实,团队越频繁地对系统进行集成,他们就能够越快地发现错误,堆积到一起的错误也会越少,并使他们产生更新的灵感。

最好的团队是将将这三大技术结合成“持续测试集成技术”。这样做他们可以在几分钟内发现因集成所产生的错误。


推荐策略


尽管透明水晶方法并不要求掌握或者运用某些特定的策略或方法,但倘若在启动阶段能熟识一套有效的方法体系则是件有利的事情。透明水晶推荐的,非常具有意义且广为现代敏捷开发团队所采用的策略有:
  • 360度全方位考察
  • 早期胜利
  • 灵活程序框架
  • 增量重建
  • 信息传播器
2019-11-08 19:30:41 qq_34801169 阅读数 28
  • SCRUM敏捷开发视频教程

    SCRUM敏捷开发视频教程,该课程为你分享SCRUM敏捷开发,理解敏捷的本质,认识中国IT行业对敏捷的挑战,学会让敏捷落地的实用招数。 嘉宾介绍:张传波 1. 创新工场创业课程(敏捷课程)讲师 2.软件研发管理佳实践顾问(曾任华为某团队研发顾问) 3. 中国敏捷联盟《ADBOK》(敏捷开发知识体系)项目组成员 二十年软件开发、软件设计、需求分析、项目管理、部门管理、公司管理及过程改进等经验,亲历“无数”项目,涉猎建筑、通讯、互联网、电力、金融、制造业、政府等领域,熟悉软件生命周期的全部过程

    10408 人正在学习 去看看 CSDN讲师
  • 常用的敏捷过程开发方法有极限编程XP、敏捷建模( Agile Modeling)、自适应软件开发( Adaptive Software Development)、水晶方法体系( Crystal)和并列争球法。各开发方法描述如下

1.极限编程XP:一种轻量(敏捷)、高效、低风险、柔性、可预测、科学而且充满乐趣的软件开发方法。与其他方法对比,最大的不同在于

      1. 在更短的周期内,更早地提供具体、持续的反馈信息
      2. 迭代地进行计划编制,首先在最开始迅速生成一个总体计划,然后在整个项目开发过程中不断地发展依赖于自动测试程序来监控开发进度,并及早地捕获缺陷口
      3. 依赖于口头交流,测试和源程序进行沟通倡导持续的演化式的设计
      4. 依赖于开发团队内部的紧密协作尽可能达到程序员短期利益和项目长期利益的平衡Xp由价值观、原则、实践和行为四个部分组成,它们彼此相互依赖、关联,并通过行为贯穿于整个生命周期xp的核心是其总结的四大价值观:沟通、简单、反馈和勇气,它们是xp的基础,也是xp的灵魂。
      5. 5个原则:快速反馈、简单性假设、逐步修改、提倡更改和优质工作在方法中,贯彻的是“小步快走”的开发原则,因此工作质量绝不可打折扣,通常采用测试先行的编码方式来提供支持。
      6. 在xp中,集成了12个最佳实践:计划游戏、小型发布、隐喻、简单设计、测试先行、重构、结对编程、集体代码所有制、持续集成、每周工作40小时,现场客户,编码标准

2.敏捷建模( Agile Modeling)。AM是一种最近才出现的软件思想,一种轻方法论,NP实践既给了AM灵感,也是AM的一种具体实现。

      • 其核心原则为:主张简单;拥抱变化;你的第二个目标是可持续性,简单的说,你在开发的时候,你要能想象到未来;递增的变化:令投资人的投资最大化;有目的的建模;多种模型;高质量的工作;快速反馈;软件是项目的主要目标;轻装前进。
      • AM补充原则为:内容比表示更重要;三人行必有我师;了解你的模型;了解你的工具:局部调整;开放诚实的沟通。

3.自适应软件开发( Adaptive Software Development)。ASD的核心是三个非线性的、重送的开发阶段:猜测,合作与学习

4.水晶方法体系( Crystal)。水晶方法体系与XP一样,都有以人为中心的理念,但在实践上有所不同。水晶方法体系考虑到人们一般很难严格遵循一个纪律约束很强的过程,认为每一种不同的项目都需要一套不同的策略、约定和方法论。因此,与XP的高度纪律性不同,水晶方法体系探索了用最少纪律约束而仍能成功的方法,从而在产出效率与易于运作上达到一种平衡。也就是说,虽然水晶系列不如XP那样的产出效率,但会有更多的人能够接受并遵循它。

5.并列争球法。用迭代的方法,其中把每30天一次的迭代称为一个“冲刺”,并按需求的优先级来实现产品。多个自组织和自治小组并行地递增实现产品。协调是通过简短的日常会议来进行的。

  • 函数调用形参和实参数据传递知识点:函数调用时基本的参数传递方式有传值与传地址两种

2019-04-28 00:09:42 k3108001263 阅读数 747
  • SCRUM敏捷开发视频教程

    SCRUM敏捷开发视频教程,该课程为你分享SCRUM敏捷开发,理解敏捷的本质,认识中国IT行业对敏捷的挑战,学会让敏捷落地的实用招数。 嘉宾介绍:张传波 1. 创新工场创业课程(敏捷课程)讲师 2.软件研发管理佳实践顾问(曾任华为某团队研发顾问) 3. 中国敏捷联盟《ADBOK》(敏捷开发知识体系)项目组成员 二十年软件开发、软件设计、需求分析、项目管理、部门管理、公司管理及过程改进等经验,亲历“无数”项目,涉猎建筑、通讯、互联网、电力、金融、制造业、政府等领域,熟悉软件生命周期的全部过程

    10408 人正在学习 去看看 CSDN讲师
2013-02-01 22:03:17 OutManLee 阅读数 667
  • SCRUM敏捷开发视频教程

    SCRUM敏捷开发视频教程,该课程为你分享SCRUM敏捷开发,理解敏捷的本质,认识中国IT行业对敏捷的挑战,学会让敏捷落地的实用招数。 嘉宾介绍:张传波 1. 创新工场创业课程(敏捷课程)讲师 2.软件研发管理佳实践顾问(曾任华为某团队研发顾问) 3. 中国敏捷联盟《ADBOK》(敏捷开发知识体系)项目组成员 二十年软件开发、软件设计、需求分析、项目管理、部门管理、公司管理及过程改进等经验,亲历“无数”项目,涉猎建筑、通讯、互联网、电力、金融、制造业、政府等领域,熟悉软件生命周期的全部过程

    10408 人正在学习 去看看 CSDN讲师

敏捷开发模式是以人为核心,迭代,循序渐进的开发方法。

  主要的开发方法:

  1.极限编程(XP):降低需求变化的成本;

  2.Scrum;

  3.精益开发(Lean Development):不断完善开发过程;

  4.动态系统开发方法(DSDM);

  5.特征驱动开发(Feature Driver Development);

  6.水晶开发(Cristal Clear);

 

  一、Scrum开发框架

  它由一个开发过程,几种角色以及一套规范的实施方法组成;

 

  二、四种角色

  1.产品拥有者(Product Owner):负责产品的远景规划,平衡所有利益相关者(stakeholder)的利益,确定不同的产品需求积压的优先级;

  2.利益相关者(Stakeholder):负责收集编写产品需求,审查项目成果;

  3.Scrum专家(Scrum Master):指导开发团队进行Scrum开发与实践;

  4.团队成员(Team Member):项目开发人员;

 

  三、SCRUM名词

  1.Backlog:可以预知的所有任务,包括功能性的和非功能性的所有任务;

  2.Sprint:一次跌代开发的时间周期,一般最多以30天为一个周期;

  3.Sprint backlog:一个sprint周期内所需要完成的任务;

  4.Scrum Master:负责监督整个Scrum进程,修订计划的一个团队成员;

  5.Time-box:一个用于开会时间段。比如每个daily scrum meeting的time-box为15分钟;

  6.Sprint planning meeting:在启动每个sprint前召开。一般为一天时间(8小时)。该会议需要制定的任务是:产品Owner和团队成员将backlog分解成小的功能模块,决定在即将进行的sprint里需要完成多少小功能模块,确定好这个Product Backlog的任务优先级。另外,该会议还需详细地讨论如何能够按照需求完成这些小功能模块。制定的这些模块的工作量以小时计算。

  7.Daily Scrum meeting:开发团队成员召开,一般为15分钟。每个开发成员需要向Scrum Master汇报三个项目:今天完成了什么?遇到了障碍无法继续下去?明天要做什么?通过该会议,团队成员可以相互了解项目进度。

  8.Sprint review meeting:在每个Sprint结束后,这个Team将这个Sprint的工作成果演示给Product Owner和其他相关的人员。一般该会议为4小时。

  9.Sprint retrospective meeting:对刚结束的Sprint进行总结。会议的参与人员为团队开发的内部人员。一般该会议为3小时。

 

  四、实施Scrum的过程

  1.确定Sprint Backlog:将整个产品的backlog分解成Sprint Backlog,这个Sprint Backlog是按照目前的人力物力条件可以完成的;

  2.召开sprint planning meeting:划分,确定这个Sprint内需要完成的任务,标注任务的优先级并分配给每个成员。注意这里的任务是以小时计算的,并不是按人天计算;

  3.sprint开发周期:进入sprint开发周期,在这个周期内,每天需要召开Daily Scrum meeting;

  4.成果演示:整个sprint周期结束,召开Sprint review meeting,将成果演示给Product Owner;

  5.回顾:团队成员最后召开Sprint retrospective meeting,总结问题和经验;

 

  五、敏捷开发原则和方法

  1.迭代式开发:整个开发过程被分为几个迭代周期,每个迭代周期是较短的时间块;

  2.增量交付:每次交付的都是可以被部署到用户应用环境中被用户使用的、能给用户带来即时效益和价值的产品;

  3.开发团队和用户反馈推动产品开发:需求变化和用户反馈能被动态管理并及时集成到产品中;同时,团队对于用户的需求也能及时提供反馈意见;

  4.持续集成:新的功能或需求变化总是尽可能频繁地被整合到产品中;

  5.开发团队自我管理:积极的、自我管理的、具备自由交流风格的开发团队;人是敏捷开发的核心;

 

  六、敏捷软件开发宣言

  1.个体和交互胜过过程和工具;

  2.可以工作的软件胜过面面俱到的文档;

  3.客户合作胜过合同谈判;

  4.响应变化胜过遵循计划;


Scrum敏捷开发笔记

阅读数 228

敏捷开发概述

阅读数 1084

没有更多推荐了,返回首页