文档章节

【scrum 1】 敏捷开发简单理解

Daim
 Daim
发布于 2016/03/22 14:55
字数 1467
阅读 36
收藏 2

[+]

随着敏捷开发越来越流行,人人都在谈敏捷,人人也都在学习scrum等敏捷开发方法。。。当然,自己也是敏捷开发的实施者和受益者。

背景

我们公司引入敏捷开发的时间并不长,在实施敏捷的过程还存在一些问题,自己在实施敏捷的过程也存在很多的疑惑(毕竟原来没有学过,和真实的经历,体会),所以最近一直在学习敏捷,看敏捷的视频和阅读相关资料,同时结合自己实施敏捷的经验,通过分享博文进行一下简单的总结,目的有四: 
1. 详细的介绍和学习一下敏捷开发 
2. 和CSDN的大牛们一起分享交流,学习,提高一下 
3. 总结实施敏捷过程中的问题,不断反思,不断提高 
4. 最后,希望对不了敏捷的朋友有一定的帮助

什么是敏捷开发

敏捷开发(Agile Development)不是指某一种具体的方法论、过程或框架,而是一组价值观和原则。

怎么理解呢?

  • 首先,敏捷并不是一门具体的技术,而是一种理念或者说是一种思想。它可以指导我们更加高效的开发。

  • 其次,敏捷开发都具有以下共同的特征:

    1. 迭代式开发

    2. 增量交付

    3. 开发团队和用户反馈推动产品开发

    4. 持续集成

    5. 开发团队自我管理

  • 最后,相比于“传统”的瀑布开发模式,敏捷开发是一种“现代”的开发模式。

具体方式

上面说了敏捷是一种指导思想或开发方式,但是它没有明确告诉我们到底采用什么样的流程进行开发,而具体的开发方式有哪些呢?

Scrum,极限编程(XP)精益软件开发(Lean Software Development),动态系统开发方法(DSDM),特征驱动开发(Feature Driver Development),水晶开发(Crystal Clear)等等。

除了Scrum和XP,对于上面的其他开发方式,我也只是简单了解,大家可以多查查相关的资料。

我们可以简单的对比一下Scrum和XP: 
1. 在开发的过程中,你可以采用Scrum方式也可以采用XP方式; 
2. Scrum和XP的区别是,Scrum偏重于过程,XP则偏重于实践,但是实际中,两者是结合一起应用的。

敏捷开发宣言

《敏捷宣言》

我们通过身体力行和帮助他人来揭示更好的软件开发方式。经由这项工作,我们形成了如下价值观:

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

在每对比对中,后者并非全无价值,但我们更看重前者

敏捷宣言是对敏捷的高度总结和升华,即使现在不理解也没有问题,在实践的过程中我们会逐渐对它有一个深刻的认识。

敏捷开发十二原则

在敏捷开发中,我们遵循以下准则:

  1. 我们的最高目标是,通过尽早和持续地交付有价值的软件来满足客户。

  2. 欢迎对需求提出变更——即使是在项目开发后期。要善于利用需求变更,帮助客户获得竞争优势。

  3. 要不断交付可用的软件,周期从几周到几个月不等,且越短越好

  4. 项目过程中,业务人员与开发人员必须在一起工作。

  5. 要善于激励项目人员,给他们以所需要的环境和支持,并相信他们能够完成任务。

  6. 无论是团队内还是团队间,最有效的沟通方法是面对面的交谈。

  7. 可用的软件是衡量进度的主要指标。

  8. 敏捷过程提倡可持续的开发。项目方、开发人员和用户应该能够保持恒久稳定的进展速度。

  9. 对技术的精益求精以及对设计的不断完善将提升敏捷性。

  10. 要做到简洁,即尽最大可能减少不必要的工作。这是一门艺术。

  11. 最佳的架构、需求和设计出自于自组织的团队。

  12. 团队要定期反省如何能够做到更有效,并相应地调整团队的行为。

敏捷开发宣言比较抽象,但是敏捷开发十二原则就非常具体了,相信用过敏捷的人都知道,上面的十二原则都是开发过程的经验总结。看到十二条原则,一一的对比我们公司在实施敏捷的过程,还存在一些问题,这些问题直接导致了低效率的,不顺畅的敏捷,例如:最后一条,团队要定期反省,这点做的就不好,造成团队的积极性降低,开发效率下降,而且很难作出调整,甚至我开始也是拒绝的,有了这些原则作为指导,我们可以更加从容的实施敏捷。

敏捷开发十二原则是我们实践的具体指导方针,它可以指导我们实施更加成功的敏捷。当我看到这些内容时,真有一种如饥似渴的感觉,真想一下子都把他们装进我的脑子里。书到用时,方恨少。及时补充自己永远都不晚。

总结

敏捷的思想今天算是深入人心了,后面的具体方法就是教会我们如何实施敏捷。有了这些思想,整个世界都开始美好了。


本文转载自:

共有 人打赏支持
Daim
粉丝 2
博文 32
码字总数 7771
作品 0
海淀
高级程序员
私信 提问
敏捷开发思想及Scrum实践

导语:现在每当直接或间接带一支研发团队我都会给大家做一次敏捷思想和实践的培训(注:软件方向,复杂的硬件开发流程建议使用IPD思想)。作为一个有近10年的开发编码工作经验的资深程序员,...

yaocoder
2017/10/29
0
0
敏捷开发探寻本质

我们需要坐下来好好谈谈,什么事敏捷开发。 1.什么是敏捷开发? 敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。 怎么理解呢?首先,我们要理解它不是一门技术,它...

疯狂的兔子
2014/06/24
22
0
[译] 敏捷、Scrum和看板:这些词到底是什么鬼?

当一个软件开发人员听到关于“新的JavaScript框架”或者“新的IDE”的新闻时,他不需要问多的问题的就能明白它是什么。但如果他听到的是”新的敏捷框架“时,他很可能会点点头,假装他知道...

暗夜在火星
2016/02/28
380
0
【成都站】用Leangoo做Scrum敏捷开发实战课(免费)

我们诚邀您参加 2017《用leangoo做Scrum敏捷开发》实战课!在此实战课上,您不仅可以听到一线资深敏捷顾问带来的敏捷落地实践经验,还可以和众多企业同仁共同探讨敏捷实践过程中的酸甜苦辣。...

晓月玥
2017/09/06
20
0
【杭州站】用Leangoo做Scrum敏捷开发实战课(免费)

我们诚邀您参加 2017《用leangoo做Scrum敏捷开发》实战课!在此实战课上,您不仅可以听到一线资深敏捷顾问带来的敏捷落地实践经验,还可以和众多企业同仁共同探讨敏捷实践过程中的酸甜苦辣。...

晓月玥
2017/08/21
16
0

没有更多内容

加载失败,请刷新页面

加载更多

阿里的Java岗面试到底有多难?这些常问技术原理你能答出多少!

阿里面试喜欢问哪些? 阿里的面试特别喜欢面试技术原理,特别是 数据结构 多线程并发 NIO 异步消息框架 分布式相关的缓存算法等 JVM的加裁过程和原理 垃圾回收算法 以及具体使用过的框架,会...

java知识分子
26分钟前
2
0
hibernate入门

下载和导包 下载hibernate 导入数据库驱动包 导入hibernate必要包 lib/required 导入日志记录的包 创建数据库和数据库实体 package com.company.domain;public class Customer { ...

gwl_
32分钟前
1
0
快速体验 Sentinel 集群限流功能,只需简单几步

️ Pic by Alibaba Tech on Facebook 集群限流 可以限制某个资源调用在集群内的总 QPS,并且可以解决单机流量不均导致总的流控效果不佳的问题,是保障服务稳定性的利器。 Sentinel 从 1.4.0 ...

阿里云云栖社区
32分钟前
1
0
元数据注册系统:命名和标识原则

名词定义 对象类术语 对象类是概念、抽象或客观事物的集舍,它们具有明确的边界和含义,且其特性和行为都遵循相同的规则。一个对象类术语可以是管理项概念域、数据元概念和数据元的名称的一部...

十动然拒
42分钟前
1
0
抽丝剥茧:生产环境中负载均衡产品DPDK问题的解决

ULB4是UCloud自主研发的基于DPDK的高可用四层负载均衡产品,转发能力接近线速;DPDK则是一个高性能的开源数据面开发套件。ULB4作为用户应用的全局入口,在大流量多元化场景下保证用户业务的持...

UCloudTech
42分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部