拿奖不排队-事后诸葛亮

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10863
团队名称 拿奖不排队
这个作业的目标 事后诸葛亮
作业正文 如下
其他参考文献 https://www.baidu.com

一、设想和目标

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

  • 我们的软件是一个学校重修系统
  • 定义得很清楚,解决学校此方面的所有需求
  • 对典型的用户和场景都做了清晰的研究和描述

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

  • 原计划功能前端部分完全实现,后端与财务对接的excel文件解析未完成,总完成度达到百分之九十以上
  • 当前版本已在原计划期限内交付
  • 计划用户数量未达到

3. 和上一个阶段相比,团队软件工程的质量提高了么? 在什么地方有提高,具体提高了多少,如何衡量的?

  • 团队软件工程的质量有些许提高
  • 在明确分工和职责方面有所提高,团队成员之间的协作更加的高效与灵活
  • 具体提升在百分之十五左右
  • 以组员提交任务所需时间和任务完成度为标准衡量。

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

  • 用户量与设想不一致
  • 用户对重要功能的接受程度与设想略有差距
  • 在完成度上看,我们离目标更近了

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

  • 在选择冲刺时间段的时候应该考虑更多的因素,比如环境因素,很多因素会对冲刺中的团队造成严重的影响
  • 如果历史重来,我会考虑多种因素,选择规划一个更好的冲刺时间,让我们团队的冲刺阶段更为顺利

二、计划

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

  • 有充足的时间来做计划

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

  • 当你提出不同意见时,必须同时言明其中的利害关系,产品经理对这些意见进行归纳,在会议中进行讨论,最后选择是否采纳。

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

  • 完成了大部分
  • 文件上传解析部分由于和财务部门无法协调没有完成

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

  • 比如:想用对每一行都有通过2个按钮对输入框进行禁用和使用来更改数据,结果不好提交表单,还不如使用对话框来提交表单。
    前面的方法感觉更加麻烦,还得去学习怎么修改一行提交一次一行的表单还是整个表的表单

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

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

  • 项目基本按计划进行,只有在冲刺阶段时进行了期末考试,时间上造成了冲突
  • 在冲刺阶段时进行了期末考试没有估计到
  • 无法预估学校的行为

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

  • 在计划时留下了缓冲区
  • 以缓冲区来预防没有预料到的风险

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

  • 考虑更多的综合因素

三、资源

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

  • 基本资源足够,缺少学校财务接口

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

  • 根据网络上查询到的数据以及项目经验估计,精度一般

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

  • 时间不足够,其余资源基本足够
  • 对界面设计的难度有所低估

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

  • 工作的分配上确实有些不足,若能更好的分配工作确实会提升不少效率

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

  • 需要更加合理的分配人力资源,同时选择正确的人员和时间

四、变更管理

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

  • 在QQ群进行通知,基本都能及时收到

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

  • 头脑风暴每一项功能的利害关系,最后由产品经理总结得出每个功能的权重

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

  • 有,在需求说明书中有详细的验收验证标准

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

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

  • 百分之五十的组员可以做到

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

  • 提升组员的响应速度至关重要

五、设计/实现

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

  • 设计工作由马永康同学完成
  • 是合适的时间,合适的人

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

  • 由负责人收集意见并进行决断

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

  • 已经用到了UML,计划后续测试使用unit test
  • 和刚开始的UML文档相比,现在的UML文档表述更加清晰,各种关系更加明确
  • 在讨论后对UML文档进行了优化

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

- 没有严重bug

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

  • 代码复审使用了IDEA自带的代码审查工具
  • 代码严格遵守了代码规范

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

  • 在项目进行过一个阶段后应该及时复查项目,有利于对项目各方面的优化

六、测试/发布

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

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

  • 没有

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

  • 有,计划使用IDEA自带测试工具

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

  • 暂未进行测试,因为有一项关键功能未能实现

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

  • 暂未进行正式发布,仅限于在局域网内进行浏览器访问

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

  • 我们会对测试这一部分更加重视

七 、团队的角色,管理,合作

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

  • 通过自身所具备的技能来确定角色
  • 人尽其用

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

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

  • 通过会议协商解决问题

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

  • 我们学会了团队合作的重要性
  • 如果重来,我们会做到更加详细的团队分工

八、总结

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

  • CMMI一级

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

  • 萌芽

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

  • 团队协作更加的高效灵活了

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

  • 团队的分工不够明确

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

  • 面对面交流,传递信息
  • 团队每天都会面对面讨论项目

九、团队照片

你可能感兴趣的:(拿奖不排队-事后诸葛亮)