设想和目标
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, 或者其他工具来帮助设计和实现?这些工具有效么?
都没怎么用到
4. 什么功能产生的Bug最多,为什么?
数据库和二维码的BUG较多,对于这两个方面都不熟悉。
5. 代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
没有严格是代码规范,组员们的风格一般,都有缩进,没有注释。
如果历史重来一遍, 我们会做什么改进?
和其他的组通通气,吸收他们的经验教训。
测试/发布
1. 团队是否有一个测试计划?为什么没有?
有测试计划
2. 是否进行了正式的验收测试?
没有
3. 团队是否有测试工具来帮助测试?
没有,完全自己测试
4. 团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
主要看各个功能是否都实现了
5. 在发布的过程中发现了哪些意外问题?
还没有跟其他组整合好,所以还没有正式发布