一.设想和目标

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

  • 我们要开发一个平台供师生和院校团体发布信息,接收资讯。
  • 定义很清楚了。
  • 对各用户和场景皆有清晰描述。
  • 详情请查看我们的《软件规格需求说明书》
  • 链接:https://www.yuque.com/qg05r4/pswt5r/ba2h5n

 

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

  • 有,并在相应时间内制定了较为详尽的计划。

 

3. 团队在计划阶段是如何解决成员对于计划的不同意见的?

  • 团队成员之间及时沟通,交流,最终得出一个大家都能接受的方案。

 

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

  • 项目开始之初要尽快分配前期工作,迅速得出项目的设想与目标,并及时与项目成员交流,改进需求分析,让各位成员都能迅速明白我们的项目的设想和目标,方便后续工作的开展。

 

二.计划

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

  • 做完了,因为是第一次团队项目,我们会根据实际情况来制定最近的计划,不会盲目空想以后计划,我们会隔一段时间给出之后一段时间的计划,并根据变化及时修改计划,完成计划的迭代。

 

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

  • 没有,做的每一件事都有相应的价值存在,正因为做了,就算是不好的方法,我们也可以从中吸取经验,得出更好的方法。

 

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

  • 每一项任务都有相对详尽的定义,若出现定义上或理解上的问题,队员们可以及时讨论,得到清楚的定义。
  • 交付件无定量,经验不足,难以制定定量的交付件。

 

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

  • 大部分时间都是按照计划进行的。但是当别的课程布置了量很大的作业时,我们会有不可抗力因素,要优先完成别的迫切要交的作业,再来完成团队项目。另外开发时间超出估算,开发难度超出预计,这些是经验不足产生的问题。不过最后我们还是能按时完成每周的团队项目任务,但某些时候队员压力比较大。

 

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

  • 计划中留有空余的时间供团队成员合理分配自己的工作用时,我们认为是有作用的。

 

6. 将来的计划会做什么修改?

  • 计划会根据实际情况作出修改,无法确定是什么修改。

 

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

  • 计划需要迅速制定,且灵活,留有空余时间,提前分配好修改计划的空间。

 

三.资源

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

  • 我们有较为合理的成员分配方式,各位成员可以发挥所长,各司其职来完成相应工作,但资源是不足的,需要边做边学习,获取更多的资源。

 

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

  • 综合考虑任务难度与任务量,将各项任务分成1-10小时的小任务,精度:小时。

 

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

  • 时间,人力足够,但软硬件资源有所欠缺。
  • 不需要编程的资源估计难度与实际相差不大。

 

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

  • 暂无。

 

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

  • 将资源获取的部分在整个项目进程中提前,会使我们对项目开发理解得更好。

 

四.变更管理

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

  • 都及时知道,通过微信群和羽雀文档安排。

 

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

  • 参考构建之法,将功能分为四个象限,优先完成主要的功能(1,2象限的功能),推迟完成辅助功能。

 

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

完成以下条件即可出口:

  • 各模块之间连接无明显问题;
  • 实现发帖,看贴,标签管理的基本功能;
  • 实现登录注册、点赞、评论、收藏、评论、编辑个人信息的必要辅助功能;
  • 日常使用中不出现明显bug。

 

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

  • 有,如有变更我们会迅速讨论,及时给出应急计划。

 

5. 成员是否能够有效地处理意料之外的任务请求?

  • 能,遇到这样的任务请求我们可以很快沟通并处理。

 

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

  • 管理需要明确且灵活,给各位成员留有改变相应安排的余地,这样会使我们在项目开发中更得心应手,任务执行起来更有目标性。

 

五.设计/实现

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

  • PM负责功能与界面设计,Dev负责架构设计,时间合适,人员合适。

 

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

  • 给出原始方案,然后沟通解决,后续改进。

 

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

  • 由于时间较紧,相关测试学习成本过大,我们没有运用以上工具。

 

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

  • 主页显示产生的Bug最多,因为主页显示与其他模块关系密切,数据交互起来容易产生奇怪的Bug。
  • 发布之后发现的重要的bug:有时候界面会同时打开两次。
  • 没考虑到这些情况是因为我们缺乏经验,且使用的技术很多坑,对新手不友好,一时间会出现很多奇怪的bug。

 

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

  • 我们采用  Git Flow + Pull Requests 模式来做Code Review,严格执行了代码规范。

 

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

  • 我们会把设计做得更细致,提前完成每个功能模块的构思,给出一套完整的设计方案。

 

六.测试/发布

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

  • 有。

 

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

  • 有,对所有功能都进行了测试。

 

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

  • 没有用到测试工具,因为第一次进行测试,所以就先采用了人工测试。

 

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

  • 查看软件对系统内存的占用量,并根据用户感受来跟踪软件效能。
  • 测试工作有用。

 

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

  • 没有。

 

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

  • 我们学到了软件测试/发布的基本知识和基本流程,如果重来一遍,我们会尽量使用一些有效的软件测试工具。

 

总结:

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

  • 二级。

 

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

  • 磨合。

 

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

  • 技术、开发经验缺乏,需要进一步学习掌握。

 

博客要附上全组讨论的照片

image.png

 

团队成员在Alpha阶段的角色和具体贡献:

我们将20N的瓜分配给所有成员,总分20*6 = 120分。

PM:项目经理    Dev:开发    Test:测试

名字

角色

团队贡献分

可验证的贡献

蔡双浩

Dev

 19

个人中心的开发

关注、粉丝功能的开发

收藏功能的开发

陈创智

Dev

 18

创作中心的开发

草稿箱的开发

陈纪禧

Dev

 21

帖子显示模块的开发

点赞、评论、收藏、关注接口的开发

程伟杰

 PM

 23

博客,团队文档的编写

注册登录模块的开发

界面、功能的设计

高山

Test

17

提交测试计划

编写测试报告

谢立新

Dev

22

系统架构的原型设计

首页模块的开发

搜索功能的开发

 

 posted on 2020-06-14 23:26  沉沦SgGhost  阅读(143)  评论(0编辑  收藏  举报