敏捷开发scrum (二)

随着互联网的兴起,用户对线上软件的依赖度越来越高,从而导致用户对软件的需求越来越多,所以软件的更新迭代速度越来越快。对于互联网公司来说,速度成了企业竞争制胜的关键因素,一方面用户的需求在不断变化,另一方面采用传统开发模式的互联网哦你公司难以满足这些需求,所以诞生了敏捷开发模式 敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法,是一种软件开发的方法,如图,是敏捷开发的主要流程 在这里插入图片描述

敏捷开发的三大角色: 产品负责人(product owner):主要负责确定产品的功能和达到要求的标准,制动软件的发布日期和交付内容,同时有权利接受或拒绝开发团队的成果。 流程管理员(scrum master):主要负责整个Scrum流程在项目中的顺利实施和进行,以及清除挡在客户和开发工作之间的沟通障碍,使得客户可以直接驱动开发

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

敏捷开发的三大工件 Product Backlog:产品待办事项集合,我理解也是 用户故事,相当于当前版本所要做的所有需求。 Sprint Backlog:迭代功能开发列表,理解为一个冲刺目标阶段内的需求列表。例举如,当前版本总共要完成40需求,是我们的Product Backlog;我们把当前版本拆分4个冲刺阶段,即是4个Sprint。第一个Sprint需要完成10个需求,则这10个需求为当前Sprint的Sprint Backlog。 Burndown chart:燃尽图,确定需求实现阶段后,随时间往后推进,时间剩余消耗,同时任务列表也随工作的推进而消耗。即是,迭代显示剩余工作时间和任务的完成情况。 敏捷开发的五大价值观: Focus 专注:将故事拆解为冲刺阶段,目标细化,同时也是集中绝对的团队能力,解决既定目标,体现当前的专注,也排除其他插入时间的消耗。 Courage 勇气:在整个敏捷过程中,需要效率的提升,同时,面临的技术、环境、团队等一系列的问题并不会变少,就需要有勇气,有决断的阔步向前,用最优势的精力、资源解决当前最迫切的问题。 Openness 公开:团队内信息的完全公开,让问题无所隐藏,同时也让优秀和战绩能够很好地展示及引导,公开,从而大家平等,从而大家尊重。 Respect 尊重:在敏捷过程中,因为公开我们搭建了尊重的基础;同时因为效率的要求和冲刺任务的明确性,我们做自己最擅长的事情,从而让整体效率最大化。尊重他人,信任他人。 Commitment 承诺:构筑团队内部共同解决问题,最高效率突击任务环境,是因为我们信守承诺,敢于给出承诺;同时,也因为我们为别人为团队的承诺,我们必须是最好的处理我们的任务,对于我们承担的责任敢于承诺,也直面承诺的责任。

敏捷开发的五大工作 sprint planning meeting:冲刺前计划会议,决定并生成sprint Backlog。---类似需求评审 sprint:冲刺,由冲刺会议决定了我们的目标,从而确定了冲刺的阶段,人员及任务安排。---类似于计划 daily standupdo meeting:每日站会,主要用于跟进进度,确定当前任务的情形,同时沟通是否有异常情况。要将异常在开始阶段进行良好控制。 sprint review:冲刺回顾。一个冲刺完成,对冲刺进行回顾,整理有益处,执行良好的部分;规划检查不好的地方,可以做的更好的方面。优化中不断前行。 retrospective meeting:回顾会议。完成当前版本,需要对整体进行回顾,对经历经验进行整理归档,形成有效的成长型文档,便于团队更好的成长。

Sprints(冲刺) Scrum的项目过程有一系列的Sprint组成。 Sprint的长度一般控制在2-4周。 通过固定的周期保持良好的节奏。 产品的设计、开发、测试都在Sprint期间完成。 Sprint结束时交付可以工作的软件。 在Sprint过程中不允许发生变更。

Sprint计划会议: 排列优先级,分析和评估产品;确定sprint目标;如何达到sprint目标,根据用户故事创建任务;为任务做估算

每日会议: 就是团队的每日例会,一般15分钟,内容主要是1,昨天我完成了什么工作2,今天我打算做什么3,我工作中遇到了啥困难

评审会议: 用来给产品负责人 product owner以及其他相关人员来演示在这个sprint冲刺中开发的功能,一般是通过现场演示的方式展现功能和架构 ,不需要太正式,也不需要ppt,一般时间控制在2小时内

回顾会议: 团队的定期自我检视,发现什么是好的,什么是不好的。 一般控制在15-30分钟 每个Sprint都要做 全体参加 冲刺订单(Sprint Backlog) 管理Sprint的backlog: 团队成员自己挑选任务,而不是指派任务 对每一个任务,每天要更新剩余的工作量估算 每个团队成员都可以修改Sprint backlog,增加、删除或者修改任务

敏捷开发的12大宣言: 1.我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。 2.即使到了开发的后期,也欢迎改变需求。 3.经常性地交付可以工作的软件,交付的间隔可以从几周到几个月,交付的时间间隔越短越好 。 4.在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。 5.围绕被激励起来的个人来构建项目。 6.在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。 7.工作的软件是首要的进度度量标准。 8.敏捷过程提倡平稳的开发节奏;发起人、开发者和用户应该能够保持一个长期的、恒定的开发速度。 9.不断地关注优秀的技能和好的设计会增强敏捷能力。 10.简单化是根本(不做过度设计和预测)。 11.最好的构架、需求和设计出自于自组织的团队。 12.每隔一定时间,团队会在如何才能更有效地工作方面进行反思并对自己的行为进行相应调整。

敏捷项目管理和传统项目管理的区别: ~~传统项目管理:~~ 1.事先对整个项目进行估计、计划、分析 2.反对变更; 变更需要重新估计、重新规划 3.严密的合同来减少风险, 如果改变需求要走 CR 流程. 4.项目作为一个“黑盒子” ,对客户与供应商的可视性差. 5.文档和计划驱动的方法. 6.软件交付时间晚, 意识到风险的时间晚. 7.WBS,甘特图,关键路径分析 ~~敏捷项目管理:~~ 1.对整个项目做一个粗略的估计,每一次迭代都有详细的计划. 2.鼓励变化, 客户价值驱动开发. 3.信任和赋予权力;合约使变更变得简单,增加价值. 4.客户和开发人员之间是紧密的连续的合作关系 5.每次迭代都产生可交付的软件 6.专注于交付软件. 7.第一次迭代就可交付能工作的版本,风险发现的早.

敏捷开发的好处: 1.更加透明; 随时跟踪项目的状态和进展情况,及早发现问题和风险 . 2.快速交付, 每次迭代都能交付可运行的软件. 3.最高风险和最高优先级的需求,最优先进行开发. 4.改善应对变更能力, 减少大量的重计划. 5.改善项目沟通. 6.更好的客户参与, 避免错误的假设.

敏捷开发的特点: ~~增量迭代~~ 1.:每个迭代有大约1~4轴的时间,在scrum里称为冲刺 2.每次迭代都应该有明确的目标 3.每次迭代都应该有明确的可演示的工作成果 4.迭代过程中项目团队应该尽量免受打扰 5.迭代可以将项目的压力分解到每个小的阶段,风险也能同时分解 *~~测试驱动开发~~ * 1.首先创建测试用例,然后开发软件通过测试(在开发代码前,首先编写测试代码) 2.一种设计软件的方法,而不仅仅是一种测试方法 3.所创建的测试用例用来指导和约束项目中的各项工作,对未来的各项工作提供一个安全的保护 4.不需要测试的工作不需要完成 5.所创建的测试用例通常替代详细的业务和技术需求定 6.测试也有效地驱动设计,使设计更加趋向于可行的设计 7.通常情况下需要自动测试的支持 (EUnit, JUnit etc.). 8.对于UI软件应用TDD方法有一定的困难 *~~持续集成~~ * 极限编程称为“每日构建” 持续集成一般利用ANT、MAVEN等工具 日构建的好处: 将集成风险降到最低 降低质量风险 提升士气 日构建可以看做是项目的心跳,冒烟测试就像是听诊器 日构建必须至少:成功编译、打包、发布;不含有任何明显的缺陷;通过冒烟测试 *~~面对面交流~~ * 虽然如今通讯工具花样繁多,但面对面交流在某些场合下仍然是不可替代的; 敏捷开发把交流缺失问题考虑在内,要求团队成员彼此直接协作,尽量创造面对面交流的机会; 尤其当业务分析师和软件开发人员一起工作的时候,面对面的交流是很重要的。 匿名共享需求文档只会打开曲解和误解之门,更不用说书面信息比口头交流还要慢很多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

suddle

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值