您的位置:首页 > 其它

敏捷开发方法综述

2016-03-27 22:30 232 查看
这周老师介绍了关于敏捷开发的详细,在软件编程日益巨大的今天,敏捷开发必定会给开发者们带来很大的机遇,但是与此同时,也会是严峻的考研。

敏捷开发是什么呢!简单意义上说:一个团队的问题讨论后编程的迭代,将一个问题从简单出发渐入佳境。

敏捷开发SCRUM开发方法:

让团队坐在一起:

1. 互相听到:所有人都可以彼此交谈,不必大声喊,不必离开座位。

2. 互相看到:所有人都可以看到彼此,都能看到任务版

3. 隔离:如果你们整个团队突然站起来,自发形成一个激烈的设计讨论,团队外的任何人都不会打扰到。

产品负责人应该离团队很近,既方便团队成员走过来讨论问题,他也能随时踱到任务版前面去。但是他不应该跟团队坐在一起。为什么?因为这样他就无法控制自己不去关注具体细节,团队也无法”凝结”成整体(即达到关系紧密、自组织、具有超高生产力的状态)

怎样更新任务版

无论sprint backlog是什么形式,都要尽力让整个团队参与到保持sprint backlog及时更新的工作中来,我们曾经试过让Scrum master自己维护sprint backlog,他就不得不每天都去询问大家各自剩余的工作估算时间。这种做法的缺点是:

1. Scrum master把太多时间用在了管理之类的工作上,而不是为团队提供支持,消除他们的障碍

2. 因为团队成员不再关心sprint backlog ,所以他们就意识不不到sprint的状态,缺少了反馈,团队整体的敏捷度和精力的集中程度都会下降。

如果sprint backlog设计得很好,那每个人都应该很容易修改它。

怎样进行sprint演示

Sprint演示是Scrum中很重要的一环。一次做的不错的演示,即使看上去很一般,也会带来深远影响。

1. 团队的成果得到认可,他们会感觉很好。

2. 其他人可以了解你的团队在做些什么。

3. 演示可以吸引相关干系人的注意,并得到重要反馈。

4. 演示是一种社会活动,不同的团队可以在这里相互交流,讨论各自的工作。这很有意义。

5. 做演示会迫使团队真正完成一些工作,进行发布(即使是只在测试环境中)。如果没有演示,我们就会总是得到99%完成的工作。有了演示以后,也许我们完成的事情会变少,但它们是真正完成的。这比得到一堆貌似完成的工作要好得多,而且后者还会污染下一个sprint。

Sprint演示检查列表

1. 确保清晰阐述了Sprint目标。如果在演示上有些人对产品一无所知,那就花上几分钟来进行描述。

2. 不要花太多时间准备演示,尤其是不要做花里胡哨的演讲,把那些玩意扔一边去,集中精力演示可以实际工作的代码。

3. 节奏要快,也就是说要把准备的经历放在保持演示的快节奏上,而不是让它看上去好看

4. 让演示关注于业务层次,不要管技术细节。注意力放在”我们做了什么”,而不是”我们怎么做的”

5. 可能的话,让观众自己试一下产品。

6. 不要演示一大堆细碎的bug修复和微不足道的特性,你可以提到一些,但是不要演示,因为他们通常会花很长时间。而且会分散大家的注意力,让他们不能关注更加重要的需求。

Scrum回顾

回顾是Scrum中第二重要的事件(最重要的是sprint计划会议),因为这是你做改进的最佳时机。如果没有回顾,团队就会不断重犯同样的错误。

回顾组织:

1. 根据要讨论的内容范围,设定为1到3小时

2. 参与者:产品负责人,整个团队。

3. 在不受干扰的情况下讨论。

4. 一般不要在团队房间中进行回顾,因为这往往会分散大家的注意力。

5. 制定某人当秘书。

6. Scrum master 向大家展示sprint backlog ,在团队的帮助下对sprint做总结。包括重要事件和决策等。

7. 轮流发言,每个人都有机会在不被人打断的情况下讲出自己的想法,他认为什么是好的,哪些可以做的更好,哪些需要在下个sprint中改变。

8. 我们队预估生产率和时机生产率进行比较。如果差异比较大的话,我们会分析原因。

9. 快结束的时候,Scrum master对具体建议进行总结,得出下个sprint需要改进的地方。

我们的回顾会议一般没有太规整的结构,不过潜在的主题都是一样的:”我们怎样才能在下个sprint中做的更好

结对编程

1. 结对编程可以提高代码质量。

2. 结对编程可以让团队的精力更加集中

3. 结对编程令人精疲力竭,不能全天都这样做。

4. 常常更换结对是有好处的。

5. 结对编程可以增进团队间的知识传播。速度快到令人难以想象。

6. 有些人就是不习惯结对编程。不要因为一个优秀的开发人员不习惯结对编程就把他置之不理。

7. 可以把代码审查座位结对编程的替代方案。

8. “领航员”(不用键盘的家伙)应该自己也有一台机器。不是用来开发,而是在需要的时候稍稍做一些探索尝试、当”司机”(使用键盘的家伙)、遇到难题的时候查看文档,等等。

9. 不要强制大家使用结对编程。鼓励他们,提供合适的工具,让他们按照自己的节奏去尝试。

下面的对团体工作有所鼓励:

个体与交互 胜过 过程与工具

可以工作的软件 胜过 面面俱到的文档

客户协作 胜过 合同谈判

响应变化 胜过 遵循计划
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: