设想和目标
1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
针对全体铁大学子,方便同学们的校园生活,特此开发一款校园服务类App----学生慧。定义的清楚。描述过。
2. 是否有充足的时间来做计划?
有2天时间用于做设想及计划。
3. 团队在计划阶段是如何解决同事们对于计划的不同意见的?
求同存异,针对不同设想进行讨论,估计时间及实现的可行性,最终得到一个大家都满意的方案。
计划
1. 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
基本符合最初的设计,有一些辅助功能因时间问题做了些许简化。
2. 有没有发现你做了一些事后看来没必要或没多大价值的事?
有,比如小组成员间有功能重复的部分需要实现,学习过程浪费了时间与精力;有时候太注重一些边缘的辅助功能,大家不懂得取舍和权衡重要事件。
3. 是否每一项任务都有清楚定义和衡量的交付件?
大部分都有,有一些因为技术问题而没有作具体要求。
4. 是否项目的整个过程都按照计划进行?
大部分都按照计划进行,有一些辅助功能由于时间问题,未能实现。
5. 在计划中有没有留下缓冲区,缓冲区有作用么?
计划中留下缓冲区了,很有用。由于技术欠缺,很大程度上在原规定时间内有功能缺陷,缓冲区的存在解决了很多问题。
6. 将来的计划会做什么修改?
应该明确缓冲区的长度,并进行更具体的设计和划分。
资源
1. 我们有足够的资源来完成各项任务么?
很多情况下是缺少资源的,需要现用先找。
2. 各项任务所需的时间和其他资源是如何估计的,精度如何?
根据计划、个人能力及所需进行资源估计,精度不是很准确,不过能限制在可控范围内,不会托计划后腿。
3. 用户测试的时间,人力和软件/硬件资源是否足够?
软件资源足够,硬件资源欠缺。
4. 你有没有感到你做的事情可以让别人来做(更有效率)?
有时候会感觉到,觉得任务有时候并不符合某个队员,例如:有些队员美化工作并不擅长。
变更管理
1. 每个相关的员工都及时知道了变更的消息?
通过即时通讯工具---QQ,消息变更会在群内公布!消息传播得比较快。
2. 我们采用了什么办法决定“推迟”和“必须实现”的功能?
组内成员公认了必须实现的功能,因为其它功能都是架设在其上的。
3. 项目的出口条件(Exit Criteria)是否得到清晰的定义?
大家都不太懂“出口条件”是什么,在这个项目里面我们没有用到。
4. 对于可能的变更是否能制定应急计划?
基本没有,到时候随意抓人顶上。
5. 员工是否能够有效地处理意料之外的工作请求?
能够,毕竟软工之余,其他课程学业繁重,有缓冲区做调整空间。
设计/实现
1. 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
设计过程全体成员进行了参加。时间与人员都比较合适。
2. 设计工作有没有碰到模棱两可的情况,团队是如何解决的?
经常遇到,如果真的有模棱两可的情况需要权衡,通常选择易于实现的一项,因为大家的时间并不富裕。
3. 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML,或者其他工具来帮助设计和实现?这些工具有效么?
运用了单元测试,整体来看Bug不多。没有运用测试驱动的开发(TDD)、UML等工具实现。有效。
4. 什么功能产生的Bug最多,为什么?
数据库查询功能,Bug也最多。由于功能需要根据需要的不同而改变。
5. 代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
组内没有足够人员进行代码复审,严格执行了代码规范。
测试/发布
1. 团队是否有一个测试计划?为什么没有?
有测试计划。
2. 是否进行了正式的验收测试?
进行了。
3. 团队是否有测试工具来帮助测试?
无。
4. 团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
没能使用这些测试工具。
5. 在发布的过程中发现了哪些意外问题?
云服务器突然停止运行,出现频率很低,因该是网络及服务器配置问题。