设想和目标

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

      问题:我们软件很明确的定义了,我们软件要统计所有在校老师的基本信息,最终以知识图谱的关系将所有老师的信息串联起来。

   典型用户:在校学生

   典型场景:学生因为在课上没得到老师的基本信息,转而向我们查询

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

      我们在第一阶段达到了我们预定下的目标,原计划的功能全部都完成了,而且按照原计划的交付时间交付了,因为还未发布,所以我们的用户数量没有变化。

     

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

   因为软件尚未投入使用,所以我们还没有得到用户的反馈。

因为我们在第一阶段中实现了很多我们觉得需要的功能,所以我们离目标应该是更近了。

 

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

具体的经验教训大概就是给写代码的时间预留过少,太过相信自己的实力,导致最终期限快到时,大家都是匆匆忙忙。如果历史重来,我们一定会在一开始就让自己紧张起来,尽量给实现的时间预留的长一点

 

计划

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

      我们给做计划预留了充足的时间

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

      进行充分的讨论,让组员充分了解意思后表决。

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

      计划的工作全部都做完了。

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

      没有

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

      是的

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

      基本按照计划进行,但是我们没想到,我们模块之间的对接如此困难,给我们项目带来了意外。没有估计到的原因大概是我们太过大意了。

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

      我们预留下了缓冲区,缓冲区的作用是防止有人利用我们的缓冲区设置不合理来非法侵入我们的项目

8. 将来的计划会做什么修改?(例如:缓冲区的定义,加班)

      将来我们会充分估计我们每个阶段所需要的时间,尽量避免加班。

 

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

  合理分配时间

 

 

资源

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

      有

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

      因为在一开始的时候不可能分配的很精确,所以我们在项目进行过程中做了一些调整。

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

      测试的时间,我们资源足够,但是我们对界面设计的难度低估了。

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

      没有,现阶段大家所拥有的知识还是相差无几的,可能到了实际工作的时候会出现这种情况吧。

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

   界面设计也要分配足够的资源

变更管理

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

      知道

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

      根据第一次迭代所需要实现的功能,来判断我们功能之间的优先级

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

      有,我们对于项目的入口其出口都有着清晰的定义

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

      能

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

      能够处理,因为我们每个人都是开发人员,对于工程都十分了解。

 

 

设计/实现

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

      设计工作使我们在项目没有开始之前,由我们和知道老师一起讨论得出的,是合适的时间,合适对的人。

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

      没有

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

      我们一开始画了uml图来辅助开发,而且我们在网页开发的时候使用了intellij idea来 辅助开发,这对我们有很大帮助

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

 交叉审核,我们严格执行了代码规范

 

测试/发布

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

      有测试计划

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

      是的。

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

      没有,我们是手动测试的。

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

      测试人员按照用户的使用思路,使用软件。

      这些测试工作帮我们找出了我们软件至今存在的一些不足之处。

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

      无。

 

 

总结:

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

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

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

整合阶段的计划

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

我们交流方面做得很好,除了每周的例会,我们还会在聊天软件上实时的就我们的想法进行沟通。