事后诸葛亮分析报告
事后诸葛亮分析报告
课程 | 软件工程 |
---|---|
作业要求 | 团队作业6 |
目标 | 复审与事后分析 |
一、团队介绍
”为了第一行代码“队伍成员 | 学号 |
---|---|
郜之珣 | 3119005321 |
卢乔斌 | 3119005334 |
黄宇洋 | 3119005323 |
孙斌 | 3119005340 |
吴嘉辉 | 3119005344 |
梁志鹏 | 3119005328 |
吴文俊(组长) | 3119005345 |
二、设想与目标
1、我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
我们的软件主要是提供一个倾听音乐的网站。为有共同音乐兴趣的年轻人提供了交流的空间。定义清楚,在之前博客中有清晰的描述。
2、我们达到目标了么(原计划的功能做到了几个? 按照原计划交付时间交付了么? 原计划达到的用户数量达到了么?)?
我们原计划的功能大部分都实现了,有一些功能由于技术问题还在完善,项目的Alpha版本已经发布,因为项目还没有实现全部功能,所以团队没有进行推广,用户量还没达到预期数量。
3、用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?
用户量相比预期还有很大的上升空间,根据目前用户的反馈,部分重要功能的用户体验还要加以改善,在团队成员的努力下正在向目标不断靠近。
三、任务计划
1、是否有充足的时间来做计划?
有,开始阶段用了大量的时间进行规划
2、团队在计划阶段是如何解决同事们对于计划的不同意见的?
采取投票的形式
3、你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
没有全部完成,成员的时间和技术水平有限,有些功能内无法实现
4、有没有发现你做了一些事后看来没必要或没多大价值的事?
团队过于注重开发前端页面,导致后端项目进度跟不上
5、是否每一项任务都有清楚定义和衡量的交付件?
是
6、是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?
在设计功能上借鉴了很多音乐软件,时间也比较紧凑,在花时间完成的功能上没有太大的问题,但是在功能开发过程中遇到一些错误耗费了开发的时间。
7、在计划中有没有留下缓冲区,缓冲区有作用么?
有,缓冲区起到了极大的作用,特别是这次很多成员都是第一次合作,对于进度不是很清晰,缓冲区缓解了很多时间压力。
8、将来的计划会做什么修改?
给每个模块分配的时间不要太长,提高成员积极性,留出更多时间用于项目测试和改进
四、资源
1、我们有足够的资源来完成各项任务么?
团队中有成员有过丰富的开发经验,但也有开发经验不足的成员。
2、设计工作有没有碰到模棱两可的情况,团队是如何解决的?
有,主要页面的设计,先做出一个雏形,让团队成员讨论。
3、团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
只用了单元测试。
4、什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?
注册登录功能产生的bug比较多,因为对于用户的用户名和密码有格式限制,如果输入不符合格式的内容要进行提醒并不允许注册通过;发布后发现有些功能点击之后反应很慢,之前在开发的时候由于只是在本地运行,没有通过网络,所以没有发现。
5、代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
当天的开发工作结束后马上进行代码复审,将问题总结出来第二天进行修复,团队并没有能够执行代码规范,每个成员都有自己的编程习惯,很难让每个成员执行代码规范。
五、变更管理
1 每个相关的员工都及时知道了变更的消息?
变更的消息是小组成员在一起时讨论的,所以变更的消息大家都能及时了解。但有的时候同学不一定能及时的看到消息,所以只能在立会的时候再次说明。
2 我们采用了什么办法决定“推迟”和“必须实现”的功能?
根据实现功能的难度和用户需求来决定。简单的必须要实现,用户需求度不高且难度大的推迟实现。基础功能不推迟实现,时间不够的情况下才会推迟实现。
3 项目的出口条件有清晰的定义么?
有,预期功能都基本实现就算做好了。
4 对于可能的变更是否能制定应急计划?
能
5 员工是否能够有效地处理意料之外的工作请求?
能
六、设计/实现
1 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
是在项目开始之前完成的,由整个团队共同讨论完成的,是比较早的时间,是合适的人。
2 设计工作有没有碰到模棱两可的情况,团队是如何解决的?
在功能上遇到了取舍的问题,与开发成员讨论其开发难度和存在价值来取舍。
3 什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug?为什么我们在设计/开发的时候没有想到这些情况?
音乐播放的bug最多,因为音乐播放是项目的主打功能,每一个板块都要涉及到,嵌套的逻辑最多最复杂。
发布之后发现有没登录状态的权限访问出现混乱的bug,因为在开发中没有过多的注重每一个模块的权限控制,所以有些模块没有加入权限的控制
4 代码复审是如何进行的,是否严格执行了代码规范?
代码复审人员与开发人员共同查看,但没用严格执行了代码规范。
5 我们学到了什么?
积累了丰富的实际开发经验, 考虑好各种Bug出现的情况,要对程序进行单元测试,要进行代码复审,要让代码规范。
七、测试发布
1 是否有测试工具进行测试?是否有一个合理的测试计划?
是 , 在每一个功能实现都进行一个小测试。
2 是否进行了正式的验收测试?
是,我们小组在发布前进行了验收测试
3 在发布的过程中发现了哪些意外问题?
加载速度过慢,服务器带宽不够。
4 我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
分配足够的人手进行测试,同时测试计划应该紧随开发计划之后指定,并随实际开发进度调整。
八、总结改进
1.你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?
属于CMMI二级
2.你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?
处于萌芽/磨合阶段,我们团队中有项目开发小白,也有大佬。但是我们在开发这个项目不断磨合,分工逐渐明确,在走向规范的阶段。
3.你觉得目前最需要改进的一个方面是什么?
提升团队的积极性,在有限的时间内提高团队的效率。
九、团队贡献分
姓名 | 学号 | 角色 | 团队贡献分(百分制) | 可验证的贡献 |
---|---|---|---|---|
吴嘉辉 | 3119005344 | 项目架构、前端 | 92 | 担任主要开发任务 |
吴文俊 | 3119005345 | 博客、测试 | 90 | 博客的编写 |
郜之珣 | 3119005321 | 测试 | 89 | 测试 |
黄宇洋 | 3119005323 | 测试 | 88 | 测试 |
梁志鹏 | 3119005328 | 测试 | 87 | 测试 |
卢乔斌 | 3119005334 | 测试 | 86 | 测试 |
孙斌 | 3119005340 | 测试 | 85 | 测试 |