敏捷开发模式发展_传统开发模式和敏捷开发模式的区别 - CSDN
  • 部门推广scrum敏捷开发已经小半年了、团队也从不适应、慢慢地开始变的习惯。之前领导安排我作为我们组的scrum master、因为从来没有做过leader、然后直接之前也没有接触过scrum、更是非常别扭、很吃力、因为不仅要做...

    部门推广scrum敏捷开发已经小半年了、团队也从不适应、慢慢地开始变的习惯。之前领导安排我作为我们组的scrum master、因为从来没有做过leader、然后直接之前也没有接触过scrum、更是非常别扭、很吃力、因为不仅要做master的工作、还要承担100%的开发工作、开始的时候非常吃力。现在随着大家都开始慢慢习惯scrum的工作模式、我才开始慢慢地从每天1/3的时间、降到每天只要半个多小时花在scrum的管理上面。
    如果要我总结中间的模式转换的话、我觉得最关键的有两点、一是大家对于敏捷的认知要深刻、要让全体成员都自我改造成敏捷开发者、二是要做好对product backlog的管理。

    自我驱动

    虽然我们号称敏捷了、也每天开早会、也有了自己的sprint看板、每个sprint也要开总结回顾会议、但是我觉得这些更多的都是敏捷的行、而不是敏捷的神、那么什么是神呢?我个人觉得是作为团队成员来说、神就是从被驱动、改变为自我驱动,这两者简直是两种思路。
    最开始的时候、我会每个sprint之前、为组员整理好人力分配图、其实就是帮每个人安排每天的任务、然后在接口出问题的时候、也要我去催、接口卡在哪里了、有哪些解决方法。我非常累、大小事情都要操心、组员遇到问题了、也会问”master、这个出问题了“,然后就等我帮忙解决。后来领导开会、一起聊、发现其他的组也是有这个问题、每个组的scrum master都是身心俱疲、这时候、领导也说、我们其实只是组织大家在一起协作、而不是所谓的”项目经理“。
    在这之后、我就有意思的从具体的事物中脱离出来、把原来的什么都管、转换为专注为大家提供一个更流畅的合作上来。我不再帮每个人分配要做哪些、而是大家自己去分配、去协调、我不再去管具体的接口的发布日期、而是让做这个story的人、自己去商量。慢慢地、大家就知道了、这个story是我的、那么、所有关于它的事物、我都要关心、story不是产品经理、也不是master的、所以大家有责任去把它做好、这样反而极大地提高了我们的开发效率、从中央处理式、变成了分布式处理、每个人都很关心当前的story、大家也有了更高的目标、不再是“我要把这个功能完成”,而是“我要为用户创造价值”。

    product backlog管理

    第二个非常重要的、我觉得是backlog的管理、我觉得一定要有一定数量的backlog、不仅让整个团队时刻有目标感、知道我这个阶段要做哪些事情、而且能帮助产品负责人理清自己的思路。可能很多人会觉得、作为产品负责人、肯定是接下来半年做的、都在心里了、我觉得未必、我就遇到过完全没有思路、甚至需要我一起帮理清产品思路的人。因为公司的业务非常多、任务也比较重、导致很多需求的质量不高、下个sprint都要开始了、UI的设计风格还没定、 这种事情就发生在身边!
    从一个开发的角度来讲、我当时是希望需求早就定了下来、并且永远都不会变、但我知道、这个是妄想、但是我觉得、提到开发面前的需求、至少要是经过产品深思熟虑、考虑了很多不同的方式、最终觉得的一个比较好的方式、这样、即使有变化、也不会是大的变化。开发的角度就是、很不喜欢大的变化、尤其不喜欢不确定的东西、写了if、总要写个else吧、如果sprint过程中不断的变化需求、那感觉就像、正打着LOL、不停地断电、时间都白白浪费了、我觉得烂需求就是在扼杀开发的生命、就是在浪费团队的资源!一定不要让这种事情频繁发生。
    我的经验是、最好下个sprint开始之前的两三天、就可以和产品要具体点需求、master先大致看下、没有什么致命的漏洞、也近来难过保证UI之类的都是完整的、会把后面可能的变动降低很多。另外需求的变更一定要有记录、这样几个sprint下来、就可以拿着记录去和产品负责人谈这些问题。

    从普通的开发流程、到敏捷开发、是会有很多的痛苦、但我觉得、适应了之后、成果会让你觉得、都是值得的!

    展开全文
  • 敏捷开发 vs 传统模式

    万次阅读 2015-05-28 22:41:00
    这几年的敏捷开发已经被很多敏捷咨询服务商神话了,这个东西并不是神器,实施了就可以解决所有软件公司的问题,而是要结合自己公司的特点和问题摸索出适合自己的一套模式。 大家都知道,创业公司刚开始需要研发出...

    说起敏捷开发,并不是因为敏捷而敏捷。这几年的敏捷开发已经被很多敏捷咨询服务商神话了,这个东西并不是神器,实施了就可以解决所有软件公司的问题,而是要结合自己公司的特点和问题摸索出适合自己的一套模式。

    大家都知道,创业公司刚开始需要研发出一款产品并且能够使公司赚钱的产品,不过大部分创业公司没有那么容易一下就能做出来,很多公司还没有成功的产品资金链就断掉了,公司也死掉了。我们公司是这样一个状况,有一条产品线可以维持公司开支并仅仅刚够盈余,要扩大高速发展还不够,一直维持就没有创业的意义。另一条线是做技术创新为未来能够开发一款人气爆棚的产品摸索着,但是又不能饿着肚子去开发。我们是如何结合自身的特点实施敏捷开发的呢?一个难题,很大的难题!

    我们技术团队人员是这样的配置:1名技术总监、2名资深开发工程师、1名高级开发工程师、2名潜力开发工程师、1名前端开发、1名测试。技术总监需要处理很多团队管理、客户管理的工作,能够参与项目的时间最多每天二分之一。2名资深开发需要负责给其他工程师做导师,参与新项目开发时间大概有80%。高级工程师要预留项目学习时间,参与项目的时间大概有90%。潜力开发工程师需要有一些时间学习技术和项目,但是基本可以做到70%的时间投入项目。前端开发和测试哪里有需要就在哪里革命,属于机动部队。

    现在总共有六个老项目在维护,两个新项目需要开发。六个项目的维护总共需要每周4人天时间(人天指需要花1个人4天的时间完成一个事情)。其中一个新项目“项目1”大概估计120人天的开发时间,需要1个月之内开发完成。“项目2”大概估计要40人天的开发时间,需要2周开发完成。而现在的人力按照能够投入的时间算一下,总共资源为 (1 * 1/2 + 2 * 8/10+1 * 9/10+2 * 7/10) 30天 = 132 人天,6个老项目每周需要4人天,一个月4周,需要 4 * 4 = 16人天。项目能够投入的资源有 132 – 16 = 116人天,而总共需要120 + 40 = 160天,足足少了44人天,这看起来是一个不可完成的任务。

    不过到最后,我们还是使用敏捷开发完成了这两个项目,也没有影响老项目的维护。我们是怎么操作的?最开始我们两个开发,这个时候只要两个人就能够很好的合作把产品开发出来,不需要什么模式。随着人员的扩充,团队间如何协作按时按质按量完成任务就需要好好思考下了。

    尝试一,传统软件开发模式。整个过程为 需求分析、系统设计、任务分解计划安排、开发设计、编码、测试、交付、验收、维护。这个模式也是大家最常使用的模式,不过套用在我们公司时我们是这么操作的。

    传统开发过程
    传统开发过程

    由于公司创业,老板有一个想法,但并不能很好的描述需求,所以需求分析的任务落在技术总监身上。系统设计和任务分解刚开始是技术总监完成,后面资深开发工程师可以承担一部分。开发设计可以让各个开发工程师完成,资深工程师进行把关,再到测试人员测试,最后再交付用户验收、技术维护。看起来很好的模式,开发了几个产品最终有的延时有的产品离用户的期望差距甚远,参与项目团队的人信心受挫。

    为什么会失败呢?后来思考了这些问题:

    1、技术总监不是产品经理,不能够承担产品设计的责任。老板是信任技术总监能做好产品,就交给他做。但这里搞混了一个概念,产品经理和项目经理,技术总监应该起到项目经理和架构师的作用。项目经理管控项目进度和计划、架构师把握整体技术问题。而技术总监接到这个任务又不能不做好,责任所在。说到底,就是机制没有把产品设计和项目经理区分开,不等于技术实现者就是产品设计者。更多的应该让老板或者其他业务人员承担产品设计的工作。

    2、需求不稳定,变化后改动代价大。由于创业,需求为了适应市场会经常调整,但是一但调整,很多开发计划就会受到相应的调整。如果部分功能已经正在开发,调整需求后很多工作要重新开始,严重影响了技术同事积极性。业务不调整需求是不可能的,他们是为了满足用户的要求,用户满意了才能给企业带来价值。不过如果调整,代价太大,很多代码要重写,大家就会责怪技术总监或者项目负责人没有把握好需求。

    3、团队经常加班,但战斗力不强。 核心团队疲于应对需求、技术开发、老系统维护,没时间指导新同事技术学习,而新同事技能暂时还没有发挥出来干活效率低,任务经常延期,没有成就感。核心团队事情很多,没有时间整理项目文档,新员工没有文档上手慢。大家每天很多事情,需要加班才能完成,比较疲惫。每个人除了工作还有很多事情需要做,比如回家看看电视、陪陪家人、看看书学习一下等。如果让一个员工一天二十四小时都是工作,他能同意,他家人也不一定同意。让大家愉悦的开发,比疲惫的上班效率要高很多。

    4、交付软件质量差,离用户期望差距大。创业时大家的想法都是好的,大干一番,做一个所有人都爱使用的产品。现实是残酷的,大家辛辛苦苦做出来的东西,老板不满意、用户不埋单,付出的努力没有人认可。交付的软件没时间自测试,或者自测试不充分,交给测试又是一大堆问题。有些公司还没有测试,直接出去给用户,相当危险。这样交出去的公司不仅仅影响了用户的使用,还影响了整个公司的口碑。

    不是说传统软件开发模式不好,只是不太适合我们这种创业公司。开始尝试其他模式,如果没有一个很好的体制就不能把大家的最大生产力发挥出来。

    尝试二,敏捷开发模式。敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。敏捷方法强调以人为本,专注于交付对客户有价值的软件。在高度协作的开环境中,使用迭代式的方式进行增量开发,经常使用反馈进行思考、反省和总结,不停的进行自我调整和完善。

    敏捷开发的主旨

    一:个体及交互比流程与工具更具价值

    二:可用的软件比冗长的文档更有价值

    三:与客户的协作比合同谈判更有价值

    四:对变化的响应比遵循计划更有价值

    而我们之前的问题,交付软件客户不满意、延期、需求更改代价大貌似都可以解决。这么好的模式赶紧要试试,先看一张敏捷开发的流程图。

    创业公司敏捷开发敏捷流程化
    创业公司敏捷开发敏捷流程化

    敏捷开发简单流程

    1、产品负责人将整个产品设计成产品backlog。产品backlog就是一个个需求列表。(backlog可以理解为需求或者要做的事情)
    2、召开产品backlog计划会议,预估每个backlog的时间,确定哪些backlog是需要在第一个sprint中完成的,即sprint的backlog。(sprint可以理解为一个团队一起开发的一个任务集合)
    3、把sprint的backlog写在纸条上贴在任务墙,让大家认领分配。(任务墙就是把 未完成、正在做、已完成 的工作状态贴到一个墙上,这样大家都可以看得到任务的状态 )
    4、举行每日站立会议,让大家在每日会议上总结昨天做的事情、遇到什么困难,今天开展什么任务。(每日站立会议,是在每天早上定时和大家在任务墙前站立讨论,时间控制在15分钟内)
    5、绘制燃尽图,保证任务的概况能够清晰看到。(燃尽图把当前的任务总数和日期一起绘制,每天记录一下,可以看到每天还剩多少个任务,直到任务数为0 ,这个sprint就完成了)
    6、sprint评审会议是在sprint完成时举行,要向客户演示自己完成的软件产品 。
    7、最后是sprint总结会议,以轮流发言方式进行,每个人都要发言,总结上一次sprint中遇到的问题、改进和大家分享讨论。

    我们怎么结合敏捷开发解决现有项目的问题,要记得任何措施都是为了保证按时按质按量把软件交付给用户,不要为了敏捷而教条实施敏捷,公司不能产生商业价值,任何先进的理念或者技术都是无意义的。我们做了这些措施:

    1、推广敏捷开发理念。不管是大公司还是小公司强制推行一项制度效果一般都不怎么好。要能推行下去的任何东西一定要大家接受的,才能被认可。

    • 首先培养测试小妹学习敏捷开发,后续让她承担部分产品责任人和敏捷指导者的角色,原因有:
      a、测试要验收功能,必须理解业务需求。
      b、测试也是QA质量体系的一块,学习好了对于软件质量有个更深的认识。
      c、团队大部分是男生,女生推广更有亲和力一些。
    • 召集所有技术团队开会准备推广。开始和测试小妹好好讨论下,怎么给大家说更有效,更容易接受。她要讲解一定要自己非常清楚敏捷开发,并且准备充分知识点。开会时先指出我们现在问题,让大家看看有什么想法解决问题吗?现在我们做的产品,客户不认可、老板不满意、自己很累没有成就感,有什么办法解决。在大家讨论后,抛出敏捷开发的优势,一般情况下大家都会认可的。大家可能会问到如何执行、落地,可以尝试找一个项目试点,如果实施成功就可以让大家全面推广,不成功也只影响了部分项目。

    2、搭建敏捷开发环境。大家要实施敏捷开发,需要比较好的基础条件保证敏捷开发顺利进行。主要几个关键的软件:nexus 搭建仓库依赖中心、maven 管理工程的依赖、jenkins 持续集成和自动编译发布、svn 集中代码管理、jira 记录需求和状态。具体参考《敏捷开发环境搭建》

    3、敏捷项目实施。整个公司建立以业务目标为导向的氛围。就以“项目1”来说,目的是完成这个项目,需要进行这几步:

    • 先根据各自的能力和意向聚集一批完成这个目标的勇士,不管技术和非技术。如果聚集的人不够,技术总监可以根据总体项目的投入机动调整资源以支持,不过条件允许的话还是根据大家意愿来聚集。最终“项目1”召集了一个技术总监、一个资深开发、两个潜力开发、一个前端、一个测试,除去大家做其他事情的时间,总共可以算作4个人。
    • 充分调动客户(老板和业务同事)参与进项目,他们的参与直接决定了项目成功与否。结合之前的经验,如果他们参与不够,最终做出来的东西就不是他们要的,或者离他们要的差距很大。他们刚开始加入的时候,很迷茫有时会表现的比较抗拒,这个时候一定要耐心坚持让大家把第一个sprint开发成功,使大家尝到甜头。让他们全程参与项目也是表示了我们拥抱变化,如果有需求变化,就添加任务到任务墙,大家可以对所有任务的时间有个全面了解,如果超过sprint结束时间就需要业务决策哪些功能不在这个sprint周期加入。
    • 技术总监安排和客户沟通,客户这里指老板和业务。测试小妹负责和客户沟通记录,技术总监辅助。多次沟通后,尝试让测试把需求原型用最简单的工具绘制出来,技术总监审核通过后和客户沟通确认,反复迭代,直到整个需求大家没有异议。很多公司这种需求是有一个专门产品负责人来执行,但按照我们目前的人力是没办法做到的。这里没有让技术总监做主要是为了避免之前出现的问题,过度技术设计产品。
    • 产品设计出来后,召集项目成员分解任务,确定每个任务的时间,可以使用敏捷扑克牌来估计。任务分解尽量控制在 1-2天的粒度,这样大家1-2天就可以做出一个能测试的原型,尽早可以集成测试发现问题。一个sprint的任务集合尽量控制在1-2周,不能太长,也不能太短。太长会出现疲劳,太短的sprint会让大家觉得工作太多,做完一个又一个。“项目1”估算结果为120人天,总共投入4个人,需要30天4周时间,我们切成了4个sprint,差不多1个月时间完成,满足业务的时间要求。
    • 分阶段实施sprint,绘制任务墙,划分未开始、已计划、进行中、完成、燃尽图。把要做的sprint任务上墙,贴到未开始的地方。

    创业公司敏捷开发任务墙
    创业公司敏捷开发任务墙

    • 每日站立会议大家认领任务。包括业务任务、开发设计、开发编码、前端设计开发、测试等都是一个个任务,统一管理起来。强调的是一个团体,如果有同事请假,其他同事可以顶上完成任务。站立会议总结昨天的任务是否有问题,对于当前的任务有什么建议,尽量控制在15分钟内,有效会议。这里不会像以前业务或者项目经理追着大家屁股要结果,而是团队驱动,每天大家做的事情都反映在墙上,谁出现了什么状况,大家都会帮他想办法,保证整个项目能够成功。每一个任务完成,由项目执行者把任务从进行中贴到完成区域。再从未分配区域认领新任务贴到进行中的区域。
    • 软件开发过程。认领任务后,怎么保证大家开发有质量的代码?团队有资深点的工程师,不需要太多指导,直接可以参与项目的开发。而学习型工程师,需要指导帮助才能一步步做用例、系统分析。技术总监不建议认领太多开发任务,他负责开发团队的概要设计审核,没有审核通过的设计不能开发,并指导大家分析和设计系统。大家都知道,系统思路有了,剩下就是技术实现的过程,只要技能掌握熟练实现基本难度不大。大家可能会问,敏捷开发不是强调软件开发的产品是软件,而不是文档吗?我们这里也不是像传统开发软件一样为了文档而文档,只是让大家把自己的设计思路写下来,只有经过自己仔细设计后才能把思路清晰的写下来。大家写的时候也不需要长篇大论,这样的文档是不欢迎的,受欢迎的文档只需写出用例分析,表设计,复杂的逻辑需要画出流程序列图。
    • 结对编程。之前这个编程模式被无数人调侃过,其实也不可能让每一个项目全程都是两个人结对编程。这个不现实也浪费资源。我们的结对是在大家开发一个难点模块时,会给结对的人增加一项任务去配合其他开发一起完成这个任务。其实我们在开发时,很多时候都会结对,比如指导新同事、讨论设计模块,而之前这些都没有算在我们的开发工作量里。

    创业公司敏捷开发结对编程
    创业公司敏捷开发结对编程

    • 项目演示和总结会议。在项目结束后,让所有参与项目的成员都参加,一起演示给客户展示,并解答客户的问题,充分让大家感受到收获的果实。总结会议主要对于这个sprint中大家遇到的问题和经验分享,并为下一个sprint做准备。

    经过敏捷实施后,我们的生产力提高了很多,员工的积极性提高了,业务的参与使整体需求把控也很好,大家沟通多了,30天的任务提前了5天完成。我们多出来的时间,让大家每周有一天或者半天研究自己感兴趣的领域,但是这些研究最终必须体现出成果。比如后台开发想研究一个新技术,最后做完需要写个ppt 给大家分享下。既能让大家做自己想做的事情,也给大家创造了一个互相学习的氛围。

    ps:所有的模式都不应该是教条的模式,先进的模式并不是好的模式,适合自己的才是最好的。套用一句俗话:不管黑猫白猫抓得住耗子的才是好猫。

    另曝光一下项目1参与成员:

    项目1敏捷团队 
    项目1敏捷团队
    展开全文
  • 很显然传统的瀑布开发模式已经不能满足需要了,于是,敏捷开发这种模式就出现了。 接触过敏捷开发的朋友可能会知道,敏捷开发有如下的价值观: 个体与互动 胜于 过程与工具,可工作软件 胜于 复杂文档...

    https://blog.csdn.net/Aweijun360/article/details/52349784

    在信息技术高速发展的今天,有很多的开发任何要求开发人员增量交付,迭代式开发,能够持续集成。很显然传统的瀑布开发模式已经不能满足需要了,于是,敏捷开发这种模式就出现了。



      接触过敏捷开发的朋友可能会知道,敏捷开发有如下的价值观:


      个体与互动 胜于 过程与工具,可工作软件 胜于 复杂文档


      用户协作 胜于 合同谈判,响应变化 胜于 遵循计划


      下面新霸哥将会用一个真实的案例的给大家讲讲敏捷开发。


      每天早晨上班前一项重要的任务那就是晨会(由于时间很短,所以大家都是站立开会的),主要就是回报一下昨天自己的工作情况,在工作过程中遇到的问题,有没有解决,需要谁来帮助,同时还要讲讲自己今天将要计划做的事情。对于提出的问题大家共同讨论,如果能够及时解决的就现场解决,不能解决的就会后协调处理,因为每个人的时间是宝贵的,这个高效的会议的目的就是了解组内成员的工作进度和工作态度,同时也能锻炼自己的沟通和表达能力。


      会议结束后,大家各自忙自己的任务了。由于在开发的过程中采用的是项目中划分出很多的独立模块,每个人负责的模块都是不一样的。因为迭代模式中的每个模块交付时都必须是独立可运行的也是集成可测试的,所以,功能代码这一块在测试环境集成测试无误后该模块才算验收通过。


      开发人员编码工作完成后就没有事情做了吗?其实不是这样的,因为测试人员会在测试环境对各个模块进行测试,如果发现问题会及时的在bug反馈系统中,开发人员看到有自己相关的bug要及时的反馈,这样才能保证系统正常运行。




      迭代开发中一个星期后,相关的团队成员的编码工作基本上完成了或完成了大半。这时候项目经理会组织一个开发人员会议,就是开发人员坐到一个会议室里面瞪着大眼在投影仪上找bug或编码规范问题。因为团队的力量还是巨大的,没过一会,一个功能模块可能就给你揪出了十几个bug,大家一起发现的问题会议结束后会形成一个bug列表,按责任人给依次分配下去解决。相当于集体重构了一次代码,让系统更加的健壮、稳定。


      改过了上次的bug后,团队成员可以小休息一会了。一个迭代周期结束后,项目组成员会再次的坐在一起开一个即重要又轻松的会议--迭代回顾会议。项目中遇到的问题总结,下一次在遇到同样的问题该怎么对付。其实直到项目交付,期间还会有很多次的迭代的。


      当然,敏捷开发有十二原则,在这里新霸哥就不重复了,如果有需要对敏捷开发有更深的了解欢迎和新霸哥交流。如今,敏捷的思想算是深入人心了,后面的具体方法就是教会我们如何实施敏捷。新霸哥发现有了这些思想,整个世界都开始美好了。
    展开全文
  • 适合APP的开发模式——敏捷开发

    千次阅读 2016-08-30 11:40:41
    移动互联网行业发展速度快,需求不断变化,产品更新迭代的频率高,基于移动互联网的以上特点,就引入了Scrum这个敏捷开发框架。 Scrum简介:Scrum是一个敏捷开发框架,是一个增量的,迭代的开发过程

    最适合App的开发模式——敏捷开发

     

    传统的软件开发模式需要经历问题评估、计划解决方案、设计系统架构、开发代码、测试、部署和使用系统、维护解决方案等过程,如下图




    采用传统软件开发模式的最大问题是开发周期过长,迭代速度慢。移动互联网行业发展速度快,需求不断变化,产品更新迭代的频率高,基于移动互联网的以上特点,就引入了Scrum这个敏捷开发框架。

     

    Scrum简介:Scrum是一个敏捷开发框架,是一个增量的,迭代的开发过程。在这个框架中,整个开发周期包括若干个小的迭代周期,每个小的迭代周期成为一个Sprint,每个Sprint的周期建议为2~4周。在Scrum中,使用产品Backlog来管理产品或项目的需求,产品Backlog是一个按照商业价值排序的需求列表。在每个迭代过程中开发团队从产品Backlog挑选最有价值的需求进行开发。Sprint中挑选的需求经过Sprint会议上的分析、讨论和估算得到一个Sprint的任务列表,称为Sprint Backlog

     

    Scrum的流程如下图↓

     

    Sprint 计划会议

    Sprint计划会议前,产品经理所要实现的产品需求(产品Backlog)以用户故事(即从用户的角度去描述用户所需的功能)的形式确定下来,并画出原型图,UI根据原型图完成设计稿。产品经理同时确定各个产品需求的优先级。

    Sprint计划会议期间(一般为2天),开发团队的成员不应该做任何开发工作,要将全部精力放在把产品需求分解成一个个开发任务,并估算开发时间。

    估算开发时间需要注意以下几点。

    1、对于所需要使用的新技术,要估算学习和调研的时间。

    2、根据统计,每个程序员每天的有效工作时间是5个 小时左右,其他时间都被沟通、喝水、休息、上洗手间等琐事占据,如果某个任务估算超过5个小时,那就代表了这个任务完成需要超过一天的时间。

    3、开发人员对于开发任务的估算尽可能精细,一般来说,每个任务的估算时间不应该超过5个小时,如果超过5个小时,就应该把这个任务再细分为多个更小的任务。只要尽可能精细地估算任务,总体估算时间是大概精确的,因为有的任务估算的时间比实际完成的多,有的比实际完成的少。

    最后根据产品经理的优先级和开发人员的估算时间,确定这个迭代周期最终的开发任务和其对应的优先级,即完成Sprint Backlog

     

    日常开发

     

    App开发中,App通过APIApp后台交互,后台人员可以先设计好相关的API并让API返回假数据。

    开发过程中遇到任何问题,必须及时找相关人员沟通。为了保证沟通的效果,可以采用下面的方法。

    1、如果不是非常紧急的问题,可以等相关人员休息的时候再沟通。

    2、解决一个问题,先梳理好情绪,沟通的时候对事不对人。

    Scrum中有个关键的职位“Scrum master”,Scrum master一般有技术总监担任,团队和外部的沟通必须统一通过Scrum masterScrum master的最大作用是屏蔽外部对开发团队的影响,使开发的进度和开发的效率得到保证。

    在开发的过程中需要注意:一个Sprint Backlog中,需求不能变更,UI确定后原则上只能做小修改。产品有新需求,下一个Sprint Backlog再考虑。

     

    每日例会

     

    每日例会前,团队成员应该整理各自的任务列表,包括:

    1、昨天完成了哪些任务,每个任务使用了多少时间,没完成的任务估算还要多少时间。

    2、剩余的开发时间

    例会中产品经理和开发团队的成员都要参加,如果可以的话,让运营人员和市场人员也参与进来,这样可以使团队每个成员都对公司的产品有个整体的了解。

    每个人在例会上报告一下3方面的事情。

    1、昨天做了哪些工作?

    2、今天准备做哪些工作?

    3、有什么工作需要其他同事配合?

    注意避免在会议上讨论问题,如果真的需要讨论,请在会议后和同事讨论,不要浪费整个团队的时间。

     

    测试和修复BUG

     

    产品开发完成就进入测试和修复BUG的阶段。

    测试人员把测试得到的问题提交到BUG管理软件,每个BUG应该包含3个部分。

    1、问题描述和重新步骤

    2、测试人员

    3、负责解决这个问题的人员,如果测试人员不知道具体负责人,把这个问题提交给技术总监,由技术总监指定解决问题的研发人员。

     

    评审会议

     

    在测试和修复BUG完成后全体人员开评审会议。相关开发人员在评审会议中向全体人员演示APP的功能。

     

    回顾会议

     

    研发完成后开回顾会议,每个成员都在会议中提两点。

    1、这轮迭代过程中做得好的地方。

    2、这轮迭代过程中做得不好的地方。

    这个过程走两轮,即每个成员都要提两点做得好和不好的地方。注意当一个成员提出自己的意见时,其他成员不做任何的评论。

     

    及时反馈

     

    可以通过建立相关QQ群收集意见,在APP中可以增加一个意见反馈的功能。

     

    总结

     

    敏捷开发不是万能的,敏捷开发更适用于需求多变,开发周期端的项目。


    展开全文
  • 敏捷开发模式下的质量管理

    千次阅读 2016-11-04 16:56:56
    主要有:1)测试团队在敏捷开发模式下的价值非常有限;2)开发人员只顾自已写代码,没有任何文档,测试人员无从下手,3)由于进度的原因,测试人员测试的时间非常有限,上线后出现很多问题;4)由于测试人员得不到...
  • 【转载】CMMI与敏捷开发模式比较

    千次阅读 2013-02-20 18:41:23
    CMMI与敏捷开发模式比较 四月 9, 2012 07:07 by FlySky 我曾经参与了一个新产品项目两个版本的开发,分别采用了CMMI与项目级敏捷方式,总结一下两种模式。 CMMI采用的是传统的瀑布模式开发,开发流程是...
  • 摘要:敏捷开发和CMMI的过程管理开发是当前关注最多的两种开发模式,其中体现的指导思想和组成内容具有很大的不同,为了更好的再实践中用好两种开发管理模式,促使国内软件企业的开发管理水平的提升,本文通过对两者...
  • 敏捷开发-快速迭代

    万次阅读 多人点赞 2013-05-08 19:57:45
    今天跟大家分享的是“敏捷开发、快速迭代”。我们大都采用的是“瀑布开发模式”,有了问题,就得返工,...借鉴敏捷开发模式,来改善软件开发过程,提高项目的开发效率。 要想借鉴,首先得弄懂以下3个问题。 1
  • 敏捷开发模式

    2019-01-22 19:56:09
    敏捷开发并不现代 起源于20世纪30年代的一些项目(美国航天局水星计划) 最早记载使用在20世纪70年代 最早的有记载的使用迭代和增量开发的主要项目之一,是为第一艘美国三叉戟潜艇开发的第一指挥和控制系统。该...
  • 随着软件开发技术的不断发展,现在出现了很多种不同的开发模式,其实敏捷开发已经成为现在很多企业开发应用程序都想要选择的开发方案。那么什么是敏捷开发呢?下面一起来了解一下相关的知识吧!  常用的 4 种开发...
  • 现在很多项目开发都是采用敏捷模式了,相对于瀑布模式,看看下面两张图,敏捷和瀑布的区别一目了然: 瀑布流:带着明显的计划思维,以自我为中心,事先规划好一切,最后验证产品和市场。成功收获不一定更大,失败的...
  • 敏捷开发是个啥

    千次阅读 2019-04-01 10:18:32
    今天来篇正经的,从软件工程的角度来聊一聊敏捷开发模式,文章分两部分: 第一部分通过举例和对标其他行业聊聊软件开发模型的发展演进。 第二部分聊聊敏捷的核心思想。 敏捷开发是互联网界比较流行的软件开发模式...
  • 说一下你对敏捷开发的理解,为什么要使用敏捷开发? 》瀑布模型的典型问题就是周期长,发布烦,变更难。 》敏捷开发就是快速迭代,持续集成,拥抱变化。     所谓“敏捷”,顾名思义,可以通俗...
  • 敏捷开发中QA如何做质量管理?

    千次阅读 2019-05-10 09:15:47
    敏捷开发中QA如何做质量管理? 经常有人会问我,敏捷模式下,QA的职责是什么?QA有什么价值?我们还需要QA吗?敏捷转型中遇到的问题,QA能帮助解决吗?这些问题以前也思考过,笔者就是QA出身的,曾经在中兴通讯做过...
  • 一些著名的公司如Google, Microsoft和Yahoo和众多的中小公司都已经开始采用敏捷开发,尤其是Scrum。它们中的许多已经有了较长时间的经验。中国的许多开发团队这几年也在逐渐接受并应用这种开发模式。敏捷软件开发的...
  • 敏捷开发之XP

    万次阅读 2015-09-25 11:15:11
    XP是一种轻量(敏捷)、高效、低风险、柔性、可预测、科学而且充满乐趣的软件开发方式。与其他方法论相比,其最大的不同在于: 在更短的周期内,更早地提供具体、持续的反馈信息。 在迭代的进行计划编制,首先在...
  • 敏捷开发和详细设计

    千次阅读 2013-03-28 10:23:57
    的软件周期来进行,随着敏捷开发方法和敏捷开发工具和技巧的发展,软件过程中的 一些步骤被新的开发颠覆甚至忽略。 模块耦合度低的项目,开发人员往往在概要设计、项目结构建立之后,就拿着需求文档在做各自的子...
  • 摘要:敏捷这个含着金钥匙诞生的“霹雳娇娃”是软件开发行业的救星,从头到脚、从里到外无不闪着...为此,社区之星第15期采访了敏捷开发老兵陈勇。他站在企业管理者的角度来讲解敏捷开发并分析的字字珠玑。陈勇,16年
1 2 3 4 5 ... 20
收藏数 33,043
精华内容 13,217
关键字:

敏捷开发模式发展