M1事后分析报告
设想和目标
1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
我们要解决的是用户通过移动端学习北航MOOC精品课程的问题,定义很清楚,典型用户是北航校内的学生以及想要学习
北航精品课程的校外人群,使他们能够在有网络情况下随时随地进行学习,因为现在北航MOOC网上的资源还不是很丰富,所
以有待于网站的继续建设,更好的内容才能吸引更多的用户。
2. 是否有充足的时间来做计划?
时间不是很充足,因为当时拿到学长的代码就晚了一些,为了赶作业的deadline,就仓促的把任务分成了三大块,并没
有很好的评估每一项任务的难度还有工作量。
3. 团队在计划阶段是如何解决同事们对于计划的不同意见的?
刚开始的计划不是很详细,而且大家对Android开发也没有什么概念,在讨论之后就直接同意了分配的任务还有进度的安
排,并没有出现什么反对的意见。
用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?
有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
计划
1. 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
计划中的工作最后没有全部完成,因为之前对联网部分的难度估计不正确,而且和学长的联系也不顺畅,所以最后在联
网部分卡住了,最后我们一起忙这块又导致UI部分做的比较粗糙。其它的功能我们都已经基本实现了,就因为网络连接拿不
下数据下来,最后M1阶段项目失败。
2. 有没有发现你做了一些事后看来没必要或没多大价值的事?
我们在开发的第二周一直在看学长的代码,后来发现Android平台和IOS平台差异,我们没办法对他的代码进行改写,只
能重新编写,只有服务器端我们能够使用学长的一些接口,最后还没有连接成功,所以这部分工作的价值不大。
3. 是否每一项任务都有清楚定义和衡量的交付件?
没有,刚开始的任务分的很大,就两个人负责其中一块,后来因为各部分的进展不一致,而且好几名队员的实力差一些,
进度很缓慢,PM也没有对开发的任务细节有很多的了解,所以就导致任务的定义还有团队之间的交付出现了问题。
4. 是否项目的整个过程都按照计划进行,有什么风险是当时没有估计到的,为什么没有估计到?
整个过程和计划出入还是挺大的,主要有两点,一个是联网部分的难度和计划出入很大,从学长IOS代码中找出服务器接
口的设置有些难度,第二个是开发的进度拖慢了,原因部分是实力问题,还有部分是有些队员的积极性不高,没有主动去完
成任务。
5. 在计划中有没有留下缓冲区,缓冲区有作用么?
计划中的缓冲区是两个周六和周日,缓冲区作用没有想象中大,周一到周五因为有课的原因可能时间不够,但是周末是
有时间的,所以想着大家会认真做项目,后来发现周六日大家的工作效率很低,而且中间有一次假期,玩儿的过多了。
6. 将来的计划会做什么修改?(例如:缓冲区的定义,加班)
在下个阶段我们会重新制定计划,先让一个人专门负责UI的设计,我们剩下的人集体把网络的问题搞定,实力差一些的
队员就跟着学,要求每个人每天拿出自己写的东西,即使是学习的东西也可以,就是任务分配更加机动一些,确保让每个成
员都参与进来有自己的任务。
我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
资源
1. 我们有足够的资源来完成各项任务么?
有的,有代码,有队员,有学长。
2. 各项任务所需的时间和其他资源是如何估计的,精度如何?
当初分配任务是根据学长在IOS上的开发经验来的,任务分成了三大块,时间是按照项目总体持续时间,就是四周(实际
上只是三周)的时间来分配的,精度不怎么准,主要还是经验问题,对每项工作的内容和难度估计不准。
3. 测试的时间,人力和软件/硬件资源是否足够? 对于那些不需要编程的资源 (美工设计/文案)是否低估难度?
项目最后没有完成,测试就很简陋,对不需要编程的工作难度估计有些偏低,没有想象中那么轻松。
有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
变更管理
1. 每个相关的员工都及时知道了变更的消息?
我们通过QQ讨论组等一些通讯工具,将变更及时告知给位成员。
2. 我们采用了什么办法决定“推迟”和“必须实现”的功能?
我们的项目中客户端的功能比较少,为了第一阶段的展示,我们团队投票同时也根据功能实现的难度来决定“必须实现”
的功能,其他的功能可以先推迟。
3. 项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?
有的,我们参照的是学长做出来的那个版本,我们能够把那个版本中的功能全部实现并且测试之后没有bug算是最终完成。
4. 对于可能的变更是否能制定应急计划?
没有,最初考虑的没有那么多,而且项目中间也没有什么大的变化,最后连接服务器我们是采用本地的视频调用模拟了
一下。
5. 员工是否能够有效地处理意料之外的工作请求?
因为团队中有的成员实力不强,然后实力强一些的带着实力弱一点的,意料之外的工作我们讨论之后就直接进行了分工,
团队中并没有什么争议。
我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
设计/实现
1. 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
设计工作在项目开始的时候,学长为我们演示过软件之后,PM对工作进行了粗略的估计并进行了分配,时间是合适的,
不过因为PM本身对Android开发不熟悉,所以分配任务会有一些偏差。
2. 设计工作有没有碰到模棱两可的情况,团队是如何解决的?
开始分配任务的时候因为每个人都是新手,所以不知道该给什么人分配什么任务,就让大家自己选择,看队员自己对哪
一部分比较感兴趣,这样最后确定的任务分配。还有UI界面设计的时候,我们选择的UI是参照学长的UI进行设计的,这个选
择是当初投票决定的。
我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
测试/发布
1. 团队是否有一个测试计划?为什么没有?
没有,最开始是因为没想到,后来是因为没有时间,而且项目没有完成,就只在我们自己操作上找出软件中的bug。
2. 是否进行了正式的验收测试?
没有,项目联网部分没有完成,很多东西都没办法测试。
3. 团队是否有测试工具来帮助测试?
没有。。。。。
我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
总结:
1. 你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?
目前觉得仍然在初始级,和其他项目团队相比,我们这方面做得很不好,可能是缺少一个技术核心的人员来带领,所以
项目队员之间的合作并不是很紧密,而且遇到自己难以克服的困难的时候团队里面也没有很好的求助对象。
2. 你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?
仍处于磨合的阶段,让负责开发的几名队员之间的配合更加默契,建立良好的信任关系,尽量把代码规范化,更好地配
合他人的工作。
3. 你觉得团队在这个里程碑相比前一个里程碑有什么改进?
对团队的任务更加清楚,明白自己应该做的是什么,并且对Android开发的熟悉程度有了很大的提高,实力进一步增强。
5. 你觉得目前最需要改进的一个方面是什么?
最需要改进的是让每一位团队成员都参与进来,有自己的贡献,即使是做出的成果少一些,但是付出了努力都是很值得
肯定的。
团队讨论的照片: