敏捷开发相关概念——学习笔记

Scrum是一种轻量级敏捷开发框架,用来管理软件和产品。使用各类流程和技术来解决复杂的适应性问题,同时以高效生产力、创造性方式交付价值最大化的产品。
Scrum不适合很是简单的或异常复杂与混乱的项目。编程

 

敏捷宣言:
个体和互动 高于 流程和工具
工做的软件 高于 详尽的文档
客户合做 高于 合同谈判
响应变化 高于 遵循计划架构

 

Scrum有三个属性:轻量级、简单易懂、十分难以掌握。框架


Scrum依赖固定节奏的迭代周期,称为Sprint,每一个Sprint以计划会议开始。
Scrum的特征是团队内外的反馈和透明,它的短周期和协同的本质使其至关适应于快速变化或者有紧急需求的项目。工具


Scrum框架:
3种工件:产品backlog、Sprint backlog、完成标准
3种角色:产品负责人、敏捷教练、团队
4种会议:计划会议、每日站会、评审会议、回顾会议
5个价值观:承诺、勇气、专一、尊重、开放性学习

 

使用Scrum必须作出改变:
1. 理解Scrum的基本价值观
2. 每每要经历巨大的思惟方式的转变
3. 准备变化的发生并适应变化
4. 处理新暴露出来或新冒出来的问题
5. 引入敏捷工程实践测试

 

1. scrum的基本价值观:
承诺:说到作到,不轻易许诺
勇气:勇于尝试新的方法、勇于提出问题,勇于拒绝say no、勇于承担责任,主动担起任务
专一:不要被其余事情所打扰,传注当前事项与工做
尊重:互相尊重,彼此信任
开放性:开放的思想,吸取新的思想观念和方法,吸收各类经验教训编码

2. Scrum须要转变思惟方式:
成功的Scrum最大的障碍就是不具有转变思惟的能力,或者说不具有使用新的思考方式来解决问题的能力。
若是没有按照它的指令来使用,特别会在最初的时候,Scrum可使用你的项目很快变得很糟糕。不少团队浅尝辄止,自觉得懂得更多了,认为他们的实际状况有所不一样,因而按照本身的方式来应用。
在决定定制Scrum以前,必定要先理解Scrum。按照它原本的意图,不作修改直接拿来应用。花一些时间尽你所能好好学习它。
不要再一开始尝试把Scrum和你熟悉的其余一些工具组合使用,如今还不是时候。只有掌握了一种工具以后,你才可以学会把它和其余工具成功结合在一块儿使用。spa

3. 准备变化的发生,并适应变化
传统的软件开发方法是基于项目计划来开发的,先将计划的功能所有开发出来之后,再进行校验而后修正问题。越迟发现问题,要改动的地方越多(甚至软件架构),这样就会形成工做量成倍增长,工期延期等问题。
而敏捷开发,是基于价值来计划开发的,以阶段性完成有价值的故事为目标进行的,每一个阶段都会去验证,根据需求的变化去调整阶段性计划,越早完成的计划是越有价值的计划,这样持续性将价值功能交付给客户,也有利于客户提前发现问题,进而修正问题。
4. 处理新暴露出来或新冒出来的问题
Scrum能够暴露长期以来被掩盖或者忘记的问题,它也会暴露新的问题,这些问题不局限于开发和团队合做
Scrum挑战组织规范,迫使管理层作出艰难的选择:解决这些问题或者忽视这些问题
5. 引入敏捷工程实践
  a. Scrum是一个项目管理框架,它讲的是如何管理项目,可是它不包括特定的、可让你每两周就提交潜在交付软件的工程实践。所以你须要它的最佳搭档:极限编程(XP)
  b. 尽管单靠Scrum也对团队有所帮助,但把Scrum和XP结合在一块儿会产生显著的效果
  c. 一旦你的团队对Scrum的角色、工件以及会议有丰富的经验,他们就能够准备集成XP的实践
  d. 项目必须有如下XP实践:
    可持续的步伐:团队成员尽可能是专职的,不被打扰的;在作sprint时,针对旧系统的维护工做若是占用较多时间,可考虑启用专职维护团队来进行,维护旧系统时使用良好的工程实践来改进遗留代码。
    代码集体全部:避免增长与团队文化不协调的新成员,文化的冲突可能会致使项目开发效率低下,甚至失控。
    结对编程与测试驱动开发
    持续集成:天天至少提交一次代码,努力争取天天回家的时候持续集成都是绿色的
    编码标准:没有编码标准会对代码集体全部形成巨大的破坏
    重构:没有重构会让需求的改变没法适应业务变化的系统设计


成功秘诀:开放的学习Scrum
1. 改变规则是很危险的,团队必须理解Scrum的规则
2. 团队成员必须学习Scrum的基本机制
3. 给予足够的时间
4. 不要在项目中途使用Scrum
5. 保证为持续学习分配时间设计

相关文章
相关标签/搜索