团队项目总结
软件工程 GarbageSorting项目Postmortem
设想和目标
1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
解决垃圾分类回收问题
定义清楚
有清晰描述
2. 是否有充足的时间来做计划?
计划时间是比较短的,但是我们在工程中不断完善这个计划。
3. 团队在计划阶段是如何解决同事们对于计划的不同意见的?
人少,好协商。
如果历史重来一遍, 我们会做什么改进?
我们会重点分析好客户的需求,做好前期的准备工作,增加测试时间,测试压力规模。
计划
1. 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
都做完了。
2. 有没有发现你做了一些事后看来没必要或没多大价值的事?
比较少有这样的事,前期分工比较明确,对工作的认识比较清楚,所以没做什么无用功。
3. 是否每一项任务都有清楚定义和衡量的交付条件?
是
4. 是否项目的整个过程都按照计划进行?
没有,因为中间有其他事情(备考)耽误了。
5. 在计划中有没有留下缓冲区,缓冲区有作用么?
有,考试后都是缓冲区,有作用,能有时间做优化。
6. 将来的计划会做什么修改?(例如:缓冲区的定义,加班)
将来会抓紧工作,争取多留一些缓冲时间,因为软件可能有一些不足需要添加丰富的功能。
如果历史重来一遍, 我们会做什么改进?
大家都很自觉,希望下次能按计划。
资源
1. 我们有足够的资源来完成各项任务么?
有,在网上能找到一些数据库资料和具体功能的教学博客
2. 各项任务所需的时间和其他资源是如何估计的,精度如何?
时间看自觉,精度不大
3. 用户测试的时间,人力和软件/硬件资源是否足够?
硬件是足够的,时间不够,人力够,软件是够的。
4. 你有没有感到你做的事情可以让别人来做(更有效率)?
没有。
如果历史重来一遍, 我们会做什么改进?
变更管理
1. 每个相关的员工都及时知道了变更的消息?
2. 我们采用了什么办法决定“推迟”和“必须实现”的功能?
以工作的重要性决定推迟和必须实现,与项目关系不大的功能推迟,关系密切的列为必须实现。
3. 项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?
功能完善,bug少
4. 对于可能的变更是否能制定应急计划?
能
5. 员工是否能够有效地处理意料之外的工作请求?
有
如果历史重来一遍, 我们会做什么改进?
多开会交流,更合理的分配工作
设计/实现
1. 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
张雨轩是设计员,我们认为他是合适的人员。设计时间也是项目开始时,比较合适。
2. 设计工作有没有碰到模棱两可的情况,团队是如何解决的?
有,协商+实践检验
3. 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
uml有用到,其他的太复杂,没用学会用
4. 什么功能产生的Bug最多,为什么?
搜索功能,很多时候搜不到结果或者结果没有准确性
5. 代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
没有严格是代码规范,但组员们的风格都比较好,都有注释,缩进。
如果历史重来一遍, 我们会做什么改进?
在项目开始就设计好软件架构和数据库结构,规范代码
测试/发布
1. 团队是否有一个测试计划?为什么没有?
有测试计划
2. 是否进行了正式的验收测试?
3. 团队是否有测试工具来帮助测试?
没有,完全自己测试
4. 团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
团队人工测试,主要看搜索时间来判断功能的效率,有用,界面切换时加载应该再快一点。
5. 在发布的过程中发现了哪些意外问题?
如果历史重来一遍, 我们会做什么改进?
做好测试计划,用好的测试软件来帮助测试。
(会议图片)
1) 对比敏捷的原则, 你觉得你们小组做得最好的是什么?
计划是随着项目进度而不断变化的,从而更加适应计划的变化