事后诸葛亮

作业链接

Alpha冲刺随笔集

github地址

团队成员

  • 031602636 许舒玲(队长)
  • 031602237 吴杰婷
  • 031602220 雷博浩
  • 031602634 吴志鸿
  • 081600107 傅滨

设想和目标

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

软件要解决的问题是实现高校实验室信息化管理系统,完成对实验室的管理。定义比较清楚,典型用户包括老师、本科生、研究生。典型场景包括图书物资管理,项目报名等

  • 我们达到目标了么(原计划的功能做到了几个? 按照原

    计划交付时间交付了么? 原计划达到的用户数量达到了么?)
    alpha目标是实现大部分功能,现在仍缺了几个比较重要的模块。基本按照原计划交付,计划用户数未达到。
  • 和上一个阶段相比,团队软件工程的质量提高了么? 在什么地方有提高,具体提高了多少,如何衡量的?

    质量提高了,特别是在完成一定数量的任务时每个人的开发效率都提高了,团队配合更加紧密。以提交的时间为标准衡量。
  • 用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?

    目前测试了大概7-8人的用户量,并未有更大规模的投入使用。对项目模块的使用出现了一些bug,总体来说离目标更近了。
  • 有什么经验教训? 如果历史重来一遍, 我们会做什么改进?

    经验是设计界面时不能脱离对数据架构和接口设计的理解。因为一开始的界面推翻导致重构花了一些时间。如果重来会在用户分析时做的更仔细些

计划

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

    我们在冲刺的第一天开了一下小型的会议,完成了计划的制定和任务的分工。
  • 团队在计划阶段是如何解决同事们对于计划的不同意见的?

    对于不同意见,会让意见产生分歧的人轮流发言,然后大家一起提出对于他们发言内容的看法,最终总结大家的看法制定让大家满意的计划。
  • 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?

    我们制定的Alpha计划在结束日期前已经基本完成。
  • 有没有发现你做了一些事后看来没必要或没多大价值的事?

    有,开始的时候画类图的人和建立数据库的人是独立分开完成的,当对接的时候发现数据库的表和类图对应不上。事实上数据库和类图不能分开完成,所以我们开始进行了一次错误且没有多大价值的分工。
  • 是否每一项任务都有清楚定义和衡量的交付件?

    有明确的交付文件。
  • 是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?

    除了上面提到的错误分工,其他的分工都比较合理,大家都很认真,就算白天有课或者其他事情,也都会在计划规定的时间内完成任务。
  • 在计划中有没有留下缓冲区,缓冲区有作用么?

    有留下一部分缓冲区,因为我们白天还要上课,有时候因为考试还得复习,有的组员还有一些学生工作,所以会留下缓冲区来让他们不至于太过劳累。
  • 将来的计划会做什么修改?(例如:缓冲区的定义,加班)

    还是会留下缓冲区,但是时间可能会作出调整。对于加班,首先会合理安排计划,尽量避免加班,但是如果发现计划的进度比预期的进度慢,还是需要加班的。
  • 我们学到了什么? 如果历史重来一遍, 我们会做什么改进?

    我们明白一个好的计划对于完成一个工程的重要性。如果再来一次,我们会适当花更多的时间去制定计划。并且制定更加合理的计划,落实到细节的问题。

资源

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

    首先我们一开始给alpha冲刺设立的目标也没有太多,所以时间资源大体是够的(其实还是有点不足);人力资源,五个人也还行;空间资源,最近学院开放了几间活动室用来给我们做软工实践;学习资源的话,网上有很多。
  • 各项任务所需的时间和其他资源是如何估计的,精度如何?

    一开始现根据每个人对某一方面知识水平掌握的程度分配了相应的任务,一开始就是边学边做,然后每天汇报进度,再讨论讨论第二天可以达到什么程度,一开始三四天还比较顺利,可是后来有些人就有着各种各样的事情,然后就变慢了。
  • 测试的时间,人力和软件/硬件资源是否足够? 对于那些不需要编程的资源 (美工设计/文案)是否低估难度?

    测试时间可能不够,很多东西也都是最后几天赶出来的。其实一开始就考虑到设计,文案之类的也是一个很重要的事情,虽然不需要编码,但是决定了团队走向。
  • 你有没有感到你做的事情可以让别人来做(更有效率)?

    一开始就分配好每个人做哪些,也许我做的事让别人来做更有效率,但是别人也要做他擅长的部分呀。人的精力都是有限的,不可能让强的人做所有事情,
  • 有什么经验教训? 如果历史重来一遍, 我们会做什么改进?

    重来一遍的话我们一定要在一开始加快进度,后面就不会那么赶了。

变更管理

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

    是的,我们有一个qq群,我们都有看群的习惯。
  • 我们采用了什么办法决定“推迟”和“必须实现”的功能?

    对于“推迟”,优先选择做简单且重要的部分。而必须实现的功能在alpha冲刺之前就先定好,有特色且实用的功能必须实现。
  • 项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?

    完成alpha冲刺前制定的目标,就叫“做好了”。
  • 对于可能的变更是否能制定应急计划?

    小问题我们直接在群里聊,大问题的话就直接出来当面聊。
  • 队员是否能够有效地处理意料之外的工作请求?

    某些(比较强的)队员可以
  • 我们学到了什么? 如果历史重来一遍, 我们会做什么改进?

    多交流,多聊。

设计/实现

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

    设计工作是在做项目需求分析的时候完成的吗,主要由做原型设计的同学设计,大家也会讨论决定。是合适的时间,设计工作的同学比较擅长,大家也都觉得可行,是合适的人。
  • 设计工作有没有碰到模棱两可的情况,团队是如何解决的?

    有。在需求分析的时候,对一些需求是否要更改和一些功能是否必要存在有不同的意见。采用少数服从多数解决。
  • 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么? 比较项目开始的 UML 文档和现在的状态有什么区别?这些区别如何产生的?是否要更新 UML 文档?

    有运用单元测试,有帮助发现了一些bug,算是有效吧。没有测试驱动的开发,有使用uml设计了活动图,类图,用例图,大部分和现在的没有什么差别,只有修改的是类图,因为在我们写类图的时候考虑的不够周到,很多类没有考虑到,但是在实际操作的时候,就需要这些类,有更新文档。
  • 什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?

    前后端交互部分,因为这部分不是很熟练,是边学边做的,难免有些bug。对于今天已经展示的功能出现的bug,主要的由于在展示前一天晚上临时改了两个接口,前端还没有连好。
  • 代码复审(Code Review)是如何进行的,是否严格执行了代码规范?

    主要是代码汇总了之后队长进行代码复审,但是大家代码风格还是有差别,代码有些不规范的地方,没有严格执行。
  • 我们学到了什么? 如果历史重来一遍, 我们会做什么改进?

    大家代码要严格执行代码规范,然后有机会尽可能用一些工具来帮助开发。

测试/发布

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

    有,在开始alpha冲刺之前有对这次计划要完成的功能做了测试计划,写了测试文档
  • 是否进行了正式的验收测试?

    有将已经完成的功能按照我们的功能流程走了一遍
  • 团队是否有测试工具来帮助测试?

    在后端没有和前端对接的时候,有用Junit进行单元测试
  • 团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?

    软件的效能只要还是靠大家在测试的时候分辨,没有做专门的评估。这些测试工作让我们在前后端对接的时候快捷了很多,后端的接口在写完之后自己先进行一次单元测试,这样就会减少在前后端对接的时候少花时间在修改后端的额bug上
  • 在发布的过程中发现了哪些意外问题?

    还没有部署到服务器上,因为之前没有搭建服务器的经验,才刚开始就遇到了很多问题
  • 我们学到了什么? 如果历史重来一遍, 我们会做什么改进?

    测试真的很重要,在之前我们做东西的时候都会忽略了测试,但是在这次的冲刺中让我们深深体会到了测试时很好用的。如果历史再来一次,我们会早点就在后端的接口进行单元测试,而不是在对接前端之后,发现出现了问题才进行单元测试。

团队的角色,管理,合作

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

    每个人的分工是根据大家现在已经具备的技能进行分工的,例如杰婷比较擅长web也有过写web项目的经验,就让杰婷负责前端的大部分;舒玲会写前端的界面,但是不擅长写js,会java和jdbc就让她负责后端的小部分和前端的部分界面;其他三个同学都会java但是不太精通,每个人负责一个模块,边学习边做。做到了人尽其才。
  • 团队成员之间有互相帮助么?

    有,每个人都有自己擅长的方面,而大家所负责的方面都是有一些交集的,在遇到问题的时候大家都会多问问,避免花无畏的时间走弯路。
  • 当出现项目管理、合作方面的问题时,团队成员如何解决问题?

    我们会直接说出有什么问题,然后大家一起讨论,各自发表自己的想法,大家听完所有的想法之后综合所有人的意见,做出一个最好的解决办法。
  • 每个成员明确公开地表示对成员帮助的感谢 (并且写在各自的博客里):

    • 舒玲:我感谢吴杰婷同学对我的帮助,因为在我进行前后端对接的时候,由于我之前没有做过这方面的,他拿了她之前别的项目的接口文档给我看,细心的告诉我我需要传哪些东西给她。
    • 志鸿:我感谢许舒玲同学对我的帮助,在我实现连接数据库的过程中,出现了问题,因为她之前接触过这方面知识,所以我向她寻求了帮助,她也很耐心的帮我解决了问题。
    • 博浩:我感谢许舒玲对我的帮助,因为作为组长她非常尽职尽责,提醒我写冲刺的心得。
    • 傅滨:我感谢许舒玲对我的帮助,因为她帮助我更好的学习一部分基础的后端知识,提高了我的学习速度
    • 杰婷:感谢组长许舒玲同学,每天负责收集大家的心得困难,最近几门考试复习时间紧张,正是有组长的付出才让我们更好的去完成项目,平衡项目和学习的时间
  • 我们学到了什么? 如果历史重来一遍, 我们会做什么改进?

    团队任务不是个人的,需要团队成员的配合。如果再来一次,我们会遇到不会的多问,一个人不会,但是团队中其他人可能会,这样可以减少浪费的时间。

总结:

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

    我觉得我们团队还只是处于可重复级。我们工作有序,每个人负责自己的模块,就算没有了项目负责人,大家还是可以正常的完成。初步完成标准化。但是没有全部实现文档化,我们现在只有测试文档,接口文档和前期的需求文档,很多细的东西可能还是需要文档才会比较清楚。
  • 你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?

    我们现在处于磨合阶段吧,磨合向规范转变的阶段。我们从最开始的风格各异,大家慢慢磨合,按照一定的规范来,现在相比刚开始,已经实现了大部分规范性,但是还没有达到全部规范,所以还不能算是规范阶段。有一些规范性和大家的习惯也是有关系的,所以还是需要时间。
  • 你觉得团队在这个里程碑相比前一个里程碑有什么改进

    经过这次alpha冲刺,大家相较于之前的,都有的很多进步,对于技术方面也学了很多
  • 你觉得目前最需要改进的一个方面是什么?

    时间分配,因为我们白天还要上课,最近又有好几门的考试。我们需要更好的分配时间,避免浪费时间做无畏的事情。尽量避免加班。
  • 对照敏捷开发的原则,你觉得你们小组做得最好的是哪几个原则?请列出具体的事例。

  • 不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。
    我们每天都会开一次会议,来交流我们当天的进度,遇到的问题和心得体会,
  • 每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。
    在每次会议的时候,如果大家的进度落后太多,就会反思一下是什么原因导致了我们的进度落后,并对我们接下来需要做出什么调整做好规划。
posted @ 2018-12-01 22:40  BANG!  阅读(195)  评论(0编辑  收藏  举报