事后诸葛亮

事后诸葛亮

原博客

学号 姓名 博客地址
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的方法。

合照

原文地址:https://www.cnblogs.com/Zzwena/p/10051218.html