• 事后诸葛亮


    事后诸葛亮

    原博客

    学号 姓名 博客地址
    031602248 郑智文 博客链接
    051601135 岳冠宇 博客链接
    031602234 王淇 博客链接
    031602629 刘意晗 博客链接
    051604103 陈思孝 博客链接

    设想和目标

    1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
      • 解决问题:我们在日常生活中,都或多或少的有对资源的浪费。我们平台的目标就是整合校内二手资源、和闲置资源,使其发挥余热。
      • 定义比较清楚
        -有清楚的描述 ,如用户群体为福州大学在校学生,大部分的活动场景都有描述。
    2. 是否有充足的时间来做计划?
      • 有时间,但是本身我们平常也有别的课业,时间有时不好协调。
    3. 团队在计划阶段是如何解决同事们对于计划的不同意见的?
      • 主要就是进行讨论和民主表决,由于项目的计划并不算太复杂,我们的不同意见往往在讨论中解决了。

    计划

    1. 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
      • 有些事情没做完,后端自己都写完了自己负责的部分,但前端还差一些工作没有完成。
      • 本身大家都是第一次接触安卓编程,要学习的地方很多,人数也少工作量大,只能一点一点的学。对接过程没有解决,一个组员的AS频繁出现问题。
    2. 有没有发现你做了一些事后看来没必要或没多大价值的事?
      • 有,第一次安装AS的时候没有按照步骤来,导致耗费两周的时间来弄好IDE,如果我第一次就弄好了AS项目就能做完了。
    3. 是否每一项任务都有清楚定义和衡量的交付件?
      • 有明确交付项,我们在第三次会议时就协商好了交付件的格式。
    4. 是否项目的整个过程都按照计划进行?
      • 除了我之外,其余队友都在按照计划进行。
    5. 在计划中有没有留下缓冲区,缓冲区有作用么?
      • 有缓冲区,可以在分工下自己协调,每天汇报进度,可能有些人有时候会有事情。
    6. 将来的计划会做什么修改?(例如:缓冲区的定义,加班)
      • 会合理安排学习和写代码的时间和顺序。

    制定计划是执行的关键,但能够真正按计划执行才是最重要的。

    资源

    1. 我们有足够的资源来完成各项任务么?
      • 大部分人都是第一次接触进行软件的开发,大部分的时间都在学习了解开发过程以及框架。
    2. 各项任务所需的时间和其他资源是如何估计的,精度如何?
      • 对任务的时间的估计比较粗略,第一次接触,没有足够的经验,对时间以及资源的把握不够准确,导致处理问题不够及时。
    3. 用户测试的时间,人力和软件/硬件资源是否足够?
      • 没有经过充分的测试,软件的交互问题导致了无法进行完整的测试,只能够对每块的单元进行测试。资源基本够用。
    4. 你有没有感到你做的事情可以让别人来做(更有效率)?
      • 前期的分配出现了问题,工作量的估计出现了错误,将较多的工作分配给了少数人。

    资源的分配错误造成了前期的进度缓慢,我们在分配时应该仔细确认每一项任务的工作量,合理地利用资源。

    变更管理

    1. 每个相关的员工都及时知道了变更的消息?
      • 每次的变更消息都会通过qq群进行通知,其他人也会进行回复,对有疑问的变更,会进行开会讨论。
    2. 我们采用了什么办法决定“推迟”和“必须实现”的功能?
      • 先对定义核心的功能,将核心功能以及基础功能定义为“必须实现”的功能,将一些扩展的功能以及难以实现的功能定为“推迟”的功能。
    3. 项目的出口条件(Exit Criteria)是否得到清晰的定义?
      • 项目的出口条件定义还不够清晰,项目的核心功能还在测试。
    4. 对于可能的变更是否能制定应急计划?
      • 没有明确的应急计划,在遇到突然的变更时,有大量的时间浪费在更改代码上。
    5. 员工是否能够有效地处理意料之外的工作请求?
      • 在分配任务的时候没有考虑清楚,一些细节部分的功能没有一开始安排在任务中,我们后端的一个同学承担了这一部分的工作,处理比较有效。

    设计/实现

    1. 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
      • 我们在第一次讨论的时候进行了设计工作,在进行需求分析的时候完成的,是由团队所有成员一起讨论完成的。
      • 设计工作完成的时间大致合适,主要参考了前端与界面设计的人的意见。
    2. 设计工作有没有碰到模棱两可的情况,团队是如何解决的?
      • 有遇到,先进行讨论,确定一个方向,如果无法达成一致,以少数服从多数的原则。
    3. 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
      • 有运用一些工具来进行测试,这些工具比较有效地节省了一些时间。
    4. 什么功能产生的Bug最多,为什么?
      • 前后端的交互以及后端框架的搭建。
      • 每个人都是第一次接触,对框架不够了解,使用比较生涩,前后端的交互也是第一次实现,没有经验。
    5. 代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
      • 没有专门的人负责这一块,大家的框架构建以及代码风格都不一样,在整合时造成了一定的困难。

    在前后端的交互中,遇到了一个bug,我们对bug的处理经验比较少,导致了开发进度大大延后,软件的整体测试没有进展。

    我们会去寻找助教与同学的帮助,来解决bug。

    测试/发布

    1. 团队是否有一个测试计划?为什么没有?
      • 有一个测试计划,用于测试各项模块。
    2. 是否进行了正式的验收测试?
      • 只有对各个单元的测试,并未有整体的测试。
    3. 团队是否有测试工具来帮助测试?
      • 有测试工具进行测试。
    4. 团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
      • 通过测试工具查看运行的效能。实际运行来看测试是有用的,要进行整个软件的运行测试。
    5. 在发布的过程中发现了哪些意外问题?
      • 功能并未完成,没有发布。

    总结

    1. 你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?
      • 初始级。
    2. 你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?
      • 磨合。
    3. 你觉得目前最需要改进的一个方面是什么?
      • 人员之间要多交流,代码要规范,熟悉处理bug的方法。

    合照

  • 相关阅读:
    Codeforces 1163E 高斯消元 + dfs
    Codeforces 1159E 拓扑排序
    Codeforces 631E 斜率优化
    Codeforces 1167F 计算贡献
    Codeforces 1167E 尺取法
    Gym 102007I 二分 网络流
    Codeforces 319C DP 斜率优化
    Codeforces 1163D DP + KMP
    Comet OJ
    Vue 的响应式原理中 Object.defineProperty 有什么缺陷?为什么在 Vue3.0 采用了 Proxy,抛弃了 Object.defineProperty?
  • 原文地址:https://www.cnblogs.com/Zzwena/p/10051218.html
Copyright © 2020-2023  润新知