Beta阶段项目终审报告

设想和目标

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

我们的软件主要是用来创建一个游戏平台来上传下载游戏的。我觉得我们对典型用户和典型场景描述的较为清楚,我们项目之前做了问卷调查,提出了一些功能,Alpha版本挑了用户较需要的几个功能重点实现,在Beta阶段我们也继续完善其余功能,并修复了前期的bug,同时优化了UI。

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

很遗憾,我们努力实现了前端还有客服端的工作,但是后端和数据库的工作还是差了一些。

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

很遗憾没能上线,但是我们的确是离目标更近了。

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

经验教训是把精力都花在最主要的方面。
如果历史重来一遍,会让大家一起来解决最棘手的数据库和后端的问题。

计划

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

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

大家意见很统一,计划也都没什么问题

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

没有做完,因为数据库的设计没想法

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

暂时没有

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

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

开发后期遇见了很多问题,因为没什么时间以及越深入发现需要完善的东西越多

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

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

留下充足缓冲区。

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

希望学校下个学期再开这门课

资源

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

人力资源上:有八个人,但是因为选题难所以任务完成起来难度还是蛮大。
开发资源:很多技术文档都是英文,也有很多在网上根本查不到,需要自己摸索。为了改两个玄学bug,我们甚至修改了react native库源代码。
设备资源:设备不缺,人人都有设备来调试,但是团队成员难同时正确操控多个设备。
时间资源:这半个学期是上大学以来最忙的,时间比较紧。
2.各项任务所需的时间和其他资源是如何估计的,精度如何?

都是根据任务量估计的,但Beta阶段的估计精度比之前好,是因为对任务要求有了更深的理解,估计得更准确了。

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

各种资源都是不太够得,其中最缺的还是时间资源。

在Beta阶段,由于美工和设计都已经成型,没有太大改动,所以这方面没有什么感觉。

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

测试和开发分开来效率会更高,因为一个人来既改bug又来调试会降低很多效率。

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

多争取一些时间资源,分工更加明确。

变更管理

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

是的。每位成员更新代码后,都会上传至Github,并且在微信群通知大家。

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

从两方面综合来考虑,一是需求,二是实现难度。用户需求高的功能和基础功能是“必须实现的”,用户不那么需求的和实现难度大的功能可以推迟或者取消。

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

有。

客户端和网页无崩溃、闪退等现象。
测试发现的Bug得到修复。

4.对于可能的变更是否能指定应急计划?

可以。比如发现了一个无法解决的bug,我们可以在github上回退至上一个正确的版本,或者翻微信记录返回上一个版本。

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

可以。比如我们调试的成员能高效的处理数据库的问题。

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

越早开始越好。早些定义好基础功能,大家以这个为目标先努力做好再去把bug一个个调试掉。

设计/实现

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

在Beta阶段开始的时候,我们一起商议了接下来等待完成的各个工作,是不是合适不知道。

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

有,比如对于某些新功能是否需要的问题,大家的意见不一致,我们的解决方法是大家通过邮件或者微信等联系方式去问身边的老师同学。

3.团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?

没有,我们这是一个游戏平台,不能简单的通过这些代码测试工具进行测试,需要使用设备来测试。

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

游戏功能。因为游戏功能会涉及到一系列数据的删除,当一个游戏上传时我们要考虑他是适合线上游玩还是下载游玩,同时还得对游戏进行一个标签的归类,对整个数据库要求很高。

5.代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
没有,因为时间不够。代码复审是由各自的编写者自行重新审读的。

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

在开始做任务之前要把分工考虑的更周到一些,同时把目标调整的更灵活,再来一遍的话我们希望能选个更好实现的主题。

测试/发布

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

暂时没有,因为数据库和后端还差一些。

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

没有,因为时间比较赶只是将流程跑了一下看有没有什么问题。

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

没有,采用的是人工测试。

4.团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?

软件的效能主要是指并发性和压力测试,前端和客户端跑的很顺利。

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

服务器不稳定,可能会死机,正常运行时也有可能会被暂停,得人工重启,而这时之前正在进行游戏的玩家数据就会被清除。
平台闪退。

总结

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

达到了CMMI二级——管理级的程度。我们团队遵守了既定的计划和流程,有资源准备,权责到人。

2.你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?

应该是到了规范阶段。我们团队成员们基本都保持一致。角色和职责定义大家都有见解。

改进

1.通过Alpha阶段的相互了解,我们团队的成员之间更加了解,认识到彼此的特性,但是因为成员间水平差异大,造成各个部分推进速度不一样。
2.团队的执行力更强了,大家的时间都比较紧,但只要任务布置下来,都会经量去完成的。
3.团队目前最需要改进的地方

整体设计和分工,整个平台的基础设计是最需要改进的,这直接关系到后面的推进,合作分工则主要表现在一开始大家对于组员的开发水平没有准确的认知导致开发进度参差不齐,这两个对后面开发工作意义重大。

合照

posted @ 2021-11-30 00:22  AustinSun  阅读(12)  评论(0编辑  收藏  举报