★V1.0★

事后诸葛亮分析

事后诸葛亮分析

1.设想与目标

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

我们的软件是基于ocr模型的试卷分割和题目内容识别的微信小程序,可以对传入的试卷图像进行识别,将其按照题目分割成独立的图片,并进行题目内容的识别。

定义很清楚,且对典型用户和典型场景有清晰的描述。

1.2我们达到目标了么?

基本达成,仅因预算问题未上线(pe端无法部署到服务器上),但功能都实现了。

1.3用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?我们离目标更近了么?有什么经验教训? 如果历史重来一遍,我们会做什么改进?

因为时间原因,本项目还未能部署到服务器上,且部分用户认为我们的软件有些小众。

我们的确离目标更近了。

  • 经验教训:我们在开工前对部分任务的分配和认知不够合理,且技术不够熟练。
  • 改进:在今后的过程中要努力学习,如果能够重来,会在开始冲刺计划之前学习更多的技术,对相关流程有更深刻的了解。

2.计划

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

是。

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

优先进行讨论,每个人给出自己的理由,如果是两三人的冲突能自行解决优先自行解决,不能自行解决则的交给PM或者队长决策。

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

工作全部完成了,仅pe端无法部署到服务器上,因为没钱。

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

有,比如纠结一些细枝末节的设计,后来发现还是实现大体更重要。

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

是。

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

基本按照计划实行,仅在微信小程序最后部署上云时发现自己一开始准备的学生版云服务器不够用。出现这个问题的原因使我个人不够了解相关技术,没有对项目的实际情况有实际的了解。

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

有留下缓冲时间,但因为时间分配较为合理,因此没有用到。

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

  • **我们学到的: 软件工程团队开发的流程、团队合作和沟通的能力、更好的编码能力、抗压能力、对文档编写任务的认知和编写文档的技术。
  • **如果能重来: 更早的开始学习新技术,在规划的阶段更细致的沟通,并将规划进一步评估。

3.资源

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

有,但是服务器出现了问题,所以项目还没有上线。

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

根据小组讨论和经验进行评估,以小时为单位。

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

测试时间和人力和软件/硬件资源足够,美工设计没有低估难度,因为组长就是美工,但是在文档编写方面低估了难度。

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

我个人(组长)觉得我做的效率挺高的,但可以适量分出一些工作给其他人,也许我轻松一点总体效率也能提高吧。

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

  • 经验教训:买不起更好的服务器给程序做后台。
  • 改进:在开头的计划的时候应该对相关技术有更深刻的了解的情况下在做决策。

4.变更管理

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

是。

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

我们从系统的核心功能出发来看这个问题,如果它是核心功能,则它属于必须实现的功能,如果是外围扩展的功能,则在时间紧迫的情况下我们进行了推迟。

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

有,即能完成基本的核心功能且正常运行。

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

是。

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

是,大家都很靠谱。

5.设计/实现

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

设计工作是在确定需求之后,由团队中的PM和队长决定。

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

有,靠微信沟通解决了。

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

我们没有采用单元测试,但通过别的测试方式进行测试。UML文档有过少量更新。

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

在界面交互中有bug,发布后未发现bug报告,原因是因为我们技术不够成熟。

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

在提交代码后进行代码复审,保证了基本的代码规范。

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

  • 我们学到的:设计规范,代码复审,一些软件的使用,代码规范。
  • 改进:我们会在开头进行更系统的学习。

6.测试/发布

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

有,在测试之前,由开发人员对项目进行项目测试计划的安排。

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

有。

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

有,使用微信开发者工具和pycharm自带工具。

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

我们未进行压力测试。

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

由于服务器的原因,本项目只能在本地进行测试和使用,暂未发布。

7.团队的角色,管理,合作

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

由个人意愿和小组讨论共同决定,人尽其才。

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

有,在有人遇到困难时会互帮互助,气氛融洽。

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

如果是两三人的冲突能自行解决优先自行解决,不能自行解决则的交给PM或者队长决策。

8.总结

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

三级。

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

规范阶段。

8.3你觉得团队在这个里程碑相比前一个里程碑有什么改进?

这是我们的第一个里程碑。

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

编程能力,我代码水平真的很菜。

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

  • 面对面交谈,线下开会进行交流。
  • 队员在项目开发过程中每天共同工作,出现问题及时讨论并解决。

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

在项目准备阶段,必须给项目制定一套代码规范,并且要求严格执行。

8.7整个程序的架构如何具体提高? 如何通过重构等方法提高质量,如何衡量质量的提高?

进行更规范的架构设计。

8.8其它软件工具的应用,应该如何提高?

充分利用GitHub的代码管理方式,通过学习使用其他软件,比如测试软件,来提高项目开发效率。

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

对issue的利用可以更加细致,高效。

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

暂无。

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

和代码一样进行复审。

8.12对于人的领导和管理, 有什么具体可以改进的地方?

积累经验,提升领导力吧。

9.会议照片及角色贡献

9.1会议照片

9.2角色贡献

名字 学号 角色 团队贡献分 可验证贡献
姜珺杨 3219005446 队长,前端开发,美工 22 博客编写,前端实现,部分文档编写,总体管理
程雨秋 3219005444 PM 19 需求说明书编写,测试计划
邱秀文 3219005450 前端开发,文档编写 17 协助测试,文档编写,前端部分界面实现
刘梓祥 3119005426 后台开发 24 后台开发
周心怡 3219005452 前端开发 18 前端部分界面实现,博客编写
posted @ 2021-12-12 20:48  Quadrillion  阅读(23)  评论(0编辑  收藏  举报
★V1.0★