Scrum敏捷游戏开发

Posted 狂暴的游戏程序员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scrum敏捷游戏开发相关的知识,希望对你有一定的参考价值。

Scrum是一种敏捷开发的框架,对于任何软件开发甚至个人管理都非常具有指导意义。先放一张Scrum软件开发过程的框架图:

敏捷和Scrum

Scrum是一种敏捷实践,那敏捷又是什么呢?单纯的熬夜加班加点,快速地完成任务就叫敏捷吗?绝非如此,敏捷有着完整的软件开发流程,及其独到的思想,不只单纯的快,更讲究单位时间创造的价值,包含了很多实践,如:迭代计划,每日站会,协作的团队,极限编程,代码复审,持续集成,持续改进等等。


回顾下敏捷开发的价值观:

  • 个体和互动 高于 流程和工具

  • 工作的软件 高于 详尽的文档

  • 客户合作 高于 合同谈判

  • 响应变化 高于 遵循计划


一定要注意“高于”二字,后面的也很重要,千万不要误解为不重要而忽视。关于敏捷和Scrum有很多经典的书都有描述,有需要可以Google。本文就按照自己的理解,意识流式随便写写。

游戏开发大大小小的团队都有,在开发过程中,有些时候流程会显的有些随意,有些混乱,很有必要借助Scrum框架来捋一捋,来优化下流程和日常的一些活动。日常频率越高的活动,稍微改进一点,整个团队的效率就会有极大的提升

就以Scrum中的每日站会为例,大家站着围成一圈,依次回答下面三个问题:

  • 昨天完成了什么?

  • 今天要做什么,预期结果是怎样?

  • 遇到什么问题和障碍?


每日站会会是每个人每天开始工作的一个仪式,开完早会大家才能安心去干活,会议能减少1分钟,参会人越多省的时间就越多。每日站会是交流项目进度和遇到问题的绝佳时机,提出问题明确责任人即可,尽量不要尝试在站会上讨论和解决问题,会议时间应该限制在15分钟以内。时间和地点能固定就更好了。

Scrum游戏开发,如何进行?

要想实现目标,持续改进,做任何事情都可以参考戴明循环PDCA,不断进行迭代:

Scrum其实也遵循类似的逻辑,在每一次迭代开始,都要进行一次迭代计划会议,产品负责人会根据价值对需求进行排序,选择价值高的放入本次迭代的待办事项列表,每次迭代持续1-4周,通过每日站会驱动任务的执行,迭代结束时除了产品的增量及其评审外,还有一件重要的事情,就时反思此次迭代中存在的问题,比如:计划的内容为什么没开发完?通宵做的版本为什么总是要出问题?为什么总时在最后一刻需求有变化?等等。通过回顾和反思,改进Scrum流程,好的坚持,不好的改进。这样才是一个正向循环,经过一次一次的迭代,无论产品和流程都往着好的方向发展。

下面是2016整理的,Scrum游戏开发框架:

产品负责人(Product Owner)

  • 清晰地表达产品待办列表项

  • 对产品待办列表项进行排序,最好地实现目标和使命

  • 优化开发团队所执行工作的价值

  • 确保产品待办列表对所有人可见、透明、清晰,并且显示 Scrum 团队的下一步工作

  • 确保开发团队对产品待办列表项有足够的理解

  • 产品负责人负责最大化产品以及开发团队工作的价值。

  • 由制作人、主策或专门的助理担任。

  • 确认新功能的开发、BUG的修复。


开发团队(Scum Team)

  • 策划:游戏设计、制作策划案、协调沟通。

  • 程序:开发编码、联调测试。

  • 测试:功能测试。

  • 美术:制作美术资源。

  • 音效:制作音效资源。

  • 开发团队由组织组建并授权, 团队自己组织和管理他们的工作。

  • 开发团队最佳规模是: 足够小以保持敏捷性,足够大以完成重要的工作。


流程管理员(Scrum Master)是Scrum特有的角色,服务于整个团队。

Scrum Master 服务于产品负责人:

  • 找到有效管理产品待办列表的技巧

  • 帮助 Scrum 团队理解“清晰准确的产品待办列表项”的重要性

  • 在经验主义的环境中理解长期的产品规划

  • 确保产品负责人懂得如何安排产品待办列表项来最大化价值

  • 理解并实践敏捷

  • 按要求或需要引导 Scrum 事件


Scrum Master 服务于开发团队:

  • 在自组织和跨职能方面给予团队指导

  • 协助开发团队开发高价值的产品

  • 移除开发团队工作中的障碍

  • 按要求或需要引导 Scrum 事件

  • 在 Scrum 还未被完全采纳和理解的组织环境下指导开发团队


头脑风暴

  • 游戏设计想法讨论

  • 形成策划草案


方案评审

  • 参与者:策划、程序、测试

  • 评审策划方案

  • 确定执行人员

  • 确定执行用时

  • 大家对讨论的主题都必须了解

  • 策划方案尽可能详尽


Sprint计划会议

  • 参与者:产品负责人、开发团队负责人

  • 确定后续Sprint的开发内容

  • 确定版本发布时间

  • Sprint Backlog:可行无异议的待办列表

  • Plan

  • 新功能必须经过方案评审才能加入SprintBacklog


每日站会

  • 参与者:团队所有成员 

  • 昨天我为开发团队达成Sprint 目标做了什么

  • 今天我准备如何帮助团队达成 Sprint目标

  • 有什么事情阻碍了我帮助团队达成Sprint目标

  • 整个团队规模比较小可以整体开会

  • 规模较大需要进行拆分(特性团队、业务团队)

  • 固定时间、<=15min

  • 提出问题、会后找相关人员讨论


产品待办列表(Product Backlog)

  • 产品待办列表是一个有序的列表,其中包含产品需要的一切可能的东西,也是产品需
    求变动的唯一来源。

  • 产品负责人负责管理产品待办列表的内容、可用性和排序。


Sprint待办列表(Sprint Backlog)

  • Sprint 待办列表是一组为当前 Sprint 选出的产品待办列表项,外加交付产品增量和
    实现 Sprint 目标的计划。


PS. 今天状态不太好,脑子有些转不动,但还是要坚持写些东西,回顾和整理过去的一些思考,逻辑有些混乱,大概看看,知道Scrum是游戏开发流程的一种很好的选择即可。系统学习,推荐几本书:

  • 《敏捷软件开发:原则、模式于实践》 - Robert C·Martin

  • 《Scrum敏捷软件开发》 - Mike Cohn

  • 《Scrum敏捷游戏开发》 - Clinton Keith


敏捷并不简单,每一项实践都值得深思!


以上是关于Scrum敏捷游戏开发的主要内容,如果未能解决你的问题,请参考以下文章

Scrum:官僚者们的游戏

Scrum 敏捷开发

Scrum权威指南:游戏规则

[Scrum敏捷开发之] Sprint 计划会议详解

[Scrum敏捷开发之] Sprint评审和回顾会议

内训课推荐丨Scrum敏捷项目管理实战工坊