我在嵌入式系统中有两个Scrum问题。首先,有许多任务要做,尤其是在早期阶段,这些任务是无法证明的。我们从开发板开始,没有操作系统,没有显示器,没有串行通讯,等等。我们没有六个冲刺的显示器。
前四个冲刺是:
- 获取RTOS和运行
- 创建编写网络和串行驱动程序的任务
- 编写按钮,通讯等中断例程
- 编写主要的数据库类和方法
- 编写串行调试菜单
这些任务大多数都不适合用户案例。实际上,进入整个系统的唯一接口是内置在sprint 3中的串行调试菜单,因此在sprint的末尾没有任何内容可以说明。甚至串行菜单也只供内部使用,而不是最终用户。尽管如此,我仍然想通过Scrum跟踪和管理这些开发活动。
我们最终写了“用户故事”这样的词组,例如“作为开发人员...”,我对此并不满意,但是在使用Target Process(www.targetprocess.com)时,没有积压的概念,任务或琐事。
其次,您如何处理发布和测试?对我们来说,这是真正的痛苦,因为测试人员没有硬件调试器,因此我们必须构建代码的闪存版本,并将其刻录到开发板上进行测试。测试人员在技术上不如开发人员那么敏锐,并且通常需要大量支持才能使它们在早期阶段正常工作(重置板子,连接串行通信等),甚至理解输出。
最后,关于完成的定义,只有在所有故事完成之前,冲刺才能完成。在测试人员验证之前,所有故事都是不完整的。无法避免“浪费”开发人员的时间给测试人员。换句话说,如果冲刺中的最后三个用户故事需要五天的时间进行测试,则必须在冲刺结束前五天对它们进行编码和单元测试。开发人员应该做什么?停止工作?
我正在开玩笑,但尝试遵守规则确实是一个问题。现在,我可以遵循规则了,但是我遇到的问题是,如果在测试之前无法将所有工作标记为已完成,它将使我的所有燃尽指标变糟。
我很想听听其他人如何处理这些情况。