Alpha阶段事后分析报告
设想和目标
1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
网站能够采集专业化社区中的问答数据、高质量课程资源、专业技术文档中的内容,为使用者提供一体化的、精准的、高质量的搜索内容
2. 是否有充足的时间来做计划?
计划得比较仓促
3. 团队在计划阶段是如何解决同事们对于计划的不同意见的?
分析可行性以及向学长以及有经验的老前辈咨询
用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?
不一致未达到预期
有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
在计划阶段做好充足的准备
计划
1. 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
基本完成,但是有部分细节还待补充
2. 有没有发现你做了一些事后看来没必要或没多大价值的事?
在环境配置上花了超量的时间严重影响了进度。
3. 是否每一项任务都有清楚定义和衡量的交付件?
没有做到
4. 是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?
出现一次原有数据被另一团队误删的意外?由于权限的管理比较不到位,才发生这种情况
5. 在计划中有没有留下缓冲区,缓冲区有作用么?
没有
6. 将来的计划会做什么修改?(例如:缓冲区的定义,加班)
明确每个人的缓冲区的长度
我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
分工还是比较不明确
改进:增强队员之间的交流,明确每个人的分工,提高团队的集体积极性
资源
1. 我们有足够的资源来完成各项任务么?
由于有个队员长期联系不到,所以在人数上比较硬伤;以及时间资源比较稀缺,加上大三上学期课业繁重,开发的时间更是被大量挤压
2. 各项任务所需的时间和其他资源是如何估计的,精度如何?
缺少科学的估计
3. 测试的时间,人力和软件/硬件资源是否足够? 对于那些不需要编程的资源 (美工设计/文案)是否低估难度?
软件、硬件资源是充足的,时间和人力资源比较不足?对于不需要编程的资源,没有低估难度
4. 你有没有感到你做的事情可以让别人来做(更有效率)?
没有
有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
早点跟学长做好交接工作,这样可以争取到一些时间资源
变更管理
1. 每个相关的员工都及时知道了变更的消息?
是的
2. 我们采用了什么办法决定“推迟”和“必须实现”的功能?
通过开例会的时候讨论决定
3. 项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?
至少使网站能够正常使用,能够检索出数据处理组提供的数据
4. 对于可能的变更是否能制定应急计划?
能
5. 员工是否能够有效地处理意料之外的工作请求?
能
我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
我们学会了很多知识,Django,ReactJS,Solr,NodeJS和Webpack的配置等,学习了前端和后端的搭建和编写。我们会更加明确的分工,减少在装环境的时候的时间耗费
设计/实现
1. 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
在Alpha阶段开始的时候做的,由PM完成,是合适的时间,合适的人
2. 设计工作有没有碰到模棱两可的情况,团队是如何解决的?
有,通过例会讨论决定
3. 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
暂时没有用到单元测试,开发界面的时候有首先绘制界面原型图,同时会对界面要达成的效果进行界定。有效。
4. 什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?
搜索结果界面,因为数据比较多样,而且也是用户使用最平凡的功能。因为数据处理组提供的数据比较多样,一开始没有考虑到有些字段缺失的问题。
5. 代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
在写完一个功能之后对功能进行检查,执行了代码规范。
我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
学会了团队协作开发,如果能重来一遍,我们会分工更加明确。
测试/发布
1. 团队是否有一个测试计划?
有
2. 是否进行了正式的验收测试?
进行了在服务器运行的测试
3. 团队是否有测试工具来帮助测试?
有使用第三方的压力测试工具和访问量统计工具
4. 团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
植入百度统计的代码,记录访问量,这些工作让我们更加清楚用户量和用户需求
5. 在发布的过程中发现了哪些意外问题?
没有
我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
我们会在开发阶段就写好测试,提升代码质量
总结:
你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?
CMMI二级 管理级
你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?
规范阶段
你觉得团队在这个里程碑相比前一个里程碑有什么改进?
学会了合作进行软件开发,对项目有了更加清晰的认识,开发过程更加得心应手
你觉得目前最需要改进的一个方面是什么?
需要更加明确的分工,制定计划时要更加明确