在你的业务伙伴告诉你他们的系统需要改进时,如果你问他们系统需要怎样的改进,他们会感到莫名其妙。这是很常见的,公司和 IT 分析人士通常发现要确定系统的缺点相当困难。
例如,是系统、用户、业务流程还是其它什么东西有问题?问题通常与业务规则的范围有关。然而,有时候问题却出在公司团体之间的信息交流,或者业务流程的不正确的自动化流程。
不管问题的来源是什么,一个正式地应用程序差距分析都很有帮助。差距分析的目的是确定组织的业务流程与其信息系统之间的误差或“差距”。更正式地说,应用程序差距分析确定遗漏的具体功能或服务,这些遗漏的功能或服务要么由意外(的忽略),有意(的设计决策)等引起,要么由(还没有开发或实现的)业务流程的变动引起。从产生的差距可以认识到将来需要哪些修改或者获得哪些额外的系统组件。
应用程序差距分析的结果一般包含两个部分:
第二个清单通常引起业务用户的重视(和愤怒),因为这是系统影响他们完成任务的能力的地方。
在考虑更新软件系统或者开发一个新软件系统时,差距分析能够清楚地确定出与候选系统相比,用户期望的业务功能,从而能够微妙的降低风险。你可以通过考虑在交付产品之后再进行重新设计功能的所需的成本来量化风险。
要完成一个正确的差距分析,首先要分析系统需要支持的业务流程。一个简单的方法是根据重要性在一个矩阵中列出这些功能。有一点需要注意:这是大多数差距分析失败的地方。通常要确定一个特定的功能所涉及的所有业务流程是非常困难的,所以要确保你考虑到了所有参与到流程中的受影响的业务部分。
很多公司试图在下一步将目标系统与矩阵关联起来。但是我建议在继续之间再增加一个过渡步骤来分析业务流程。这样就允许组织:
这个过渡过程的结果可能改变业务功能需求矩阵,可能是消除也可能是修改用户期望的功能。
最后,确定目标系统支持哪些功能,找出它对这些功能支持到什么程度。一旦完成了差距分析,你就会有非常丰富的信息用于决策支持的下一步骤了。