敏捷开发:实现“完全完成”与建立利益相关者信任
1. 如何实现“完全完成”
1.1 每日小进步
在敏捷开发中,每天在工作的各个方面取得一点小进步,比分阶段工作或在迭代的最后几天集中完成任务要好得多。这样做能降低迭代结束时工作未完成的风险。例如,程序员可以采用测试驱动开发的方法,将测试、编码和设计结合起来。在工作过程中,通过持续集成与团队其他成员的工作进行整合。对于需要自动化构建和部署的任务,逐步进行改进。在适当的时候,为数据库迁移创建任务,并将其作为每个故事的一部分来处理。
1.2 涉及现场客户
在进行用户界面(UI)任务时,即使界面还不能正常工作,也要向现场客户展示进度。因为客户在首次看到UI时,往往会想要进行调整,这可能会导致大量的最后时刻工作。在完成任务并整合故事的各个部分后,运行代码以确保所有部分协同工作。虽然这不能替代自动化测试,但进行一次合理性检查以避免意外情况是很有必要的。
1.3 及时修复问题
在整个过程中,如果发现错误或缺陷,应立即修复,并改进工作习惯以防止类似错误再次发生。如果发现一个错误或其他意外情况,导致故事的规模显著增加,可以与现场客户合作,将额外的工作安排为一个或多个单独的故事。如果是编码或设计错误导致的,应立即安排到下一个迭代或故事插槽中,因为这类错误往往会增加开发成本,并且随着时间的推移修复成本会更高。
1.4 创建小故事
团队每周应完成4 - 10个故事。实现这一目标的秘诀之一是创建小的故事。许多新接触敏捷开发的团队创建的故事太大,导致无法“完全完成”。他们完成了编码,但没有足够的时间完成所有工作,如UI存在小问题、测试不完整、缺陷未被发现等。记住,你可以