培训之路四--浅谈scrum

由于上周项目一直在部署,所以没有写任何代码,所以就没有了评审代码这一步。

但是苏总一来就让我们花一个小时做了几道题,主要考察我们的思想,题目大致为:

1.什么是软件,以及未来你想成为一个什么软件职业?

2.请计算一下神6起飞的过程中大概花费多少钱?简单说明计算依据

3.请问以下名词哪些你是了解的,并请详细介绍一个 

 ResetFul, AVG, Ajax, MVC, DSL,TCP/IP

4.一段英文翻译,主要关于,当时感觉翻译的很蛋痛,关键字居然不知道是什么意思,哎。

4.请使用折半查询实现一个以从小到大已排好序的,int[] data ,中一个数,如果无此数,则 返回最接近一个。(数组长度不定,语言不限,写出函数即可)

5.事件处理------请问遇到以下情况你会怎么办?

  1)周一答应好友周六参加朋友婚礼

  2)周五手机坏了,还没修好

  3)周五被告知,项目周日会被验收,周六会加班

  4)你被安排加班,但是你不是项目组长,项目中还有4个人。 

-------------------------------------------------------------------------------------------------

测试结束,开始今天培训

培训主题

         浅谈敏捷开发之----scrum

由于以前看过一本关于scrum之敏捷的书,加之苏总讲的一些,对srume有了大致的了解。scrum中的两个个核心及sprint(冲刺),以及blocklog(障碍)。按照苏总的比喻,scrum就好比打一场橄榄球,运动员要不断的冲刺,但是在冲刺的过程中会遇到很多障碍,那么我们怎么来解决这些blocklog呢?

Scrum强调小团队作战,团队人员之间没有太大的区别和等级之分,人人都可以说,他的目的就是要在最早的时候暴露软件开发的更多问题,头脑风暴往往是个不错的手段。其中有一个很经典的纸牌游戏。玩法是这样的-------

比如大家在一起讨论一个用例(功能模块)的大致所需时间的时候。如果我们事先设定一个基本点(通常可以是一天,半天等),然后大家经过分析,认真思考后,通过统一亮牌,纸牌的点数*基本点就代表你所认为的所需时间,很显然这和大家直接说好多了,因为直接说可能会受他人的影响。显然大家所认为的时间花费可能会不同,及点数有高有低,很不幸Scrum中不强调平均,平均不一定就是最好的。那么此时就由所认为花费时间最多和最少的人发表自己的意见,陈述自己的理由。然后再经过大家思考,由统一亮牌,就这样一直持续下去,直到大家意见统一为止(及所出牌点数一样)。通过此方法可以在最初让团队的所有人员在软件开发上思想达到统一,也能够对整个项目有一个很好的了解。

Scrum的团队的构建及一些专业名词

◆backlog:可以预知的所有任务,包括功能性的和非功能性的所有任务。
◆sprint:一次跌代开发的时间周期,一般最多以30天为一个周期。在这段时间内,开发团队需要完成一个制定的backlog,并且最终成果是一个增量的,可以交付的产品。
◆sprint backlog:一个sprint周期内所需要完成的任务。
◆scrumMaster:负责监督整个Scrum进程,修订计划的一个团队成员。
◆time-box:一个用于开会时间段。比如每个daily scrum meeting的time-box为15分钟。
◆sprint planning meeting:在启动每个sprint前召开。一般为一天时间(8小时)。该会议需要制定的任务是:产品Owner和团队成员将backlog分解成小的功能模块,决定在即将进行的sprint里需要完成多少小功能模块,确定好这个Product Backlog的任务优先级。另外,该会议还需详细地讨论如何能够按照需求完成这些小功能模块。制定的这些模块的工作量以小时计算。
◆Daily Scrum meeting:开发团队成员召开,一般为15分钟。每个开发成员需要向ScrumMaster汇报三个项目:今天完成了什么?是否遇到了障碍?即将要做什么?通过该会议,团队成员可以相互了解项目进度。
◆Sprint review meeting:在每个Sprint结束后,这个Team将这个Sprint的工作成果演示给Product Owner和其他相关的人员。一般该会议为4小时。
◆Sprint retrospective meeting:对刚结束的Sprint进行总结。会议的参与人员为团队开发的内部人员。一般该会议为3小时。 

实施scrum的过程简介

1)将整个产品的backlog分解成Sprint Backlog,这个Sprint Backlog是按照目前的人力物力条件可以完成的。
2)召开sprint planning meeting,划分,确定这个Sprint内需要完成的任务,标注任务的优先级并分配给每个成员。注意这里的任务是以小时计算的,并不是按人天计算。
3)进入sprint开发周期,在这个周期内,每天需要召开Daily Scrum meeting。
4)整个sprint周期结束,召开Sprint review meeting,将成果演示给Product Owner。
5)团队成员最后召开Sprint retrospective meeting,总结问题和经验。
6)这样周而复始,按照同样的步骤进行下一次Sprint。 

Ps:详情可以参见http://www.pcdog.com/edu/engineer/01/01/n314125.html        

由于本人写博客目的在于知识总结,所以很多新的东西不一定是原创,有可能参见了他人一些博客,但基本都已指出,望大家谅解。

总结,虽然大家都在谈敏捷,scrum大家也在实践,但是往往我们不能把握其实质,追究了其形式,这是最悲剧的。

通过本次培训,收获还是挺多的,和几个朋友一起也搞了一个敏捷开发(学习组),希望通过实践,理解的更多。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值