Alpha阶段项目总结

(一)设想和目标

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

 我们的软件主要解决学生不清楚作业,课后难以解决问题以及不知道课程摆列的问题

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

完成项目的时间不是很短,做计划的时间足够用,但是我们没有很仔细的做出详细的计划,在完成项目的过程中,也在不断的做着计划。

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

PM的领导下,每一个成员都能认真的听取其他成员给出的不同意见,并通过相互讨论协商解决问题,达到意见的一致。

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

经过给一些用户使用Alpha版本,发现用户对软件重要功能的接受程度和我们事先预想的差不太多,对重要功能还是很感兴趣的,用户感兴趣,也实现了一部分功能,觉得离目标更近了。

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

没有明确了解用户对软件的真实想法,也没有很好的了解用户的需求。首先要向用户详细介绍软件的功能,让他们了解我们想要做成的软件是什么样的,让他们做出基于用户的真实的评论,给我们一些有用的建议,站在用户的角度做出用户愿意使用的软件。

(二)计划

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

原计划的工作最后基本上都做完了。

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

 这一阶段做出的闹钟功能基本与手机自带的一致,不能吸引用户,没有太大的价值。

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

 有比较清楚的定义和衡量的交付件

4. 是否项目的整个过程都按照计划进行?

 没有按计划进行,在安卓手机端进行软件开发部分的知识学起来比较困难,所以这部分进度比较慢。

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

 没有,在展示的前一天晚上才勉强完成并可以使用。

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

 对下一部分制定适应小组成员完成能力的计划,严格按照计划实行,留出一定的缓冲期进行测试。

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

 首先要制定好计划,严格按照计划实施。小组成员每天要讲一下自己的进展情况,杜绝不做实事的情况发生。

(三)资源

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

 没有,主要是在安卓手机开发方面完全空白,需要从头开始学习,比较盲目,感觉看的多,但是最后学到不少东西,获益匪浅。

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

 没有什么明确的依据进行估计,全凭讨论觉得大概可以需要多少时间和资源就制定了计划,因此并没有什么精度。

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

 没有缓冲区进行测试,所以没测试。

低估了难度,本以为美化很简单,结果做出来达不到预期的效果。

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

 有,对于熟悉安卓或是有点经验的人来说,整个第一阶段实现的功能,可能不到一天就可以完成,效率很高。

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

 首先要找好资源,了解相关的技术难度,根据时间和能力预测能不能完成这个软件。

(四)变更管理

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

 变更都是小组成员一起讨论的结果,所以变更的消息都能及时知道。

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

 根据完成需要的技术难度来决定先后顺序,简单的必须实现,难的可以推迟。

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

 有,预期的功能基本实现就算是做好了。

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

 没有应急计划,没有考虑过会出现紧急情况。

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

 一直按照最初的计划进行,没有提出意料之外的请求。

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

 事先要想好可能出现的变更情况,并针对每一种情况做出应急计划,定期找用户调研意料之外的请求,并小组讨论是否添加。

(五)设计/实现

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

 设计工作是最初由小组一起讨论得出的。是合适的时间,合适的人。

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

 有,在用户调研的时候,没有了解用户真实的想法,我们大都是通过自己想象中的情况来分析的。

3. 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML,或者其他工具来帮助设计和实现?这些工具有效么?

 没有用过。应该比较有效吧。

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

 跳转页面部分产生的Bug最多,主要是不太熟悉函数的使用。发布之后发现添加的闹钟关不上,进程关闭不了。当时实现功能就可以了,没有关心这些情况。

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

 没有进行代码复审,代码不规范。

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

 要对程序进行单元测试,每完成一部分测试一部分,及时修复Bug

(六)测试/发布

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

 没有计划,就只是看一下能不能实现功能。第一次团队合作,不知道还要有测试计划。

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

 没有,就只是在班级演示了一下功能。

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

 虚拟机、手机和应用宝的官方测试。

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

 只在虚拟机和手机上进行了测试,没有用过测量并跟踪软件。有用,多运用测量和跟踪软件,可以更加及时的发现软件的问题并改进。

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

 有些功能在使用时应用会闪退

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

 测试很重要,要学会用一些有助于优化功能的软件帮助我们改进。

(七)总结

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

 属于CMM阶段。

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

 目前正处于磨合阶段,正相互之间进行磨合,沟通还是不够。

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

 认识成熟了,发现问题不是想象中的这么简单,考虑问题比之前稍全面,有了一些沟通。

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

 计划方面,注重用户体验,根据他们的需求和意见修改计划。

原文地址:https://www.cnblogs.com/team101/p/5609509.html