要努力跟上商业需求,软件系统的变动是不可避免的。新的或修改过的系统增强的需求是应用程序生命周期性中的一个经常发生的部分。对于试图追求这些需求的应用开发经理来说,变动管理是保证成功合作的一个必要的过程。
成功的需求变动管理的基础是正式地确定实现软件变动的风险和收益。你或团队多久意识到一个实际上有非常严重影响的简单变动?很多时候,开发人员低估和忽视了商业影响。商业客户通常认为变动对系统的功能来说只是一个小的增强或者简单的调整,他们不能完全理解要实现这些变动所需的工作。
一个正式的影响分析文档可以以一个完整全面的总结的方式提供这些细节。你可以使用影响分析来帮助你对所要求的变动做出商业决策。要保证需要使用时间、成本和质量等一些项目参数作为指南。
需求鼻祖Karl Wiegers确定了在开发影响分析文档时要注意的两个重点。第一点是对对的提出的变动的复杂度有一个全面的估计。这涉及到对变动所带来的商业影响进行完整的分析,包括:
销售和市场:变动会影响产品的市场,或者会增加或降低其成本吗?
法律和法规:法律问题有没有考虑过?变动满足法规指导原则吗?
商业连续性:变动将会对当前的商业过程有什么样的影响?
客户服务:对客户服务会有影响吗?
商业关系:变动会对组织与商业合作伙伴、供应商等的关系有什么样的影响?
合同 :我们需要解决任何合同问题吗?
安全和隐私 :变动满足安全和隐私约束吗?
安全性 :变动的结果会带来什么安全性方面的问题吗?
资源 :变动会影响商业和 IT 职员吗?
其它项目 :变动会对其它项目有什么样的影响?
预算 :变动对财政有什么样的影响?
生命周期成本/延迟:变动对项目延迟(比如说失去机会的成本)有什么样的影响?
Wiegers确定的第二个要素是详细分析提出的变动对系统的影响。这可能包含以下要素:
用户界面 :UI、报表和屏幕方面有哪些地方必须变动?
数据存储 :对数据库、文件等有什么影响?
软件模块影响/整合:这个变动对系统的多少个模块会造成影响?对系统软件模块影响的范围有多大?变动对系统在环境中与其它系统的整合有什么样的影响?
文档 :你考虑更新培训和技术手册了吗?
培训 :对于提出的变动,在用户培训方面要有哪里必要的变动?
硬件影响 :你需要新硬件或增强硬件吗?网络升级和其它基础设施的成本如何?
物理和灾难恢复 :需要有新的物理安全措施吗?比如说受限的访问空间。对灾难必得程序有什么样的影响?
质量 :变动对整个系统的质量有怎样的影响?
上面列出的只是在影响分析中应该考虑的问题的一小部分。一旦确定了变动的后果,你就应该对每一项进行分类并划分其优先级,同时评估每一项的风险和收益。结合上面的因素,最后要考虑的要素是不实现变动的影响。