精华内容
下载资源
问答
  • 软件开发模式之敏捷开发scrum) [原文]https://blog.csdn.net/xiajun2356033/article/details/81513957 [RbY本文转发时已对原文错误适当纠正;] 简介 这几年关于敏捷开发在互联网企业中越来越广泛被使用到,运用...

    软件开发模式之敏捷开发(scrum)

    [原文]https://blog.csdn.net/xiajun2356033/article/details/81513957
    [RbY本文转发时已对原文适当整理并纠错;]

    转载说明:

    • 敏捷开发(scrum), 从上世纪90年代开始在国外提出, 2010年以后逐渐引起国内关注;
    • 有人对敏捷开发的理解是“快”,其实只是其正确实施的结果; 这不是敏捷开发的本质;
    • 软件工程实践, 跟造房子那样的土木工程完全不一样; 软件工程是用逻辑构件来搭建,不是物理结构,整个逻辑大厦任何一个节点不合格,软件就可能崩塌;
    • 试着把设计和编码分两个阶段,期望在设计阶段就把需求理清楚,结果证明不可行,而需求还在不断改变,甚至需求可能还是冲突矛盾的;
    • 人类大脑很少拥有完美的理性思维;我们的理性很多时候只能保障一个小环节,涉及到复杂系统就勉为其难了; 于是,敏捷开发就有用了。
    • 敏捷开发的特点就是“摸着石头过河”,又有点像深度学习中的梯度下降法,我们走一步看一步,每一步都走得很踏实(本地测试),逐渐趋近目标。
    • 敏捷开发比瀑布式开发对团队的要求相对低些,不一定要有高级架构师,不要求完全理性正确,每走一步都有及时的测试来验证。
    • 敏捷开发成功实施的前提是,团队成员对用到的技术栈要熟悉,大家对敏捷流程要认同。
    • 敏捷开发是用来提升协作效率的, 也引入了用来提高软件质量的迭代; 但却难以提升团队成员技术能力; 因此对开发人员个人素质要求更高些;
    • 敏捷开发也适合基于英特网的虚拟团队, 可远程协作分布式开发;尤其对3~12人的小团队更有优势。

    本人看过国内最早提到"敏捷性"(介绍敏捷方法的使用,包括极限编程)的书, 是2010年版"图灵计算机科学丛书"之一的《软件工程(第4版)》; [美]Shari Lawrence Pfleeger & [加]Joanne M.Atlee 著; 杨卫东 译;
    书名原文:Software Engineering: Theory and Practice , Fourth Edition.

    阅读链接:
    敏捷开发推荐书:敏捷革命
    《敏捷革命:提升个人创造力与企业效率的全新协作模式》该书由【美】杰夫·萨瑟兰所著,于2017年4月由中信出版社出版发行。

    -
    
    • 敏捷开发简介

    这几年关于敏捷开发在互联网企业中越来越广泛被使用到,运用的比较多的当属scrum敏捷开发和xp极限开发,人人都在谈论敏捷开发。那什么才是敏捷开发呢?

    • 本文目录

    1.什么是敏捷开发?
    2.传统的开发模式和敏捷开发模式的对比。
    3.敏捷开发scrum的实施。

    • 一. 什么是敏捷开发

    敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。

    在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

    • 二. 传统的开发模式和敏捷开发模式的对比

    瀑布模型:–传统的开发模式

    在这里插入图片描述

    优点:

    1. 为项目提供了按阶段划分的检查点。
    2. 当前一阶段完成后,您只需要去关注后续阶段.
    3. 它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。

    缺点:

    1. 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
    2. 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
    3. 通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
    4. 瀑布模型的突出缺点是不适应用户需求的变化。

    敏捷模型:–敏捷开发模式
    在这里插入图片描述

    优点:

    敏捷开发的高适应性,以人为本的特性。
    更加的灵活并且更加充分的利用了每个开发者的优势,调动了每个人的工作热情。

    缺点:

    由于其项目周期很长,所以很难保证开发的人员不更换,而没有文档就会造成在交接的过程中出现很大的困难。

    • 三. 敏捷开发scrum的实施

    Scrum的英文意思是橄榄球运动的一个专业术语,表示“争球”的动作;把一个开发流程的名字取名为Scrum,相当于大家像打橄榄球一样迅速、富有战斗激情; 而Sprint意思是短跑冲刺。Scrum就是这样的一个开发流程。

    Scrum开发流程中的三大角色

    – 产品负责人(Product Owner)

    主要负责确定产品的功能和达到要求的标准,指定软件的发布日期和交付的内容,同时有权力接受或拒绝开发团队的工作成果。

    – 流程管理员(Scrum Master)

    主要负责整个Scrum流程在项目中的顺利实施和进行,以及清除挡在客户和开发工作之间的沟通障碍,使得客户可以直接驱动开发。

    –开发团队(Scrum Team)

    主要负责软件产品在Scrum规定流程下进行开发工作,人数控制在5~10人左右,每个成员可能负责不同的技术方面,但要求每成员必须要有很强的自我管理能力,同时具有一定的表达能力;成员可以采用任何工作方式,只要能达到Sprint的目标。

    scrum开发流程图

    在这里插入图片描述

    1、我们首先需要确定一个Product Backlog(产品需求列表),这个是由PO负责的(如图(一))。

    图(一)
    在这里插入图片描述

    2、有了Product Backlog列表,我们需要通过 Sprint Planning Meeting(Sprint计划会议) 来从中挑选出一个Story作为本次迭代完成的目标,这个目标的时间周期是1~4个星期,然后把这个Story进行细化,形成一个Sprint Backlog。

    3、Sprint Backlog是由Scrum Team去完成的,每个成员根据Sprint Backlog再细化成更小的任务(细到每个任务的工作量在2天内能完成);

    4、在Scrum Team完成计划会议上选出的Sprint Backlog过程中,需要进行 Daily Scrum Meeting(每日站立会议),每次会议控制在15分钟左右,每个人都必须发言,并且要向所有成员当面汇报你昨天完成了什么,并且向所有成员承诺你今天要完成什么,同时遇到不能解决的问题也可以提出,每个人回答完成后,要走到黑板前更新自己的 Sprint burn down(Sprint燃尽图)(如图(二)和如图(三))。

    图(二)
    在这里插入图片描述
    图(三)
    在这里插入图片描述

    5、做到每日集成,也就是每天都要有一个可以成功编译、并且可以演示的版本。

    6、当一个Story完成,也就是Sprint Backlog被完成,也就表示一次Sprint完成,这时,我们要进行 Srpint Review Meeting(演示会议),也称为评审会议,产品负责人和客户都要参加(最好本公司老板也参加),每一个Scrum Team的成员都要向他们演示自己完成的软件产品。

    7、最后就是 Sprint Retrospective Meeting(回顾会议),也称为总结会议,以轮流发言方式进行,每个人都要发言,总结并讨论改进的地方,放入下一轮Sprint的产品需求中。

    图(四)

    在这里插入图片描述

    本文链接:
    敏捷开发管理工具:teambition
    现代软件工程讲义4 Scrum/Sprint

    参考链接:
    敏捷开发之Scrum扫盲篇
    百度百科
    敏捷开发 模型讲解

    展开全文
  • 目前团队所使用的开发模式流程,请大家指正优化。 1.PM需求整理;在禅道整理出需求清单和原型(标注清楚);需求评审。往复,直到需求定稿。 2.SprintMaster根据需求清单进行技术任务拆解,包括前端UI设计、前后端...

    目前团队所使用的开发模式流程,请大家指正优化。
    1.PM需求整理;在禅道整理出需求清单和原型图(标注清楚);需求评审。往复,直到需求定稿。
    2.SprintMaster根据需求清单进行技术任务拆解,包括前端UI设计、前后端开发等。
    3.程序员各自领任务,具体内部商定。
    3.每天早上站会过下任务进度。(沪杭不限制每天,定期即可)
    4.QA同步测试已完成任务;PM同步复核已完成任务功能点是否准确;程序员同步修复bug。
    5.完工后项目整体测试,包括QA对技术点复测、PM对功能点复核。

    相关阅读
    [项目管理] 自用内部培训计划]
    [管理笔记] 识别项目管理中的陷阱]
    [项目管理] 软件工程管理者基本素养培训大纲
    [项目管理] 自用SCRUM
    [项目管理] 浅谈StandMeeting站立会议

    展开全文
  • scrum 敏捷开发流程 scrum 标准流程图解析 三种角色 产品所有者团队scrum master backlog PO(产品所有者)听取客户\经理出 出功能需求表(backlog) backlog按照功能优先级排列 backlog就是一个列表 backlog没有详细...

    scrum 敏捷开发流程

    scrum 标准流程图解析

    • 三种角色 产品所有者 团队 scrum master
    • backlog
      • PO(产品所有者)听取客户\经理出
      • 出功能需求表(backlog)
      • backlog按照功能优先级排列
      • backlog就是一个列表
      • backlog没有详细完整的需求说明书
    • sprint开启
      • PO在每一个sprint开启的时候
      • 会有一个计划会议
      • 会议内容,每一个sprint做上面事情
      • 回答team(团队)做什么事情(产品需求)的所有问题
    • 团队
      • 从backlog里面去领取任务
      • 任务进入到sprint backlog
    • sprint周期
      • 1-4周 sprint 周期
    • scrum master
      • 1-4周期中 督促项目的开发执行
      • 沟通
      • 每日站会(做了什么 今天的任务 遇到的问题)
    • sprint原则
      • 周期内 周期不变
      • 内容不变
      • 无任何变化
      • scrum master负责保证
    • sprint结束后期
      • 开两个会
      • sprint评审会;用户 潜在的可随时发布的部分功能的产品
      • scrum master sprint 回顾会; 问题和反思 做的不好的下一个周期改进
      • 在线产品按照这个节奏一直做下去,完整的产品就是按照这样的周期持续循环
    • 产品级质量的部分功能需要做
      • 测试 单元测试 集成测试 压力测试
      • 预防重于治疗
    • 评审阶段
      • 评审阶段用户的新需求会被加入到Backlog
      • 进行优先级排序
      • 然后进去到下一个sprint
    • 什么是自动化
      • 帮我们一遍一遍运行\测试等
      • 人工简单的事情 使用机器自动化完成 比人工稳定
      • 比如 打包 比如单元测试跑一万次 人不愿意
    • 演进式设计
      • 演进式设计是一个全流程的迭代过程
    • 持续集成
      • 做的每个模块是在持续不断的集成,
      • 模块之间会有联系,
      • 这种模块之间的相互关系希望的是不断去集成验证,
      • 如配送管理和产品管理 两个模块会有集成的需求 ,
      • 我们需要集成是时刻在发生, 看是不是跟初始需求是match的
      • 集成测试环境teamcity把分段的代码放到一块跑 验证 是否成功 每天都在集成
    • 开发模式
      * 两个复杂模块的并行开发
      • branch1 branch2 到master上去集成

        1 并行开发 两个模块依赖过多调用复杂 放入master后bug过多,在拉去一个集成的branch 调试稳定
        branch1 10天写功能 1天写接口 评审 提交到master ,在拉去一个集成的branch 调试稳定
        branch2 需要branch1 在一天内获得branch1接口的使用
        2 先后开发

    • 持续集成
      • 有任何风吹草动(接口发生改变)都要放到集成测试工具中跑一跑
      • teamcity(集成测试工具,每一次代码提交都做充分的验证,跑现有的所有测试)去做测试,
      • 构建服务器(build server teamcity是其中一款) ,
      • 代码一提交 他就去跑所有的单元测试 集成测试(一定要一个环境),
      • 然后部署到生产环境中去

      1 代码发生改变
      2 自己提交到版本控制
      3 集成测试工具 做一次完整的打包 自动跑所有的测试(单元测试 集成测试) 自动打包 自动部署
      4 生成buglog
      5 报告给你

    • 生产环境早期就部署了
      • 每一个sprint都在接近生产环境的测试环境做测试
      • 接近生产环境的测试环境
      • 做有效的验证

        1测试早 2真实 3自动化

    • 单元测试(Unit text)
      * Unit text 函数的测试 面向一个类的测试

      • 增删改查的类
        • TDD 测试代码先写了,在去功能;让测试都通过
        • 相反 先写功能代码 然后再去写测试代码
        • 实例 小孩的衣服 成人的衣服
    • 构建服务器(build server)就是teamcity
      • 自动化原则:改动了代码 没有改变功能 没有引入bug

    scrum敏捷开发流程demo 互动游戏

    全班抽一个组 不给于任何指导 让他们自由发挥

    • 角色
      • PO
      • Team
      • Scrum master
    • Backlog 5分钟
      • 10000元人民币出游计划
      • 另一个组提出需求 8-10项(如需要玩几个景点 住几星级酒店 出行方式 景点内的出行安排 时间安排 线路规划) 说 明确自己的需求
      • PO全程记录需求点 记录需求表
    • sprint会议 5-10分钟
      • PO Team Scrum master
      • 计划 时间周期 sprint里面的任务内容 30-60分钟一个sprint
      • 安装优先级沟通选取任务
      • 记录下sprint任务 周期
    • Team
      • 内部分工
      • 进入到sprint backlog
      • 记录分工表
    • sprint周期 30-60分钟
      • Team Scrum master PO
      • sprint原则
    • sprint后两个会议 5-10分钟一个会议
      • sprint评审会 用户\用户代表方 PO Team
      • sprint回顾会 PO Team Scrum
    • 进入下一个sprint周期

    10000钱 道具
    sprint计划会
    PO 需求
    team 提供时间信息
    run sprint
    下一个sprint
    1 PO 2000 3000 5000
    2 team sprint 2000吃饭 酒店 5-10分钟
    team sprint 30000 旅游点 10-20分钟
    3

    转载于:https://www.cnblogs.com/viviwong345/p/7206659.html

    展开全文
  • 敏捷软件开发宣言 ...响应变化 高于 遵循计划Scrum/敏捷开发![这里写图片描述](http://img.blog.csdn.net/20171226181241555?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2dzNTk1NTk1/font/5a6L5L

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

    Scrum/敏捷开发

    Scrum

    组成:

    1. Sprints(敏捷单元): 
    	a. Scrum项目周期以一组迭代周期sprints组成
    	b. 迭代周期:2-4周
    	c. sprints每一个迭代都包含产品的设计,开发,测试
    

    Framework

    1. Roles 角色责任
    	a. Product owner PO/产品经理
    		i. 定义所有产品功能
    		ii. 决定产品发布的内容以及日期
    		iii. 对产品的投入产出负责
    		iv. 根据市场变化对需要开发的功能排列优先顺序
    		v. 合理的调整产品功能和迭代顺序
    		vi. 认同或者拒绝迭代的交付
    	b. Scrum Master SM/技术经理
    		i. 对项目的直接管理
    		ii. 领导团队完成Scrum的实践以及体现其价值
    		iii. 排除团队遇到的困难 
    		iv. 确保团队的胜任其工作,并保持高效的生产率
    		v. 使得团队紧密合作,使得团队个人具有多方面职能的工作能力
    		vi. 保护团队不受到外来无端影响
    	c. Team 团队成员
    		i. 经典团队拥有 5-9 人
    		ii. 团队成员都是是多面手: 程序员, 测试员, 用户经验设计, 等等.
    		iii. 团队成员都全职工作,特殊职能可以例外 (例如, 数据库管理员)
    		iv. 团队自我组织和管理: 团队关系在一个迭代中应该是固定的,个人的职能可以在新迭代开始时发生调整
    2. Ceremonies 日常会议
    	a. Sprint planning 迭代计划
    		i. 团队自己从产品的backlog中选择一些他们能够完成的任务作为迭代的backlog
    		ii. 迭代backlog被创建
    		iii. 任务被确认并且每一任务估计工作量应该在1-16小时左右
    		iv. 迭代的backlog的确定是团队协作的结果,而不是只有scrummaster的决定
    		v. 概要设计已经讨论过
    	b. Sprint review 迭代验收
    		i. 团队需要演示所完成的迭代工作
    		ii. 典型的做法是使用演示形式展示新功能或者底层架构的实现
    		iii. 非正式的
    			1) 2小时的提前准备
    			2) 不需要正式演示文档
    		iv. 整个团队都需要参加
    	c. Sprint retrospective 迭代回顾
    		i. 周期性的回顾,总结工作中的经验和教训: 一般 15–30 分钟,在每个迭代结束时开始做
    		ii. 整个团队都需要参加
    		iii. 讨论: 开始做, 停止做, 继续做
    	d. Daily scrum meeting 每天的scrum会议
    		i. 属性: 每天都会开,15分钟结束,站着开会
    		ii. 不是为了解决问题: 所有相关的人被邀请, 只有Scrum master,产品所有者,团队成员能够在会上发言
    		iii. 问题: 昨天做了什么, 今天将要做什么, 有什么需要帮助的
    3. Artifacts 工作产出
    	a. Product backlog 产品条目
    		i. 需求
    		ii. 项目中待完成的工作列表
    		iii. 理想的是每一个待完成的工作都将对客户和用户产生价值
    		iv. 产品所有者将对这个列表进行优先级排序
    		v. 每个迭代开始前优先级的排序工作还需要再度修正
    	b. Sprint backlog 迭代条目
    		i. 迭代目标: 一句话陈述这个迭代将要完成什么
    		ii. 团队的个人将要签收其将拥有的工作: 工作不是单向的分配
    		iii. 对于剩余工作量的估计每天需要更新: 团队中任何人都可以添加,删减或者更改迭代中的工作项目
    		iv. 为了迭代目标以及将发布的结果而工作
    		v. 如果对将要面对的困难不清楚,最好先定义一个相对工作量较大的工作项目然后适时在以后将其分散成较小额工作量的几个部分
    		vi. 更新每个项目的剩余工作量
    		vii. 
    	c. Burndown charts 进度曲线图
    		i. 
    4. 拓展性
    	a. 典型的一支敏捷团队的人数是7± 2 人
    	b. 通过“团队中团队”的方法扩展
    	c. 扩展团队时需要考虑的因素
    		i. 所开发产品的类型
    		ii. 团队大小
    		iii. 团队的分布
    		iv. 项目周期
    	d. Scrum方法可用于总数超过500人的项目
    
    展开全文
  • 敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法,是一种软件开发的方法,如,是敏捷开发的主要流程 敏捷开发的三大角色: 产品负责人(product owner):主要负责确定产品的功能和达到
  • ” 指导整个项目组以敏捷Scrum的方式交付项目,主持各种敏捷会议,比如每日例会、Sprint计划和评审会议、回顾会议等,帮助各交付团队扫除障碍 DevTeam 角色 负责迭代开发,为过程负责(需求拆分、工作量评估、需求...
  • 敏捷开发-Scrum.pptx

    2020-05-12 13:26:50
    敏捷计划流程  可用时间计算  迭代计划  迭代意向表  故亊讲览不估算 敏捷日常跟迚 扩展阅诺  故亊板,看板  燃尽(Burndown Chart)  跟迕不渐迕评审  跟迕表  拥抱发化?迓是迭代期内无...
  • 产品经理-需求分析-用户故事-敏捷开发 详解 用户故事是从用户的角度来描述用户渴望得到的功能。一个好的用户故事包括三个要素:1. 角色:谁要使用这个功能。2. 活动:需要完成什么样的功能。3. 商业价值:为什么...
  • ” 指导整个项目组以敏捷Scrum的方式交付项目,主持各种敏捷会议,比如每日例会、Sprint计划和评审会议、回顾会议等,帮助各交付团队扫除障碍 DevTeam 角色 负责迭代开发,为过程负责(需求拆分、工作量评估、需求...
  • Scrum敏捷开发模式

    2020-05-04 19:08:11
    最近报名参加了微信小程序应用开发赛,也是作为走向职场前的一次锻炼,为了模拟企业开发的流程,我们团队决定使用敏捷开发模式来管理项目。这篇文章,是对在近些天来网上学习到的Scrum敏捷开发模式的总结。 软件开发...
  • Scrum敏捷开发,是对流程控制比较严格的。每个环节都有一套完整的过程和严格的时间控制,在我们项目组的开发过程中主要开发过程如下: 图片摘自Scrum-Checklists-Chinese一书,我对里面的部分用中文改了一下,...
  • 下面是瀑布式的软件开发流 程,迭代式的软件开发流程Scrum软件开发流程的示意。关于Kanban和Scrum-ban,我会在将来的博文中详细说明。在这篇文章中,我主要 想通过一个Demo,来说明如何使用Microsoft Visual ...
  • 下面是瀑布式的软件开发流程,迭代式的软件开发流程Scrum软件开发流程的示意。关于Kanban和Scrum-ban,我会在将来的博文中详细说明。在这篇文章中,我主要想通过一个Demo,来说明如何使用Microsoft Visual ...
  • 产品在面对同类型产品竞争时,...其中最有代表性的是统一软件开发过程(RUP),如下:在RUP中,定义了4个阶段、9大核心工作流、六个最佳实践、10大要素。通过严格的流程、输入输出的文档,严格管理范围变更,按照计
  • 敏捷开发管理流程

    2019-03-12 09:25:34
    敏捷开发经常遇到的问题 流程难固化 范围不清晰 计划不合理 进度不准确 风险不透明 质量难保证 团队进步慢 解决上述问题的关键 梳理研发管理流程,明确关键活动的目的及操作方法 通过信息化手段,减少工作量,...
  • 一个好的开发流程,对于项目的进行,更新和维护都起着至关重要的作用。Scrum适用于一些开发周期长,需求不明确,或者随时间渐进明确,频繁更新的项目。然而,现在国内的一些公司,甚至一些大公司,都对这块不太重视...
  • Scrum敏捷初识

    千次阅读 2018-05-29 17:08:13
    一、Scrum的初识 软件市场发展越来越迅速和成熟,传统瀑布式开发模式存在一定的限制,敏捷从而有了更广阔的的平台与机遇。Scrum作为在敏捷中使用最常用的一种方案,受到众多的关注。 下是典型的Scrum执行架构...
  • ProductBacklog(产品用户故事)、SprintBacklog(迭代用户故事)、Backlogtasks(用户故事开发任务,迭代中完成)、Retrospective(迭代反思会)二、SCRUM全景图Scrum开发流程图:产品经理负责需求收集、整理,生成PB...
  • 概述:SCRUM是当前最火的一种敏捷开发方法,有用户故事、冲刺、燃尽等很多很酷的玩法,有牛B的产品负责人、SCRUM Master,有超强的自组织团队。本视频将为您展现当前最火最酷的敏捷开发方法!内容大纲:1) SCRUM是...
  • 公司项目需要利用敏捷开发模式进行开发,故在CSDN上进行相关资料的查找搜集。27个资料,293 MB,花费了150多积分.现将所有查到的文档进行分包压缩,贡献给大家。... 需求开发管理流程的解释和开发流程图.doc

空空如也

空空如也

1 2 3 4 5 6
收藏数 107
精华内容 42
热门标签
关键字:

敏捷开发流程图scrum