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和你熟悉的其他一些工具组合使用,现在还不是时候。只有掌握了一种工具之后,你才能够学会把它和其他工具成功结合在一起使用。

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. 保证为持续学习分配时间

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

  1. 敏捷开发scrum学习笔记(更新中)

    敏捷开发宣言.原则和方法(20/05/12更新) 开发宣言 个体和交互胜于过程和工具 可以工作的软件过程胜过面面俱到的文档 用户合作胜过合同谈判 响应变化胜过遵循变化 在每组对比中,后者并非全无价值, ...

  2. 软件开发流程--学习笔记

    软件开发流程--学习笔记 背景 产生原因及作用 个人理解 软件开发流程 需求 需求调研 需求分析 需求确认 设计 概要设计 详细设计 编码 测试 交付 维护 知识拓展 软件开发生命周期(SDLC) 软 ...

  3. ASP.Net MVC开发基础学习笔记(5):区域、模板页与WebAPI初步

    http://blog.jobbole.com/85008/ ASP.Net MVC开发基础学习笔记(5):区域.模板页与WebAPI初步 2015/03/17 · IT技术 · .Net, Asp. ...

  4. 微信小程序开发:学习笔记[8]——页面跳转及传参

    微信小程序开发:学习笔记[8]--页面跳转及传参 页面跳转 一个小程序拥有多个页面,我们可以通过wx.navigateTo推入一个新的页面.在首页使用2次wx.navigateTo后,页面层级会有三层 ...

  5. esp8266舵机驱动_arduino开发ESP8266学习笔记四—–舵机

    arduino开发ESP8266学习笔记四-–舵机 使用时发现会有ESP8266掉电的情况,应该是板上的稳压芯片的限流导致的,观测波形,发现当舵机运转时,电源线3.3V不再是稳定的3.3V,大概是在3 ...

  6. 微信小程序开发:学习笔记[9]——本地数据缓存

    微信小程序开发:学习笔记[9]--本地数据缓存 快速开始 说明 本地数据缓存是小程序存储在当前设备上硬盘上的数据,本地数据缓存有非常多的用途,我们可以利用本地数据缓存来存储用户在小程序上产生的操作,在 ...

  7. 多人网络游戏服务器开发基础学习笔记 II: 帧同步 | 游戏客户端预测原理分析 | FPS 游戏状态同步

    这篇是对书本 网络多人游戏架构与编程 的学习第二篇(第一篇:多人网络游戏服务器开发基础学习笔记 I:基本知识 | 游戏设计模式 | 网游服务器层次结构 | 游戏对象序列化 | 游戏 RPC 框架 | ...

  8. 阿里云HaaS100物联网开发板学习笔记(六)做个智能灯---一个完整的开发例子

    摘要:本篇文章将前期几个专题综合起来,基于阿里云HaaS100的新固件设计制作一个智能灯.这个智能灯由云平台.手机APP端和设备端组成,基本上涵盖了一个物联网小项目所需的主要步骤. 目录 1.在阿里云 ...

  9. 阿里云HaaS100物联网开发板学习笔记(二)硬件控制初步--让小灯闪烁起来

    摘要:无论是哪种开发板,要想开发特定的功能,必先从GPIO开始,HaaS100开发也是一样.如果仅仅利用HaaS100的联网功能,那简直是太浪费了.HaaS100拥有其他开发板所具备的所有的功能,比如 ...

  10. 阿里云HaaS100物联网开发板学习笔记(四)轻应用初步--用javascript连接阿里云物联网平台

    摘要:本篇文章讲解如何使用JavaScript"轻应用"连接阿里云物联网平台并上报一个数据.仍然延续前几篇文章的结构,从安装软件环境开始讲,以使零基础的同学看了本篇文章之后,也能够 ...

最新文章

  1. 机器学习数据预处理之离群值/异常值:图像对比法
  2. 读取接口XML和批量导入数据SqlBulkCopy
  3. 276. Paint Fence
  4. jQuery选择器引擎和Sizzle介绍
  5. Java ProcessBuilder environment()方法与示例
  6. Windows Serivce服务实现过程和打包安装
  7. 分布式对象存储 读书笔记(一) 开始
  8. Java 用接口实现加减乘除计算器
  9. linux 中ifconfig命令 结果解释
  10. 三羊献瑞——第六届蓝桥杯C语言B组(省赛)第三题
  11. C# WinForm开发鼠标连点器
  12. Android, App常用图标尺寸规范
  13. STVP烧录失败提示“cannot communicate with tool”或者“The device is protected”
  14. python的词性标注
  15. HTML+css+javascript面试题
  16. Shell脚本读取mysql结果集各数据项的值
  17. java指数表示法_Java指数计数法详解
  18. 联想y430完全拆机图解_Y430P拆机:安装内存+清灰
  19. 暗时间(普通的一种时间概念)
  20. 中科大计算机科学夏令营,中科大计算机保研夏令营

热门文章

  1. andorid自定义ViewPager之——子ViewPager滑到边缘后直接滑动父ViewPager
  2. java ajax传值到后台_java ajax发送数据到后台,中文乱码
  3. constraintlayout布局新特性_进阶ConstraintLayout-2.0新特性
  4. linux系统中文乱码的问题
  5. python文件目录操作-2
  6. PyQt+QtDesigner及相关插件的安装和设置
  7. taro 请务必在小程序页面中完善页面基础信息_如何一人五天开发完复杂微信小程序...
  8. 水凝胶 静电纺丝_离子液体/水和静电纺丝条件对聚偏氟乙烯纳米纤维晶体结构的影响...
  9. C# list删除 另外list里面的元素_python学习笔记第三课:List(列表)
  10. c语言第四章选择结构作业,《c语言程序设计教程》林芳易云飞》第四章选择结构例题,习题详解...