时间过的很快,转眼间在公司运用敏捷开发做项目已经10个sprint周期了,刚开始对于敏捷开发,从懵懵懂懂到渐渐清晰,从畏手畏脚到信手拈来,从陌生到熟悉,这中间经历了很多,也成长了很多。特别是刚开始心里特别不愿意接收,因为那时候总觉得敏捷开发有太多的步骤,似乎总有那么些程序需要走。作为项目组长的我那是深有感触,曾一度有点厌烦它,本来管理一个项目组就够忙的了,还要给上级一会做点这个一会搞点那。总有忙不完的任务。当经历了几个周期,渐渐的对敏捷开发熟悉了后,我开始改变了对它的看法。它还是有很多好处的。

当然有些人可能会问,到底什么是敏捷开发啊?敏捷开发就是以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

说了这么多,那下面就来对敏捷开发给项目管理带来的好处进行总结。

一、敏捷开发是以小周期代替大周期

瀑布模型、螺旋模型、快速原型等方法都有比较长的工程周期,常常要经历立项、需求、架构设计、详细设计、开发、测试等大的工程周期,耗时很长,很难看到完成的日子,更别说开什么庆功会了;当经历了魔鬼般的几个月,甲方要求变更需求的那种无奈。敏捷开发强调使用小周期:需求、设计、开发、测试、发布,快速实现、快速验证、快速应用;节奏更快了,在很短的几天就能看到项目组的成果;关键还在于不怕甲方的需求变更了(没以前那么烦躁)。

二、以小版本代替大版本

过去我们一般是在规划阶段规划为若干个大版本,一次性整体实现,大版本实现周期长、工程复杂,由于工程整体实现技术复杂、工程周期长,风险很大,常常出现延时和夭折;敏捷开发提倡在规划阶段就根据关键成功因数和团队工程能力规划为多个小版本,团队通常情况下只需要稍加努力就能够完成,大部分情况下版本如期发布,这样更有利于激励团队,很容易让大家在团队开发中找到反馈,使团队保持良好的战斗力。

三、以重构为基础,系统高度组件化、接口化、可扩展,强调契约设计

敏捷欢迎变化,甚至有可能推倒重来,而能实现这一特征的唯一法门就是不断重构,在重构中融入变化甚至是结构性的变化,重构是敏捷开发的常态行为;其实代码质量也提高不少,敏捷开发实现的系统是低耦合、可扩展的,系统被打散为多个不同职责的组件,协作完成整个功能;组件是责任的实体,组件之间通过公开的接口交互,契约是组件间交互行为的语义表达。

四、以变化适应变化

敏捷强调小周期、小版本、快速重构,所以新需求总能很快找到并入系统的时机,新需求一旦提出即可进入开发视野,根据重要性排除优先级,即刻设计实现并测试发布;敏捷也重视团队中人的变化,团队犹如一个变化的泡泡,不同阶段具有不同的形态,由于周期短,人员得到快速调整的时机和机会;

五、重构重视人的能动性,强调用户参与

小版本规划的功能少,容易实现,容易发布,使团队很快就能尝到成功的喜悦,团队在成功的激励下走向下一个成功,这个行为具有很强的社会心理学基础:成功激励成功。

心理学实验表明:一个人面临的挑战强度太低或者强度太大,都会士气底下,进而不重视;挑战强度太低,轻而易举的取得成功,两三次之后就会提不起兴趣了;挑战强度太大则很难看到成功的希望,容易自暴自弃,也会造成士气低;根据团队的能力制定适度的版本规划是很重要的,它能保持团队良好的士气,使成功的喜悦迷漫在成员的心头。

用户在表达其构想时常常无法完整的表达出来,唯有我们做出来演示给其看时,他才会说:“哦,就是这样子;这里还需要改一下!我想法是这样的。。。“,用户参与能清晰、有效的获取其真实意图,通过不断的确认、修改而实现用户满意的交付件。

六、发布是一件轻松愉快的过程

敏捷开发提倡尽早交付,也由于采用了小周期、小版本,开发过程中不断的有版本构建出来用于测试、验证、评价、归档,因为发布的过程仅仅只是从众多的版本中挑选一个合适的版本交付给最终用户使用;这样的状态下,发布过程是非常轻松愉快的。最最关键的是,团队成员可以在很短的几天就能看到自己努力的产品上线。

看看敏捷开发有这么多的好处,你还抱着瀑布模型、螺旋模型、快速原型不放吗?其实它的好处还不仅仅于此,对于产品开发过程中的业务目标、进度、成本、质量变得真正的可控。确保项目中流程被遵循,组织、监督、培训项目各实践活动得到落实。当然每个使用敏捷开发的公司都不尽相同,但是我相信大的方向和原则还是没有改变的。

说了他这么多的好处,难道就没有缺点了吗?当然有。

一、敏捷注重人员的沟通,若项目人员流动大太,又给维护带来不少难度,特别项目存在新手比较多时,老员工比较累。

二、流程比较多,对于管理经验少的人来说刚开始会比较乱。

三、文档管理会比较麻烦,因为敏捷开发重在“拥抱变化”。

四、增大开发人员,测试人员以及运行维护人员的工作压力,因为短平快的开发方式,产品发布周期短。

其实任何的方法开发都会有它的两面性,这些关键在于我们怎么去发扬他的长处,规避他的不足。通过这几个月使用敏捷开发,收获还是不小的,当然还需要不断的在实践中锻炼。这样才能更好的使用敏捷开发,更大效能的提高效率。给公司带来更大的回报,给自己更多的成长。

敏捷开发Sprint周期总结相关推荐

  1. 瀑布式开发、迭代式开发、螺旋开发、敏捷开发四种开发模式的区别

    1.瀑布模型是由W.W.Royce在1970年最初提出的软件开发模型,瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求分析.设计.编码.集成.测试.维护的步骤顺序进行. 步骤成果作为衡量进度的 ...

  2. 敏捷开发流程下的测试(一)敏捷测试核心

    敏捷开发下的测试(一)敏捷测试核心 本文是参考ThoughtWork冰玉老师(https://blog.csdn.net/bingyulin)讲的敏捷课程加上自己的理解写的,想听原版可以关注Thong ...

  3. Atitit 几大研发体系对比 Stage-Gate体系 PACE与IPD体系 敏捷开发体系 CMMI体系 艾龙 著 1. 3. 1.5:业界领先的研发管理体系简介 2 1 2. 《产品及生命周期

    Atitit 几大研发体系对比 Stage-Gate体系  PACE与IPD体系 敏捷开发体系 CMMI体系 艾龙 著 1. 3. 1.5:业界领先的研发管理体系简介 2 1 2. <产品及生命 ...

  4. 测试——开发模型(瀑布模型,螺旋模型,增量,迭代,敏捷)和测试模型(V模型,W 模型),软件开发生命周期与软件测试生命周期的对比

    目录: 软件测试生命周期与软件开发生命周期 开发模型 2.1 瀑布模型 2.2 螺旋模型 2.3 增量 和 迭代 2.4 敏捷 测试模型 3.1 V模型 3.2 W模型 1. 软件开发生命周期与软件测 ...

  5. 敏捷开发中的sprint是什么意思_百度知道

    敏捷开发中的sprint是什么意思_百度知道 敏捷开发中的sprint是什么意思_百度知道 敏捷开发中的sprint是什么意思     未成年RB21 | 浏览 4208 次     推荐于2016- ...

  6. 软件生命周期模型(瀑布型、V模型、W模型、敏捷开发模型)

    软件生命周期 软件生存周期的各项活动:需求分析.概要设计.详细设计.coding.测试.交付.验收.维护 软件开发模型 瀑布模型 定义:瀑布模型(Waterfall Model)是将软件生存周期的各项 ...

  7. 几种常用的软件生命周期模型与敏捷开发解读

    瀑布式开发和敏捷开发,看过软件工程相关的书籍的同学,对瀑布模型,增量模型 ,喷泉模型,W模型,V模型以及H模型都是知道一些的,那么现在提到更多的敏捷开发它们之间有什么不同和适用的范围,是否敏捷开发适用 ...

  8. 【中级软考】软件开发生命周期模型 瀑布模型、增量模型、原型模型、螺旋模型、喷泉模型、RUP(Rational Unified Process 统一软件开发过程)、敏捷开发(开发方法,不是周期模型)

    文章目录 瀑布模型/改进的瀑布模型(Waterfall Model) 螺旋模型(Spiral Model) 增量和迭代模型(Incremental Model) 原型法(RAPId Prototype ...

  9. [敏捷开发实践](2) 用于开发和维持复杂产品的敏捷开发框架Scrum

    [敏捷开发实践](2) 用于开发和维持复杂产品的敏捷开发框架Scrum 1,Scrum概述 上篇中提到敏捷开发有两种主流的方法,一个是XP,另一个是Scrum,本篇简要介绍Scrum方法.Scrum是 ...

  10. PingCode与Jira 敏捷开发管理能力的对比

    敏捷开发是一种以拥抱用户需求为核心.采用不断迭代的方式进行的软件开发模式,依靠自组织的跨职能小团队,在短周期内通过快速.频繁的迭代,迅速的获取反馈,进而不断的完善产品,给用户带来更大的价值. 虽然敏捷 ...

最新文章

  1. 把巧克力球送上天,玛氏用Uni Marketing 打造网红零食
  2. 前端不规则图像点击_css实现不规则图形的阴影(如对话框)
  3. oracle设计自增列,oracle中实现自增列
  4. linux命令行参数含空格,linux-具有命令行参数和空格的Perl脚本
  5. PHP多进程之pcntl扩展的使用详解
  6. index.html图片弹窗,原生javascript实现图片弹窗交互效果
  7. 文献学习(part11)--基于知识图谱的推荐系统研究综述
  8. 使用阿里云对象存储OSS收藏老婆新垣结衣日常照
  9. 查看回调函数执行在那个线程中的方法
  10. 千里之行始于足下---在“从普通走向优秀”的路上
  11. python语言源程序文件类型_浅谈Python的文件类型
  12. fastjson反序列化map_最新fastjson反序列化漏洞分析
  13. java email怎么设置端口号_java mail 设置参数
  14. 基于C语言的端口扫描工具设计与实现
  15. 【大数据实战】招聘网站职位分析
  16. 破解jQuery插件收费、下载币(单页扒站小工具)
  17. ubantu下安装redis
  18. Python中歌词解析
  19. 【五】 C语言基础知识学习回顾 | 一篇搞定C语言基础 | 内附详细代码以及注释
  20. 关于“尺蠖(huò)效应”

热门文章

  1. 简单聊聊利用DNS服务器提供单一入口
  2. Python for s60[1_pys60简介]
  3. Win7远程桌面 提示 登录没有成功解决方法
  4. python实现 stft_scipy-Python中的可逆STFT和ISTFT
  5. Revit模型如何在网页上显示
  6. OFDM CP和子载波间隔的取值原则
  7. 【阿里云产品使用教程】1. 阿里云VPC ECS SLB NAT初体验 - 上
  8. OPNsense用户手册-用户管理
  9. 安装Linux系统不分区的问题,浅谈linux系统的分区问题
  10. 牛顿迭代法(求平方根)