博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第三次作业
阅读量:6911 次
发布时间:2019-06-27

本文共 3027 字,大约阅读时间需要 10 分钟。

第一部分:初识Scrum

参考资料:
敏捷开发之Scrum扫盲篇
Scrum 总结
硝烟中的Scrum 和 XP
什么是敏捷开发?
敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。

怎么理解呢?首先,我们要理解它不是一门技术,它是一种开发方法,也就是一种软件开发的流程,它会指导我们用规定的环节去一步一步完成项目的开发;而这种开发方式的主要驱动核心是人;它采用的是迭代式开发;

什么是迭代?

迭代是指把一个复杂且开发周期很长的开发任务,分解为很多小周期可完成的任务,这样的一个周期就是一次迭代的过程;同时每一次迭代都可以生产或开发出一个可以交付的软件产品。

什么是Scrum?

敏捷软件开发有多种版本,Scrum是最受欢迎的版本之一,接受《2015年敏捷现状》报告调查的受访者中70%表示,他们采用Scrum或Scrum混合方法。这是一种协作框架,最先由杰夫·萨瑟兰(Jeff Sutherland)在1993年发明。它把复杂项目分成了多个简短的迭代开发周期(sprint),每个迭代开发周期为期两到四周,它注重勇气、专注、承诺、尊重和开放性这五个价值观。
精益软件开发
虽然精益开发通常与敏捷开发联系起来,但精益开发的原则实际上源自丰田公司的精益制造流程。这套开发方法依赖七个关键的原则:消除浪费、促进反馈、尽量延迟决策、快速交付、融入完整性、授权团队和着眼整体。2003年,精益首次引起了软件开发界的注意,当时玛丽·波彭代克(Mary Poppendieck)和汤姆·波彭代克(Tom Poppendieck)出版了《精益软件开发:敏捷工具包》一书。
看板
看板是敏捷软件开发的另一个变种,灵感源自丰田公司。它为开发人员提供了一种直观的方法,可以查看什么工作需要完成,让他们得以在有精力时可以“拉取”工作,而不是“推送”工作,以完成某些任务。看板依赖三个核心原则:可视化今天处理的工作,限制在制品,并改进流动。

关于Scrum和XP

前面说了敏捷它是一种指导思想或开发方式,但是它没有明确告诉我们到底采用什么样的流程进行开发,而Scrum和XP就是敏捷开发的具体方式了,你可以采用Scrum方式也可以采用XP方式;Scrum和XP的区别是,Scrum偏重于过程,XP则偏重于实践,但是实际中,两者是结合一起应用的,这里我主要讲Scrum。

Scrum 工具

禅道

JIRA+GreenHopper

Scrum 中的角色

  Scrum Master——项目负责人、项目经理

  保护团队不受外界干扰,是团队的领导和推进者,负责提升 Scrum 团队的工作效率,控制 Scrum 中的“检视和适应”周期过程。与 Product Owner 一起将投资产出最大化,他确保所有的利益相关者都可以理解敏捷和尊重敏捷的理念。

  Team——开发人员、测试人员、美工设计、DBA等全职能性团队

  团队负责交付产品并对其质量负责,团队与所有提出产品需求的人一起工作,包括客户和最终用户,并共同创建 Product Backlog 。团队按照大家的共识来创建功能设计、测试 Backlog 条目交付产品。

  Product Owner——产品负责人、产品经理、运营人员

  从业务角度驱动项目,传播产品的明确愿景,并定义其主要特性。Product Owner 的主要职责是确保团队只开发对于组织最重要的 Backlog 条目,在 Sprint 中帮助团队完成自己的工作,不干扰团队成员,并迅速提供团队需要的所有信息。

  User——最终用户、运营人员、系统使用人员

  很多人都可能成为最终用户,比如市场部人员、真正的最终用户、最好的领域专家,也可能是因其专业知识而被雇佣的资讯顾问。最终用户会根据自己的业务知识定义产品,并告知团队自己的期望,提出请求。

  Manager——管理层、投资人

  管理层要为 Scrum 团队搭建良好的环境,以确保团队能够出色工作,必要的时候,他们也会与 Scrum Master 一起重新组织结构和指导原则。

  Customer——客户、系统使用人员、运营人员

  客户是为 Scrum 团队提出产品需求的人,她会与组织签订合同,以开发产品。一般来说,这些人是组织中的高级管理人员,负责从外部软件开发公司购买软件开发能力。在为内部产品的公司中,负责批准项目预算的人就是客户。

Scrum流程图

如何进行Scrum开发?

1.我们首先需要确定一个Product Backlog(按优先顺序排列的一个产品需求列表),这个是由Product Owner 负责的;

2、Scrum Team根据Product Backlog列表,做工作量的预估和安排;

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

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

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

6、做到每日集成,也就是每天都要有一个可以成功编译、并且可以演示的版本;很多人可能还没有用过自动化的每日集成,其实TFS就有这个功能,它可以支持每次有成员进行签入操作的时候,在服务器上自动获取最新版本,然后在服务器中编译,如果通过则马上再执行单元测试代码,如果也全部通过,则将该版本发布,这时一次正式的签入操作才保存到TFS中,中间有任何失败,都会用邮件通知项目管理人员;

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

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

第二部分:小组协作开发

小组成员:

曹晨冰、舒梦娇、杨琼、李琛、张旋

开发计划:

李琛:负责分析项目需求,安排任务,协调各组员分功

张旋:测试
杨琼:对用户的需求充分了解,编写需求文档
舒梦娇:沟通用户,了解需求,和团队交互
曹晨冰:编写代码
小组github地址

转载于:https://www.cnblogs.com/lc-ccsu/p/9871526.html

你可能感兴趣的文章
MySQL常用函数大全
查看>>
以MYSQL作为HIVE的元数据库,配置HIVE的远程连接
查看>>
写在认证过后
查看>>
swap分析及行溢出分析ml
查看>>
我的友情链接
查看>>
PHP之pcntl_fork多进程并发编程示例
查看>>
Java内存区域与内存溢出异常
查看>>
nfs
查看>>
在C#中调用批处理文件
查看>>
C语言字节对齐
查看>>
怎样区别nginx中rewrite时break和last
查看>>
开发HBase的时候需要搭建的Eclipse总结
查看>>
Mysql数据库修复
查看>>
我的友情链接
查看>>
fuelphp学习和知识积累
查看>>
mysql_backup.sh
查看>>
LNMP环境添加第三方模块
查看>>
我的友情链接
查看>>
关于sublime text3 格式化代码快捷方式的添加和如何破解sublime text3
查看>>
oracle goldengate报错解决之OGG-00446、OGG-00529、OGG-00014
查看>>