一,设想和目标
1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
针对铁大校园,解决旧物堆积、资源浪费的问题。我们的定义很清楚,对于典型用户和场景有过清晰的描述。
2. 是否有充足的时间来做计划?
有比较充足的时间来做计划。
3. 团队在计划阶段是如何解决同事们对于计划的不同意见的?
我们会进行讨论,求同存异,选出可行性最好的意见和计划,全力努力。
二,用户量,用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?
因为没有赶上铁大跳蚤市场,用户量比我们事先预想的要少。
三,计划
1. 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
原计划的工作基本做完了,但这些工作中存在着不小的瑕疵。
2. 有没有发现你做了一些事后看来没必要或没多大价值的事?
如果说没发现那是假的,经常是我们针对某一工作做了很长时间才发现这一工作对于我们的项目是毫无益处的。
3. 是否每一项任务都有清楚定义和衡量的交付件?
在这一点我们团队做的比较好。
4. 是否项目的整个过程都按照计划进行?
有某些工作确实在计划之外或者计划内的工作脱离了计划,但整体不错。
5. 在计划中有没有留下缓冲区,缓冲区有作用么?
没有留下缓冲区
6. 将来的计划会做什么修改?(例如:缓冲区的定义,加班)
会完善我们网站的流水体系。
7. 我们学到了什么? 如果历史重来一遍,我们会做什么改进?
每天的站立会议效率可以更高,应该有更多的积极性。
四,资源
1. 我们有足够的资源来完成各项任务么?
这一点上有的
2. 各项任务所需的时间和其他资源是如何估计的,精度如何?
开始精度很粗略,后来随着项目任务的加重,大家只顾得上干活,没时间考虑精度问题。
3. 用户测试的时间,人力和软件/硬件资源是否足够?
不太够,学生的经济情况决定了我们的适用机型有限。
4. 你有没有感到你做的事情可以让别人来做(更有效率)?
也许吧
五,变更管理
1. 每个相关的员工都及时知道了变更的消息?
是的。
2. 我们采用了什么办法决定“推迟”和“必须实现”的功能?
组内讨论,达成共识。
3. 项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?
不懂什么是“出口条件”
4. 对于可能的变更是否能制定应急计划?
每个人预备随时顶上
5. 员工是否能够有效地处理意料之外的工作请求?
分情况,有些可以。
六,设计/实现
1. 设计工作在什么时候,由谁来完成的?是合适任务的时间,合适的人么?
设计工作一直在做,有组内任一成员来完成。至于是否是合适任务、合适人这个真不确定,不过成品我们都挺满意。
2. 设计工作有没有碰到模棱两可的情况,团队是如何解决的?
有,由主管这一工作的人自由发挥
3. 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML,或者其他工具来帮助设计和实现?这些工具有效么?
是,有效。
4. 什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?
上传功能的Bug最多,发布后出现手机访问崩溃的bug。
5. 代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
没有代码复审,但严格执行代码规范。
七,测试/发布
1. 团队是否有一个测试计划?为什么没有?
有测试计划。
2. 是否进行了正式的验收测试?
是的。
3. 团队是否有测试工具来帮助测试?
LoadRunner性能测试工具、 TestDirector
4. 团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?
通过有效评论,有用。
5. 在发布的过程中发现了哪些意外问题?
需要审核。