Loading...

事后诸葛亮

设想和目标

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

    • 软件要解决的问题:为web开发人员提供API管理与测试功能的平台。定义较为清楚。

    • 一个典型场景的描述:在前后端分离的web项目开发中,后端人员功能开发完毕后会有一套url(api),用于请求不同的数据,这时后端人员可以在本软件上进行api的设计,写明具体的请求会接收到什么数据等具体信息;前端人员就可以调用这些api来进行测试以及对前端页面的渲染和数据填充。

    • 经典用户1:需要进行测试的后端开发人员,在开发的过程中,不可避免会接触到至少三个环境的程序部署:开发、测试和生产环境。可能在每个环境都使用一套数据库配置,路径配置等,如果每次都人工的干预每一个配置文件,工作会比较繁杂,且容易遗漏并且出错。 在开发时,有一些代码仅在开发时运行,发版时不能运行。比如:测试用的mock数据。

    • 经典用户2:对于开发完前端界面的前端开发者,需要使用接口对接,获取数据,进行测试。

    • 经典用户3:需要写接口文档的开发者。在没有api-management之前,我们使用文档记录方式(markdown或者word格式),但有时候为了追求速度,后台人员写得真的很乱,对于强迫症患者来说,格式整齐太重要了,使用api-management可以轻松的对api文档进行编写。

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

    完成的功能有:api以及状态码的管理(增删查改等);项目、用户权限管理;登录注册;项目概况、操作日志。

    已按照原计划时间交付,用户量达到预计要求(500)。

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

    提高了不少。成员之间对于git版本管理的使用更熟练、代码写的更加规范等。

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

    开发之前要做好详细的规划,写好文档,尤其是数据表的设计要认真仔细。

计划

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

    有。

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

    共同讨论。

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

    基本做完。部分功能没有做完,原因是需要顾及其他科目的学习,时间精力不够

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

    yes。

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

    否,开发过程中数据表更改数次,每次更改都要更改对应的部分代码。这是因为在设计数据表时没有考虑周到。

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

    无。

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

    添加api测试功能。

资源

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

    没有。前端人员不够,开发压力太大。

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

    初版计划时,只能大概估计需要几天;一段时间的开发学习之后,再次召开站立会议,重新规划时间,此时的精度可以精确到“小时”。

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

    我们不需要美工。

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

    有。

变更管理

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

    否。

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

    采用四象限法则:

    • “重要紧急”类的功能
    • “紧急不重要”功能
    • “重要不紧急”类功能
    • “不重要不紧急”功能
  3. 项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?

    没有。

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

    不能。我们不少专业的。

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

    基本不能。

设计/实现

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

    全体人员共同讨论。是。

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

    没有。

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

    是,使用JUnit进行单元测试。该工具有效。

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

    api管理功能,数据表没设计好,如上所述,出现了很多问题。没有。这。。。

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

    没有进行代码复审,时间不够。

测试/发布

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

    有。

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

    否。

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

    有,使用postman。

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

    数据表设计不妥。

团队的角色,管理,合作

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

    由队长指定。是。

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

    有。队员之间分工合作,互帮互助。

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

    一起讨论。

总结

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

    能正常使用,无页面逻辑错误,基本达到CMM的第二级。

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

    规范阶段

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

    没有

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

    要善用工具进行自动化测试,扩大试用的用户范围。

提高质量

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

    提前做好代码规范文档,严格遵守,写好注释,方便代码复审。

  2. 整个程序的架构如何具体提高?

    多学习,多使用更高级更精简的语法。

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

    阅读官方说明文档。

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

    定时开站立会议,规划好更详尽的功能表以及更精细的时间划分,按时上交issue。

  5. 项目跟踪用户数据方面,计划要提高什么地方?

    查看数据库。

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

    统一markdown文档格式,编辑好目录,及时更新,删除冗余的描述。

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

    加强沟通,多交流,有问题及时提出。

  8. 对于软件工程的理论,规律有什么心得体会或不同意见?

    代码规范和文档规范对后续开发作用很大。

角色及贡献

成员名称 角色 团队贡献分 可验证的贡献
李俊贤 PM、后端开发 25 组织成员开发、开发后端部分功能
李林飞 前端开发 25 包揽所有前端页面功能开发
黄博晓 后端开发 23 开发后端部分功能,编写博客
凌文宇 推广 19 完成原型的绘制,画了所有ui设计图
李业 测试 20
陈金海 后端开发 18.5 需求分析、数据表设计
赖晋启 测试 19

会议照片

image-20201130221446510

posted @ 2020-12-01 01:11  bxiao  阅读(40)  评论(0编辑  收藏