需求变更的影响分析是系统分析最重要的任务之一,尤其是在长期或大型项目中。
问题的背景:
在复杂的企业系统中,要求会因业务流程的变化、新的监管限制或用户反馈而不断更新。系统分析师历史上不仅需要记录变更,还需防止新要求的实施影响到已实施模块的正常工作。
问题:
主要困难在于组件的关联性和相互依赖性:一个模块的变更可能会不知不觉地影响到另一个模块的功能,导致缺陷和意外故障。如果不分析变更的影响,技术债务会不断累积,系统的质量就会逐渐退化。
解决方案:
关键特性:
什么是影响分析,哪些支持工具最有效?
人们常常认为影响分析只是讨论风险。实际上,这是一种正式化的过程,使用特定的依赖矩阵(例如,追踪矩阵)、应用生命周期管理(ALM)工具,以及图形表示的关联(例如,Enterprise Architect、Jira + 插件)。重要的是,分析应该是可重复的过程,而不是一次性的行动。
是否可以完全自动化对变更对系统影响的监控?
这是一个常见的误解。完全自动化是不可能的——一些方面总是需要专家的评估。只能自动化分析的一部分:检查直接关联性、自动测试的存在、关于组件交叉的通知,但不能替代系统分析师的主题专业知识。
没有文档记录的非正式沟通对变更的影响是什么?
通常认为,面对面的交流能加快工作进程——但如果讨论没有被记录,则技术债务的增加和调试过程中的困难几乎是必然的。在后续中很难发现“隐形”的关联和缺陷原因。
分析师没有需求矩阵,变更仅在邮件中记录。在一个屏幕上引入新属性后,外部模块(如CRM)中的业务流程未正常工作,导致生产环境中出现严重缺陷。
优点:
缺点:
在变更前填写了影响矩阵,与开发和测试进行了协商,增加了关键场景的自动测试。变更在测试环境中实施,及时捕获了不兼容情况。
优点:
缺点: