[T.18] RedCinnamoroll:Beta 阶段项目总结

RedCinnamoroll 2024-06-30 21:00:03

img

项目内容
这个作业属于哪个课程2024年北航敏捷软件工程
这个作业的要求在哪里[T.18] 团队项目:Beta 阶段项目总结
我们在这个课程的目标是学习敏捷开发的思想,合作开发出一款优秀有趣的软件
这个作业在哪个具体方面帮助我们实现目标回顾 Beta 阶段,总结与反思

Notion

设想和目标

我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?

制作一款Rougelike塔防游戏。是。

我们达到目标了么(原计划的功能做到了几个? 按照原计划交付时间交付了么? 原计划达到的用户数量达到了么?)

我们基本完成了原计划开发,但是音乐和美术素材部分被推至Beta阶段。

在Beta阶段完成了组装件效果实现、教程系统、仓库系统、图鉴系统、Buff系统、奖励掉落、数值设计、美工和音乐素材的整理添加等工作。

我们计划中Beta阶段中的用户数量应当达到了。

用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?

用户对重要功能比较接受,但是提出了

我们离目标更近了。

有什么经验教训? 如果历史重来一遍, 我们会做什么改进?

一定要提前找到/安排负责美工的人员

提前规化工作总量,根据每个成员擅长的工作分配任务。

为用户需求划分提前划分优先级,集中精力完善核心需求。

计划

是否有充足的时间来做计划?

是的

团队在计划阶段是如何解决同事们对于计划的不同意见的?

吵架

及时召开小组会议,对于少数有意见分歧之处,经过组内和谐友善的讨论得到一个解决方案

实际上大部分计划都没有很多不同意见。

你原计划的工作是否最后都做完了? 如果有没做完的,为什么?

  • 没能即时解决所有教程系统的bug

有没有发现你做了一些事后看来没必要或没多大价值的事?

  • 防御塔初始阶段使用的素材后来遭到废弃

是否每一项任务都有清楚定义和衡量的交付件?

对任务与目标效果有较为清晰的描述

是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?

基本按计划进行。

在计划中有没有留下缓冲区,缓冲区有作用么?

留下了缓冲区,但没有发挥作用

将来的计划会做什么修改?(例如:缓冲区的定义,加班)

提早分配美术与音乐素材内容。

我们学到了什么? 如果历史重来一遍, 我们会做什么改进?

应当提前明确列出所有的任务,并及时对工作量进行重新估计

资源

我们有足够的资源来完成各项任务么?

缺少美术与音乐资源

各项任务所需的时间和其他资源是如何估计的,精度如何?

由于对unity项目的不熟悉,我们只能基于其他项目的经验进行估计,部分内容有一定偏差

测试的时间,人力和软件/硬件资源是否足够? 对于那些不需要编程的资源 (美工设计/文案)是否低估难度?

足够。是的,对于美术与音乐完全低估。

你有没有感到你做的事情可以让别人来做(更有效率)?

可能较少有对全局效率有很大提升的。

有什么经验教训? 如果历史重来一遍, 我们会做什么改进?

同上

变更管理

每个相关的员工都及时知道了变更的消息?

是的,我们会在线下与线上微信群等渠道进行通知,对于未确认收到的成员PM会私聊提醒

我们采用了什么办法决定“推迟”和“必须实现”的功能?

考虑游戏系统与玩家需求协商解决

项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?

对于可能的变更是否能制定应急计划?

员工是否能够有效地处理意料之外的工作请求?

我们学到了什么? 如果历史重来一遍, 我们会做什么改进?

我们完成的较好

设计/实现

设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?

在 Beta 阶段第一周之前由PM完成。是的。

设计工作有没有碰到模棱两可的情况,团队是如何解决的?

存在,与PM交流解决

团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么? 比较项目开始的 UML 文档和现在的状态有什么区别?这些区别如何产生的?是否要更新 UML 文档?

部分功能的逻辑实现使用了UML。

什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?

教程产生了较多的bug,因为后期测试的不完善和得过且过,没有预想到玩家特殊行为的常见性,以及unity对硬件性能的依赖性,使展示效果不够完美

代码复审(Code Review)是如何进行的,是否严格执行了代码规范?

通过 github 的 pull request review 功能完成。

严格执行了代码规范。配置了 CI 对 pr 进行检测。

我们学到了什么? 如果历史重来一遍, 我们会做什么改进?

应当更加明确地写出不同功能的需求

测试/发布

团队是否有一个测试计划?为什么没有?

没有。没有提前为测试进行规划。

是否进行了正式的验收测试?

是的。

团队是否有测试工具来帮助测试?

没有。

很多团队用大量低效率的手动测试,请提出改进计划:至少一个方面的测试要用自动化的测试工具,自动化的测试结果报告,比较测试结果的差异,等等。

使用编写的 debug 功能进行测试场景对搭建。

团队是如何测量并跟踪软件的效能(Performance)的?压力测试(Stress Test)呢? 从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?

由于unity引擎的问题,在电脑电量低时,小游戏中会出现不符合预期的行为。我们在这方面的测试不够完善。

在发布的过程中发现了哪些意外问题?

存在不合预期的实现,进行了临时改动。

我们学到了什么? 如果重来一遍, 我们会做什么改进?

应当提前规划并实施测试

团队的角色,管理,合作

团队的每个角色是如何确定的,是不是人尽其才?

主要由个人意向决定,基本实现人尽其才(我被榨干了 by 某组员)

团队成员之间有互相帮助么?

有。现在就在x

当出现项目管理、合作方面的问题时,团队成员如何解决问题?

主动交流

总结:

你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?

管理级

你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段? 你觉得团队在这个里程碑相比前一个里程碑有什么改进?

创造阶段

你觉得目前最需要改进的一个方面是什么?

需要提高组会效率

对照敏捷开发的原则, 你觉得你们小组做得最好的是哪几个原则? 请列出具体的事例。

  • 不断的交付可用的软件。我们不断迭代并将模块添加至软件中,每阶段均是可用的。
  • 可工作软件是衡量进度首要标准。我们根据各功能模块的完成情况来衡量进度。

正如我们前面提到的, 软件的质量 = 程序的质量 + 软件工程的质量,那团队在下一阶段应该如何提高软件工程的质量呢?

  • 代码管理的质量具体应该如何提高? 代码复审和代码规范的质量应该如何提高?

    完善提交规范

  • 项目管理有哪些具体的提高?

    明确进度,规范文档。

  • 项目跟踪用户数据方面,计划要提高什么地方?例如你们是如何知道每日/周活跃用户等数据的?

    提升用户群的作用。

  • 项目文档的质量如何提高?

    理清文档结构,简洁规范。

  • 对于人的领导和管理, 有什么具体可以改进的地方? 请看《构建之法》关于PM、绩效考核的章节, 或者 《人件》等参考书

    提高交流

img

...全文
246 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

73

社区成员

发帖
与我相关
我的任务
社区描述
2024年北航敏捷软件工程
软件工程团队开发结对编程 高校 北京·海淀区
社区管理员
  • clotho67
  • Yeyanhan
  • HJin_Gwok
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧