Scrum学习心得

什么是敏捷开发?

  敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的 开发方法。它不是一门技术,它是一种开发方法,也就是一种软件开发的流程,它会指导我们用规定的环节去一步一步完成项目的开发。
  老师上课曾说过瀑布开发模型,瀑布开发模型是通过写大量文档,开发人员以文档为依据进行开发,然而敏捷开发则是注重的是人与人之间,面对面的交流,它只写有必要的文档,或尽量少写文档。它还会将一个复杂且开发周期长的开发任务分成若干小周期能完成的任务,每一次开发或生产的小任务都可以进行检测。`

什么是Scrum?

  Scrum是一种敏捷过程模型,它的原则和敏捷宣言一致,应用Scrum原则指导过程中的开发活动,过程由“需求、分析、设计、演化和交付”等框架性活动组成。每一个框架活动中,发生于一个过程模式中的工作任务称为一个冲刺。冲刺中进行的工作适应当前的问题,有Scrum团队规定并常常进行实时修改。

  Scrum开发流程中的三大角色:
  产品负责人(Product Owner)
  流程管理员(Scrum Master)
  开发团队(Scrum Team)

流程图如下:

如何进行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. 在挑选出的Sprint Backlog过程中,需要进行 Daily Scrum Meeting(每日站立会议),每次会议控制在15分钟左右,每个人都必须发言,并且要向所有成员当面汇报你昨天完成的任务,并且向所有成员承诺你今天要完成什么任务,同时遇到不能解决的问题也可以提出,每个人回答完成后,要走到黑板前更新自己的 Sprint burn down(Sprint燃尽图);
  6. 做到每日集成,使用TFS的自动化集成功能,当服务器获得最新版本,便会编译,若全部通过则发布新版本,则将该版本发布,这时一次正式的签入操作才保存TFS中,中间有任何失败,都会用邮件通知项目管理人员;
  7. 当一个Story完成,也就是Sprint Backlog被完成,也就表示一次Sprint完成,这时,我们要进行评审会议,产品负责人和客户均要参加,每一个Scrum Team的成员都要向他们演示自己完成的软件产品;
  8. 最后就是 Sprint Retrospective Meeting(回顾会议),以轮流发言方式进行,每个人都要发言,总结并讨论改进的地方,放入下一轮Sprint的产品需求中。

团队项目

1.团队名称
BUGG

2.团队信息与分工  

  • 开发:周斌 、舒 溢

  • 测试:许嘉荣 、唐 浩

  • Product Owner,产品负责人:黄欣欣 、廖帅元

3.计划实施:

  • 选题

在线评测系统(Online Judge)起源于国际大学生程序设计竞赛(ACM/ICPC),是一种采用黑盒测试原理进行计算机程序正确性判题的自动化程序。该系统具有比赛公平性好,评测自动化程度高、节约人力成本等优点,广泛应用于各类计算机程序设计比赛和教学。几乎每一个大学都拥有自己OJ重点内容,像国内的北京大学和杭州电子科技大学国外的Codeforces和LeetCode都是一些著名的刷题网站,里面有众多的高质量的算法题供你练习,但是很遗憾,我们长沙学院没有属于自己的一套OJ系统,作为学校的一员和一个伪ACMER想建立自己学校的OJ,所以这就是我们这次选题的来源。

  • 计划

由于以前没有类似的项目经验,所以在开源HUSTOJ基础上进行实现,HUSTOJ分为两大部分,core和web,分别对应判题和数据管理两大功能。

core分为三部分,judged,judged_client,sim。

①juded是一个服务进程,负责轮询数据库或web端,提取判题队列

②judge_client进程为实际判题程序,负责准备运行环境,数据,运行并监控目标程序的系统调用,采集运行指标,判断运行结果

③sim为第三方应用程序,可进行语法分析判断文本的相似度,通过检验的程序将由judge_client复制进题目数据的ac目录,成为新的参考样本。

4.团队中实践scrum
  根据所选题目,挑选出多个小故事作为迭代完成的目标,一个一个有规划的完成,尽量按照敏捷开发的流程规划,做到快速,迅捷开发。

Scrum----学习心得的更多相关文章

  1. Scrum学习心得

    一.Scrum学习心得: 最近简单的学习了一下scrum模式,感觉又开启了一个新世界的大门. 首先,scrum是一个应用于互联网研发的开发方式,这种开发方式的主要特点是快速迭代,持续交付. scrum ...

  2. "Gun N' Rose" Team学习心得

    如果我比别人看得更远,只因为我站在巨人的肩膀上.                                                        ——牛顿 高级软件工程课程终于开课了!第 ...

  3. Scrum培训心得体会

    # Scrum培训心得体会 非常荣幸能够参加公司组织的这场为期两天的培训,赛宝的老师讲的非常好.通过这次学习,理解了当前最流行的Scrum开发框架,下面总结了我对Scrum的理解. ## scrum的 ...

  4. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  5. 我的MYSQL学习心得(二) 数据类型宽度

    我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  6. 我的MYSQL学习心得(三) 查看字段长度

    我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  7. 我的MYSQL学习心得(四) 数据类型

    我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...

  8. 我的MYSQL学习心得(五) 运算符

    我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  9. 我的MYSQL学习心得(六) 函数

    我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  10. 我的MYSQL学习心得(七) 查询

    我的MYSQL学习心得(七) 查询 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

随机推荐

  1. springboot(十一)-为什么要用springboot

    前言 学习了一段时间springboot,一般都可以在项目中使用springboot开发了.因为springboot的东西并不多,或者说,springboot根本就没有新东西. 好了,现在问一句,我们 ...

  2. spring框架中的aop技术

    1. 什么是AOP, 面向切面编程 AOP为Aspect Oriented Programming的缩写, 意为:面向切面编程,主要是使各部分之间的耦合度降低, 提高程序的可重用性, 同时提高了开发的 ...

  3. python调用另一个.py文件中的类和函数

    同一文件夹下的调用 1.调用函数 A.py文件如下:def add(x,y):    print('和为:%d'%(x+y)) 在B.py文件中调用A.py的add函数如下: import AA.ad ...

  4. git提交过程中遇到的 index.lock 问题导致无法提交的解决方法

    在提交代码的过程中,可能会遇到下面的问题: fatal: Unable to create 'C:/programLists/zzw-q1/.git/index.lock': File exists. ...

  5. selenium+Python(事件)

    1.操作测试对象前面讲到了不少知识都是定位元素,定位只是第一步,定位之后需要对这个元素进行操作.鼠标点击或者键盘输入,这要取决于我们定位的是按钮还输入框.一般来说,webdriver 中比较常用的操作 ...

  6. 关于mouseleave事件触发的bug问题

    在做下拉树搜索功能的时候,下方内容框需要一个鼠标移出时就隐藏的功能,于是使用mouseleave的方法, 但是出现了一个问题就是在点击树展开个隐藏的时候,也触发了leave事件,将下方的树进行隐藏,出 ...

  7. Mac下使用wireshark解决Interface为空的办法

    Terminal中运行chown <user-name> /dev/bpf*命令 <user-name>处替换为当前mac用户名

  8. Express4.10.2开发框架中默认app.js的代码注释

    //通过require()加载了express.path等模块var express = require('express');var path = require('path');var favic ...

  9. 9.1_the end

    选择题 1.考察正则,书写一个6位数的邮箱 a var mail=/\d{6}/; b var mail=new RegExp("/\d{6}/"); 分析:对a,应该要添加开头和 ...

  10. sqlite3使用

    sqlite3使用 sqlite可以在https://www.sqlite.org/网站上下载.支持Linux, MacOS, Windows等各种操作系统.下载后不需要安装,解压后就可以使用,追加路 ...