事后诸葛亮分析报告
设想和目标
1、我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
我们的软件主要是提供一个面向大学生的校园交流社区,各个用户都能在上面分享知识、展示特长、释放压力,而且不同用户之间能方便地进行交流,相比其他交流社区更贴近在校大学生的需求;定义还是很清楚的,在之前的博客中也对典型用户和典型场景进行了较为详细的描述。
2、我们达到目标了么(原计划的功能做到了几个? 按照原计划交付时间交付了么? 原计划达到的用户数量达到了么?)?
我们原计划的功能大部分都实现了,有一些功能由于技术问题还在完善,项目的Alpha版本已经发布,因为项目还没有实现全部功能,所以团队没有进行推广,用户量还没达到预期数量。
3、用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?
用户量相比预期还有很大的上升空间,根据目前用户的反馈,部分重要功能的用户体验还要加以改善,在团队成员的努力下正在向目标不断靠近。
计划
1、是否有充足的时间来做计划?
有,项目开始阶段预留了充足的时间进行规划
2、团队在计划阶段是如何解决同事们对于计划的不同意见的?
采取投票的方式,按照人数多的一方的意见进行
3、你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
没有全部完成,计划实现的软件功能太丰富,团队成员的时间和技术水平有限,有些功能在规定时间内无法实现
4、有没有发现你做了一些事后看来没必要或没多大价值的事?
暂时没有
5、是否每一项任务都有清楚定义和衡量的交付件?
是
6、是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?
基本上整个过程都按照计划进行,我们先让负责后台开发的同学把雏形构建出来,再让负责前端的同学修改页面,结果页面修改时导致部分功能出现异常,后期修复增加了不少工作量,计划受到影响。
7、在计划中有没有留下缓冲区,缓冲区有作用么?
有,留出一定时间进行bug修复,起到了一定作用。
8、将来的计划会做什么修改?
给每个模块分配的时间不要太长,提高成员积极性,留出更多时间用于项目测试和改进
资源
1、我们有足够的资源来完成各项任务么?
- 人力资源:项目成员有6位,分别负责前端开发、后端开发、测试以及项目经理工作,人数充足,人员构成合理
- 开发资源:部分成员参加了工作室,有相关项目经验,手上的技术资料也比较丰富
- 设备资源:每人一台电脑
- 时间资源:由于部分成员还需要兼顾工作室的项目,时间比较紧张
2、设计工作有没有碰到模棱两可的情况,团队是如何解决的?
有,主要是关于页面的设计,各个功能按钮放在哪个地方最合适,团队先做出一个雏形,让班上其他同学体验并提出改进意见。
3、团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
只用了单元测试,对于发现项目的漏洞还是挺有帮助的。
4、什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?
注册登录功能产生的bug比较多,因为对于用户的用户名和密码有格式限制,如果输入不符合格式的内容要进行提醒并不允许注册通过;发布后发现有些功能点击之后反应很慢,之前在开发的时候由于只是在本地运行,没有通过网络,所以没有发现。
5、代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
当天的开发工作结束后马上进行代码复审,将问题总结出来第二天进行修复,很遗憾团队并没有能够严格地执行代码规范,每个成员都有自己的编程习惯,很难保证每个人都能执行规范。
测试/发布
1、团队是否有一个测试计划?为什么没有?
有,负责测试的同学针对各个功能都设计了测试计划。
2、是否进行了正式的验收测试?
由于项目开发的时间比预期长,只是做了简单的验收测试之后便进行了发布。
3、团队是否有测试工具来帮助测试?
没有,都是人工操作
4、团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
团队采用了压力测试的方式进行软件效能测试,测试期间发现并修复的一些问题使得软件实际运行的结果更接近我们的预期,改进的方向主要是测试的深度和广度。
5、在发布的过程中发现了哪些意外问题?
没有发现
总结
1、你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?
属于CMMI二级的档次。我们团队基本遵守了既定的计划和流程,有资源准备,权责到人。但是还没有一套完整的管理措施,没有制度化。
2、你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?
属于规范阶段,项目成员之间的合作沟通交流都没有问题,能够各司其职、互相帮助,共同完成项目开发。
3、你觉得目前最需要改进的一个方面是什么?
前端和后端开发应该同步进行,不能互不干涉,整个开发过程中要注意各个模块之间的兼容性。
照片
成员贡献评估
团队成员绩效评估方法
所有人贡献分的总和为120,所有分值分布以及评分方式如下:
项目 | 衡量指标 | 项目占分 |
---|---|---|
工作时间 | 工作总时长 | 20 |
工作质量 | 代码完成可用性,可靠性 | 45 |
工作参考价值 | 代码可读性,文档博客详细程度 | 25 |
工作投入程度 | 项目会议出勤率,团队协作程度 | 30 |
总分 | 120 |
具体个人评分方式如下(以工作质量为例):
- 工作质量总分45分,团队每名成员分别将45分分配给另外5人,将每个人得到的其余5人所分配总分求平均值,再除以45,求得该名成员在工作质量上的分值比例;
- 将求得分值比例乘以工作质量团队总分(45)即得该成员个人工作质量分数;
姓名 | 角色 | 团队贡献分 |
---|---|---|
李泽强 | 后端开发 | 115 |
李鹏举 | 测试 | 108 |
唐振凯 | 前端开发 | 110 |
叶杞豪 | 前端开发 | 112 |
刘宇杰 | 后端开发 | 109 |
潘新坤 | PM | 107 |