作者:郑立 Hi-Agile首席咨询师
前言
软件交付过程中从需求设计到代码交付要经历多个不同的角色和环节加工,而用户最终看到的结果经常和需求预期存在差异,导致频繁返工。造成这一现象的根本原因是研发过程信息载体不同、表达方式不同,从而导致信息传递失真。换成人话就是:需求文档、代码、测试用例等都在表达对需求的理解,但是他们又相互独立,从而造成信息偏差。
软件研发中的一致性
解决需求、代码、测试用例之间的一致性问题,这不仅涉及到单个组件的准确性,还涉及到它们之间的协同和整合,因此保障一致性最重要的基础上建立彼此之间的连接性。从三者关系来说,需求定义了目标,代码是实现这些目标的手段,而测试用例则验证目标是否已实现。
双向追溯如何保障一致性
双向追溯结合DevOps实践可以显著提高需求与代码一致性。双向追溯提供了需求与代码之间的明确链接(不理解双向追溯的请看我文章《双向追溯(bidirectional traceability)的原理和应用》),而DevOps通过其自动化和快速迭代的能力,确保这些需求可以快速且准确地转化为软件功能。双向追溯结合DevOps在研发流程节点上的作用包括如下几点: