设想和目标
我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
一开始想做的事情还是太多,没有形成整个app的核心功能,浪费了很多时间。
2. 是否有充足的时间来做计划?
有时间,但是大部分人并不知道如何利用这一段时间来做计划。
3. 团队在计划阶段是如何解决同事们对于计划的不同意见的?
不同的意见一般是少数服从多数。
计划
你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
很多事情都没做完,大家认为最后没做完的事情,都是可有可无的,当然项目前期也有时间浪费的现象。
2. 有没有发现你做了一些事后看来没必要或没多大价值的事?
基本上没有吧。
3. 是否每一项任务都有清楚定义和衡量的交付件?
分工类别很大,基本上算是清楚定义。
4. 是否项目的整个过程都按照计划进行?
计划与现实差距还是比较大。
资源
我们有足够的资源来完成各项任务么?
很多情况下,花了不少时间来查阅资料,参考代码。
2. 各项任务所需的时间和其他资源是如何估计的,精度如何?
开始精度很粗略,后来随着项目任务的加重,大家只顾得上干活,没时间考虑精度问题。
3. 用户测试的时间,人力和软件/硬件资源是否足够?
暂时没有用户测试,我们只是开发人员测试。
变更管理
每个相关的员工都及时知道了变更的消息?
大家都知道了自己需要知道的消息。
2. 我们采用了什么办法决定“推迟”和“必须实现”的功能?
小组成员讨论。
3. 项目的出口条件(Exit Criteria)是否得到清晰的定义?
大家都不太懂“出口条件”是什么,经过这一个项目之后,稍稍清楚了一些。但是说实在的,在这个项目里面我们没有用到太多。
4. 对于可能的变更是否能制定应急计划?
基本没有,到时候随意抓人顶上。
设计/实现
设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
有些界面的设计过早,后来又根据整体UI从新设计。一般是PM设计。
2. 设计工作有没有碰到模棱两可的情况,团队是如何解决的?
很多,大家都不知道如何解决。就看具体执行的人是如何解决的,开发人员会在相对容易的代码基础上设计出尽可能接近设计。
3. 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
运用了单元测试的员工,整体来看Bug不多,没有用单元测试的员工,后期比较忙。
4. 什么功能产生的Bug最多,为什么?
好友交流界面问题比较多,可能是因为服务器和客户端交互比较频繁。
5. 代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
刚开始还像那么回事,后来就变成走走形式。
测试/发布
团队是否有一个测试计划?为什么没有?
我们一般是写一个功能测试一个功能。
2. 是否进行了正式的验收测试?
基本上没有吧,大家都试用,没问题就差不多了。
3. 团队是否有测试工具来帮助测试?
没有!
此外,还需要回答下面两个问题:
- 对比敏捷的原则,你觉得你们小组做得最好的是什么?
开发人员同时同地开发,及时发现处理问题。 - 什么是在下个阶段 M2 要改进的地方?越具体越好。
下拉刷新;聊天功能完善;交易系统完善;用户推广跟进。。。