事后诸葛亮分析

1.设想和目标

  1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
    软件旨在解决教育管理中的效率问题,包括教师端的班级管理、作业发布与成绩管理,以及学生端的作业提交与成绩查询。
    问题定义清晰,典型用户(教师和学生)和场景(教育管理)有明确描述。

  2. 我们达到目标了么?
    核心功能已按计划实现,但用户推广和界面美化等方面未完全达到预期。

  3. 用户量,用户对重要功能的接受程度和我们事先的预想一致么?我们离目标更近了么?
    用户量未达到预期,但通过Alpha版本的测试与发布,收集到的用户反馈显示功能接受程度较高,我们离目标更近了。

  4. 有什么经验教训?如果历史重来一遍,我们会做什么改进?
    应更早开始用户研究和原型测试,更准确地捕捉用户需求,并加强推广策略。

2. 计划

  1. 是否有充足的时间来做计划?
    时间相对充足,但缓冲时间不足。

  2. 团队在计划阶段是如何解决同事们对于计划的不同意见的?
    通过讨论和项目经理决策解决不同意见。

  3. 你原计划的工作是否最后都做完了?如果有没做完的,为什么?
    核心工作完成,推广和界面美化未完成,因资源和时间限制。

  4. 有没有发现你做了一些事后看来没必要或没多大价值的事?
    初期对某些非核心功能投入过多时间,影响了核心功能的开发。

  5. 是否每一项任务都有清楚定义和衡量的交付件?
    是的,每项任务都有明确定义和衡量标准。

  6. 是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?
    项目基本按计划进行,但未充分估计到用户测试反馈对开发计划的影响。

  7. 在计划中有没有留下缓冲区,缓冲区有作用么?
    有缓冲区,但不够,导致部分非核心工作延期。

  8. 将来的计划会做什么修改?
    增加缓冲时间,优化资源分配,加强风险管理。

3. 资源

  1. 我们有足够的资源来完成各项任务么?
    人力资源基本满足,但缺乏专业测试和设计资源。

  2. 各项任务所需的时间和其他资源是如何估计的,精度如何?
    基于经验和任务复杂度估计,精度有待提高。

  3. 测试的时间、人力和软件/硬件资源是否足够?对于那些不需要编程的资源是否低估难度?
    测试资源不足,特别是自动化测试工具的应用不足,对非编程资源的难度有所低估。

  4. 你有没有感觉你做的事情可以让别人来做(更有效率)?
    部分设计和测试工作可以由更专业的人来完成,提高效率。

4. 变更管理

  1. 每个相关的员工都及时知道了变更的消息?
    是的,通过会议和即时通讯工具及时通知。

  2. 我们采用了什么办法决定“推迟”和“必须实现”的功能?
    根据用户需求和实现难度共同决定。

  3. 项目的出口条件有清晰的定义么?
    是的,出口条件清晰定义,包括功能实现和性能指标。

  4. 对于可能的变更是否能指定应急计划?
    应急计划不够完善,未来需加强。

  5. 团队成员是否能有效地处理意料之外的工作请求?
    团队成员能适应变化,有效处理额外工作请求。

5. 设计/实现

  1. 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
    设计工作在项目初期完成,由团队成员共同完成,时间和人员算比较合适。

  2. 设计工作有没有碰到模棱两可的情况,团队是如何解决的?
    有,通过讨论和用户反馈解决。

  3. 团队是否运用单元测试、测试驱动的开发、UML或其他工具来帮助设计和实现?这些工具有效么?
    未使用这些工具,主要依靠人工测试和讨论,效率有限。

  4. 什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug?为什么我们在设计/开发的时候没有想到这些情况?
    退出功能Bug最多,因为涉及数据删除。发布后发现服务器稳定性问题,设计时未充分考虑。

  5. 代码复审是如何进行的,是否严格执行了代码规范?
    代码复审执行不严格,代码规范执行有待加强。

6. 测试/发布

  1. 团队是否有一个测试计划?为什么没有?
    有测试计划,但因资源限制未完全执行。

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

  3. 团队是否有测试工具来帮助测试?
    测试工具应用不足,主要依靠手动测试。

  4. 团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
    通过实际运行结果评估效能,测试工作有用,但需引入更多自动化测试工具。

  5. 在发布的过程中发现了哪些意外问题?
    发现了服务器稳定性和数据清除问题。

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

  1. 团队的每个角色是如何确定的,是不是人尽其才?
    角色基于技能和兴趣分配,基本实现了人尽其才。

  2. 团队成员之间有互相帮助么?
    是的,团队成员之间有良好的互相帮助。

  3. 当出现项目管理、合作方面的问题时,团队成员如何解决问题?
    通过讨论和项目经理协调解决问题。

8. 总结

  1. 你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?
    团队达到了CMMI二级——管理级的程度。

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

  3. 你觉得团队在这个里程碑相比前一个里程碑有什么改进?
    团队在需求理解和项目管理方面有所改进。

  4. 你觉得目前最需要改进的一个方面是什么?
    最需要改进的是用户推广和界面设计。

9. 敏捷开发原则

  • 根据敏捷开发的原则,你觉得你们小组做得最好的是哪几个原则?
    团队在适应性和响应变化方面做得较好。

10. 软件工程质量提升

  • 团队在下一阶段应该如何提高软件工程的质量?
    应提高代码管理、架构设计、工具应用、项目管理等方面的质量,加强用户研究和反馈。

全组讨论照片:

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

姓名 角色 团队贡献分 可验证的贡献
周晨佳 前端开发 20 实现用户界面,优化用户体验,确保界面响应速度和兼容性
范健成 前端开发 22 负责前端架构设计,提高页面加载效率,处理跨浏览器兼容性问题
李超 后端开发 19 开发核心业务逻辑,优化数据库性能,确保数据安全和一致性
陈卓嘉 后端开发 19 负责API开发和维护,实现前后端数据交互,提升系统稳定性
郭梓佳 项目经理 20 负责项目整体规划、协调和进度监控,确保项目目标的实现
林丙昆 功能测试 19 专注于系统安全性测试,提供详细的测试报告,协助修复缺陷
李炫杰 功能测试 21 设计测试用例,执行测试,识别关键缺陷,确保软件质量
posted @ 2024-12-07 14:27  垚*  阅读(11)  评论(0编辑  收藏  举报