关键业绩指标(KPI
时间:2023-05-17 21:42:49 | 作者:admin
目前,关键业绩指标(Key Performance Indicators)体系建立的难点是缺乏一套系统且实用的方法,这篇文章正是基于这种情况下做的方法论研究,对关键业绩指标(KPI)体系建立的方法进行了系统的研究和梳理,使大中型企业在如何建立KPI体系方面具有可操作性。
关键业绩指标(Key Performance Indicators)是一种可量化的、被事先认可的、用来反映组织目标实现程度的重要指标体系,是绩效管理的有效手段,也是推动公司价值创造的驱动因素,其功能主要表现在以下几个方面:
x 随着对公司战略目标的分解,使高层领导清晰地了解对创造公司价值最关键的经营操作情况;
x 能有效反应关键业绩驱动因素的变化程度,使管理者及时诊断经营中的问题并采取措施;
x 区分定性、定量两大指标,有力推动公司战略的执行;
x 对关键、重点经营行为的反应,使管理者集中精力于对业绩有最大驱动力的经营方面;
x 由高层领导决定并被考核者认同,为业绩管理和上下级的交流沟通提供一个客观基础。
现在很多企业都已逐步认识到KPI体系的优点,开始意识到好的KPI是绩效管理、目标管理、组织设计乃至战略管理的依据,但对如何构建适合企业自身发展的KPI体系,往往无从下手,缺乏一套系统的方法论做指导。基于这种情况,中华-博略咨询在总结大量大型企业项目运作经验的基础上,参考国内外先进理论与方法,对如何构建KPI体系进行了系统的梳理,总结了一套完整且操作性强的KPI体系的建立方法,这一方法适用于组织机构复杂、管理体系比较完善的大型企业。
一、KPI目标确定
确定KPI体系的目标至关重要,但往往被人们所忽视。准确定位KPI体系建立的目标,首先要明确公司的愿景和战略目标,公司所有的绩效结果标准都必须与公司的目标相一致。公司目标通常可以体现在财务、战略、组织、公司价值四个方面。财务目标衡量业务单元的财务业绩,如收入、净利润等;战略目标是一种长期的、目标明确的衡量指标,衡量业务可持续的获利能力,如重点客户细分、客户满意度等;组织目标致力于建立一个能够吸引、保留和激励人才的强大组织,如人才保留、技能培养、风险控制体系等;公司价值目标是公司区别于同行业者的显著特点,如工作理念、专业化和职业化操守等。
其次需层层分解公司目标,形成整个公司的”价值场”。如图1。公司目标的分解方法应根据企业的实际情况而定,常用的分解方法包括综合分析法,即分析公司过去三年的历史数据,判断发展趋势;对比法,即同国际、国内的业绩最佳典范比照,并结合企业自身能力评估而进一步分解公司目标;预测法,即对公司未来在业绩增长、业务组合优化等进行合理的预测,从而细分公司目标。
图1:公司“价值场”形成
最后设立合理的、富有挑战性的KPI目标,并为其赋予相应的业绩分值。如图2所示。KPI目标由基本目标和挑战目标共同构成。基本目标体现正好完成对岗位所期望的工作水平,考虑可达到性与合理性,是根据公司预算和经营计划而定。挑战目标体现对完成业绩的最高期望值,考虑挑战性,是参照业绩围绕基本目标的变化弹性而定,应高出公司预算和经营计划目标。
图2:KPI目标形成
二、划分责任中心
责任中心是指企业里相对独立的具有一定的管理权限、并具有相应的经济责任的内部单位,是一个权、责、利相结合的责任单元。责任中心的划分是以考核为主要目的,每一个责任中心按其划分的标准不同而具备相应的权利义务关系,KPI的确立也正是依据不同的责任中心而确定不同的指标体系。
建立责任中心的关键就是分清责任与权限,并为责任中心充分授权。这里所说的分清责任与权限包含两个方面的含义:其一是各责任中心之间的责任与权限必须十分清楚,不能互相交叉,否则,就会出现各责任中心之间相互扯皮的现象;其二是各责任中心的责任与权限必须十分明确,不能含糊其词,模棱两可。
三、确定关键绩效指标
确定关键绩效指标是KPI体系建立的核心部分,大致可以分三个步骤进行。
1. 明确BSC和价值树
BSC即平衡记分卡,它从财务、客户、内部流程和学习与发展四个不同的侧面将企业愿景和战略转化为目标和考核指标,从而实现对企业绩效进行全方位的监控和管理。BSC四个层面的指标可以概括为效益类、营运类和组织三大类。效益类指标是体现公司价值创造的直接财务指标,可以全面衡量创造股东价值的能力;营运类指标是实现公司价值增长的重要营运结果与控制变量,利用最有效的营运杠杆可以衡量和确保战略及财务目标完成能力;组织类指标是实现积极健康的工作环境与公司文化的人员管理指标,可以用来衡量推动企业价值观建立与人员组织竞争力的能力。
价值树示意图是一种用于呈现理念的工具,具有四个维度分解:因素、责任、时间和数值,形式上从高到低,从前到末,横贯一体,核心是建立了层级之间的链接关系,以及与上下价值树的关系。如图3所示。不同的组织需要不同的KPI,每一个责任中心,无论业务和职能部门,都要建立一棵“价值树”,每个成员都要成为价值树的枝杈。这棵树,不是一般的目标管理,也不是岗位责任制的简单翻版,而是贯穿到底的价值管理,价值创造是它的核心灵魂。它全面覆盖和展示公司价值创造的全过程,是业务流程的价值范畴中的数字化映像,并且应是层级分明、无缝链接。价值树直观上应该是一个多种功能视图,既能反映价值创造的内在关系,又能直观地展现出:“由谁?在什么时间?通过什么驱动因素,创造了什么价值产出” ,它具有覆盖功能、描述功能、测算功能、适配功能和检验功能。
图2:KPI目标形成
二、划分责任中心
责任中心是指企业里相对独立的具有一定的管理权限、并具有相应的经济责任的内部单位,是一个权、责、利相结合的责任单元。责任中心的划分是以考核为主要目的,每一个责任中心按其划分的标准不同而具备相应的权利义务关系,KPI的确立也正是依据不同的责任中心而确定不同的指标体系。
建立责任中心的关键就是分清责任与权限,并为责任中心充分授权。这里所说的分清责任与权限包含两个方面的含义:其一是各责任中心之间的责任与权限必须十分清楚,不能互相交叉,否则,就会出现各责任中心之间相互扯皮的现象;其二是各责任中心的责任与权限必须十分明确,不能含糊其词,模棱两可。
三、确定关键绩效指标
确定关键绩效指标是KPI体系建立的核心部分,大致可以分三个步骤进行。
1. 明确BSC和价值树
BSC即平衡记分卡,它从财务、客户、内部流程和学习与发展四个不同的侧面将企业愿景和战略转化为目标和考核指标,从而实现对企业绩效进行全方位的监控和管理。BSC四个层面的指标可以概括为效益类、营运类和组织三大类。效益类指标是体现公司价值创造的直接财务指标,可以全面衡量创造股东价值的能力;营运类指标是实现公司价值增长的重要营运结果与控制变量,利用最有效的营运杠杆可以衡量和确保战略及财务目标完成能力;组织类指标是实现积极健康的工作环境与公司文化的人员管理指标,可以用来衡量推动企业价值观建立与人员组织竞争力的能力。
价值树示意图是一种用于呈现理念的工具,具有四个维度分解:因素、责任、时间和数值,形式上从高到低,从前到末,横贯一体,核心是建立了层级之间的链接关系,以及与上下价值树的关系。如图3所示。不同的组织需要不同的KPI,每一个责任中心,无论业务和职能部门,都要建立一棵“价值树”,每个成员都要成为价值树的枝杈。这棵树,不是一般的目标管理,也不是岗位责任制的简单翻版,而是贯穿到底的价值管理,价值创造是它的核心灵魂。它全面覆盖和展示公司价值创造的全过程,是业务流程的价值范畴中的数字化映像,并且应是层级分明、无缝链接。价值树直观上应该是一个多种功能视图,既能反映价值创造的内在关系,又能直观地展现出:“由谁?在什么时间?通过什么驱动因素,创造了什么价值产出” ,它具有覆盖功能、描述功能、测算功能、适配功能和检验功能。
图2:KPI目标形成
二、划分责任中心
责任中心是指企业里相对独立的具有一定的管理权限、并具有相应的经济责任的内部单位,是一个权、责、利相结合的责任单元。责任中心的划分是以考核为主要目的,每一个责任中心按其划分的标准不同而具备相应的权利义务关系,KPI的确立也正是依据不同的责任中心而确定不同的指标体系。
建立责任中心的关键就是分清责任与权限,并为责任中心充分授权。这里所说的分清责任与权限包含两个方面的含义:其一是各责任中心之间的责任与权限必须十分清楚,不能互相交叉,否则,就会出现各责任中心之间相互扯皮的现象;其二是各责任中心的责任与权限必须十分明确,不能含糊其词,模棱两可。
三、确定关键绩效指标
确定关键绩效指标是KPI体系建立的核心部分,大致可以分三个步骤进行。
1. 明确BSC和价值树
BSC即平衡记分卡,它从财务、客户、内部流程和学习与发展四个不同的侧面将企业愿景和战略转化为目标和考核指标,从而实现对企业绩效进行全方位的监控和管理。BSC四个层面的指标可以概括为效益类、营运类和组织三大类。效益类指标是体现公司价值创造的直接财务指标,可以全面衡量创造股东价值的能力;营运类指标是实现公司价值增长的重要营运结果与控制变量,利用最有效的营运杠杆可以衡量和确保战略及财务目标完成能力;组织类指标是实现积极健康的工作环境与公司文化的人员管理指标,可以用来衡量推动企业价值观建立与人员组织竞争力的能力。
价值树示意图是一种用于呈现理念的工具,具有四个维度分解:因素、责任、时间和数值,形式上从高到低,从前到末,横贯一体,核心是建立了层级之间的链接关系,以及与上下价值树的关系。如图3所示。不同的组织需要不同的KPI,每一个责任中心,无论业务和职能部门,都要建立一棵“价值树”,每个成员都要成为价值树的枝杈。这棵树,不是一般的目标管理,也不是岗位责任制的简单翻版,而是贯穿到底的价值管理,价值创造是它的核心灵魂。它全面覆盖和展示公司价值创造的全过程,是业务流程的价值范畴中的数字化映像,并且应是层级分明、无缝链接。价值树直观上应该是一个多种功能视图,既能反映价值创造的内在关系,又能直观地展现出:“由谁?在什么时间?通过什么驱动因素,创造了什么价值产出” ,它具有覆盖功能、描述功能、测算功能、适配功能和检验功能。
图3:价值树示意图
2. 找出具有重大影响的关键绩效指标
影响企业经营成果的因素有很多,如经营决策、市场条件、政府监管、自然资源条件等等,但关键业绩指标只衡量经营成果中的可影响部分,即关键业绩指标的衡量领域主要包括企业的经营决策与执行部分。其中,效益类指标以投资资本回报率、自由现金流和利润总额为核心,但根据职位影响力及业务性质作出选择;营运类指标根据各责任中心的核心任务而定,如考虑与发展战略相一致、或突出战略的核心驱动因素、或由投资资本回报率树推演而出,分为销售收入类、成本费用类和投资控制类(固定资产、营运资本)等等。选择时应优先考虑有明确计算方法和数据来源、在财务报表中已存在、并且有较大影响力的指标做为关键绩效指标。
关键业绩指标的选择方法有很多,包括KPI矩阵法、敏感性分析法、结合关键成功因素法等,或综合使用以上的多种方法以达到优势互补。在这些方法中,敏感性分析法是一种易于操作并效果显著的方法,被很多企业采用。所谓敏感性分析法,就是先依据经验或历史数据确定若干个较为重要的指标,然后给各个指标增加10%,对引起资产贡献率变化最大的指标即可选定为关键绩效指标。
3. 给各部门、岗位确定关键绩效指标
选定关键绩效指标后,就需要将指标层层分解到各部门或各相关人员,具体工作可以通过访谈或分析历史资料,并不断沟通反馈的方法进行,并保证指标分解后的有效性、可控性和指标的可测性。具体分解过程见示意图4。
图4:关键绩效指标分解
四、赋予权重
权重设定是KPI体系构建中一个很重要的环节,依据企业经验,过高的权重易导致员工”抓大头扔小头”,对其它与工作质量密切相关的指标不加关注;且过高的权重会使员工考核风险过于集中,万一不能完成指标,则整年的奖金薪酬均会受很大影响,因此KPI权重一般在5%—30%之间。另外出于简化计算难度的考虑,所取的权重一般取5的整倍数,并且得分一般利用线性变化算比例。
权重设定的方法有很多,月亮图法是一种较为科学并且形象直观的分析方法。这种方法的核心是对选定的各个关键绩效指标分别考虑指标的重要性、影响力、可测性等因素,并对各个因素的权重大小分别以圆圈中所占阴影面积的大小表示,最后把所有因素的权重汇总,得出最终的权重比例。月亮图分析法举例见图5。
图5 月亮图分析法
五、KPI与工作目标设定(GS)的配合使用
工作目标设定和关键绩效指标都是一种针对目标岗位的工作职责与工作性质设定、由公司战略目标分解得出,基于关键价值驱动因素并反映关键经营活动效果的绩效考核体系。不同点在于GS衡量定性的效果,而KPI衡量定量结果;GS是以行为为导向,而KPI以结果为导向;GS由主管经理评分得出,而KPI由客观计算公式得出;GS考察无直接控制力的工作,而KPI通常考察有直接控制力的工作。因此说,GS是对KPI考核体系的一个充分且必要的补充。
通常,对于公司支持性部门或部分定性指标的考核采用工作目标设定(GS)的方法进行。一个好的GS 应可以衡量在该岗位成功所需的技能, 品质, 价值观等难以定量的业绩组成,应尽量减少与KPI指标的重复,并且定义评价标准, 最大程度的减少评估中的主观因素。
六、生成业绩合同
业绩合同是中层以上管理人员与上级就应实现的工作/业绩订立的正式书面协议,它定义了公司各管理层的主要考核方面及关键业绩指标、工作目标设定,确定了各主要考察内容的权重,并且参照历史业绩及未来策略重点设定业绩需达标准,参与决定合同受约人的薪酬与非物质奖惩。业绩合同的制定是通过上下级业务之间和同级各部门之间的共同沟通反馈完成的。
业绩合同组成部分包括:KPI类别、KPI指标、权重与目标,并且要对比实际完成业绩与预算目标,依各考核项目的重要性以不同权重加权平均来计算综合业绩分数。业绩合同中目标值的设定要求符合实际、可达到的,同时具有一定的挑战性并基于统一的数据库的原则;业绩分值计算方法根据各KPI性质不同而不同,以反映公司战略意图,并体现激励作用;业绩总分与薪酬、股票期权等激励政策密切挂钩,并作为职位晋升参考,其作为经营业绩总体评价,应定期回顾并转化为改进的行动。
以上KPI体系的构建对于大型企业有很高的实用价值,但对于部分中小企业来说,其管理模式不规范或管理结构较为简单,复杂的程序会造成大量的管理成本支出,因此中小型企业建立KPI体系,应从企业自身特点出发,对部分步骤简化处理,从而建立一套真正适合自己的绩效考核体系。
高效实现数据仓库的七个步骤
数据仓库和我们常见的RDBMS系统有些亲缘关系,但它又有所不同。如果你没有实施过数据仓库,那么从设定目标到给出设计,从创建数据结构到编写数据分析程序,再到面对挑剔的用户的评估,整个过程都会带给你一种与以往的项目完全不同的体验。一句话,如果你试图以旧有的方式创建数据仓库,那你所面对的不是预算超支就是所建立的数据仓库无法良好运作。
在处理一个数据仓库项目时需要注意的问题很多,但同时也有很多有建设性的参考可以帮助你更顺利的完成任务。开放思维,不断尝试新的途径,对于找到一种可行的数据仓库实现方法来说也是必需的。
1. 配备一个全职的项目经理或你自己全面负责项目管理
在通常情况下,项目经理都会同时负责多个项目的实施。这么做完全是出于资金和IT资源方面的考虑。但是对于数据仓库项目的管理,绝对不能出现一人身兼数个项目的情况。由于你所处的领域是你和你的团队之前没有进入过的领域,有关数据仓库的一切-数据分析、设计、编程、测试、修改、维护-全都是崭新的,因此你或者你指派的项目经理如果能全心投入,对于项目的成功会有很大帮助。
2. 将项目管理职责推给别的项目经理
由于数据仓库实现过程实在是太困难了,为了避免自虐,你可以在当前阶段的项目完成后就将项目管理职责推给别的项目经理。当然,这个新的项目经理一定要复合第一条所说的具有全职性。为什么要这么做呢?首先,从项目经理的角度看,数据仓库实施过程的任何一个阶段都足以让人身心疲惫。从物理存储设备的开发到Extract-Transform-Load的实现,从设计开发模型到OLAP,所有阶段都明显的比以前接触的项目更加困难。每个阶段不但需要新的处理方法、新的管理方法,还需要创新性的观点。所以将管理职责推给别的项目经理不但不会对项目有损害,还可以起到帮助作用。
3.与用户进行沟通
这里所讲的内容远比一篇文章本身要重要的多。你必须明白,在数据仓库的设计阶段,那些潜在用户自己也不清楚他们到底需要数据仓库为他们做什么。他们在不断的探索和发现自己的需求,而你的开发团队也在和客户的接触中做着同样的事情。更加频繁的与客户接触,多做记录,并让你的团队更关注于项目需求讨论的结果而不是讨论的过程本身。
既然你和客户的交流是为了了解存储的数据是何种类型以及如何有效存储数据,你也许需要(和你的用户一起)采用一种新的方法观察数据,而不是直接处理数据。你可以尝试从中找出隐藏的信息,比如在一段时期内的数字涨落等。不要试图追寻项目需求的答案,而是要让答案找上门来。
4. 以技术/信息库作为领导
由于数据仓库实施的各个阶段都有很大不同,因此你需要有人能起到维持整个项目的连续进行的作用,不过这个职责并不需要那种全职性。项目实施有三个重要方面:架构、技术和业务。将架构作为重点可以保证在整个项目中,数据仓库的架构从物理层往上,都会受到良好的维护。而我们应该将技术作为重点,因为开发团队和关键用户都在使用他们以前从未用过的工具,必须有人监督开发过程以及工具使用的一致性。
最后,在数据仓库的应用过程中浮现出来的业务需求必须被详细分析和记录,以促机开发过程持续下去。如果用户不能很好的开发人员以及其它用户沟通,那么数据分析和度量方面的开发进程就会延期,所以必须有人关注业务方面的开发,推动开发进入更高级别。
5. 跳出反复修改程序的陷阱
第一次实现的数据仓库肯定不会是最终交付的版本。为什么呢?实际上在真正见到产品前,你无法确定的知道自己的目标是什么。或者说,最终用户只有在使用数据仓库产品一段时间后,才能明确告诉你这个产品是不是他所希望的。与你以往处理的项目不同,业务智能还处于发展的初期,每个公司对业务智能都有不同的解释,因此你的项目决不会一次成功。
为了以正确的格式获得数据,你需要在不断变化的状况中摸索前进。BI具有很强的个性,不同的环境、不同的市场以及不同的企业都有不同的BI。这又代表什么呢?这表示你需要把数据库管理员放在一个消息相对封闭的环境中,不要让他知道数据仓库的数据结构以及ETL程序在不断的改变。对此没有别的办法。这样可以减轻你和DBA所承受的压力。
6. 对大量的前端资源进行数据源分析
在数据仓库实现过程中,你不得不在旧有的数据中艰难跋涉,这些数据来自老的数据库、老的磁带机以及远程的数据。它们中的大部分都凌乱不堪,并且难以获取。你要对这些数据进行大量处理,并且还要设计ETL程序来寻找其中的有用信息。如果你希望整个项目做起来比较顺利,并且找到一种方法能够一次成功,那就需要你的开发人员必须花费足够的时间来充分研究这些旧有数据,将凌乱的数据规则化,并尽力设计和实现强壮的数据采集和转换过程。数据仓库的ETL部分会占用整个项目资源的百分之八十,所以一定要确定你的资源都用在刀刃上了。
7. 将人际关系处理放在首位
在数据仓库实现过程中真正的地狱不是来自技术或者开发方面,而是来自你周围的人。你也许会遇到一个对项目并不乐观而又没时间听你陈述的领导。你也许会遇到一些开发人员将进度拖延太长时间还抱怨为什么不能用老方法实施。你也许还会遇到一些抱有不切实际的幻想的用户,他们希望轻点鼠标就能实现想象中的功能,但却不愿在他们那边多做些智力投资,更好的培训他们自己的员工。而你也已经疲惫不堪,鼓励投资,以及在开发团队和用户(甚至老板)中推广新的开发技巧。
总之你要保持微笑。当一切搞定,你的烦恼也就一扫而空了,笑到最后才笑得最轻松。
数据仓库开发过程中的七个禁忌
过去我们一直使用的OLTP技术也许隐藏着许多严重的缺陷。数据仓库的实现并不是一个简单的任务,你会发现以前积累下来的丰富经验,并不适合处理每个数据仓库的独特需求。
下面列出的条款是你在实现数据仓库过程中一定会面对的问题,其中一些看起来并没有想象中那么严重,但是你还是应该尽量避免出现类似问题。数据仓库并不是一个事务处理系统,它没有一定的标准也不会实现某个特定的应用,但它本质上是非常有组织性的。总之,每个公司所建立的数据仓库都是唯一的,并且每一次数据仓库的实现方法都不是一成不变的。在实现数据仓库时需要注意的不单是”应该如何作”,更要注意”不该如何做”。下面就是我们总结的七点”不该如何作”。
1.不要编写自己无法快速修改的代码
你所要编写的程序主要用于数据分析,而不是处理事务。而你的用户也并不真正知道他们自己真正想要一个什么样的程序。因此你不得不反复修改代码好几次,才会明白用户到底需要一个什么样的程序。如果你编写的程序具有良好的结构和灵活性,就算需要修改也不会太浪费力气。反之,你会被自己累死。
2. 不要使用无法修改的数据库访问API
在过去,你的数据库可以为大量的客户提供稳定的数据查询服务。而如今,你的程序必须能够应付更多的数据查询。这使得重新改写程序以使得每个查询请求能得到最大的数据量成为势在必行的工作,而一般来说这种代码修改都不会一次成功,所以只有选择合适的可以修改的API,才能使程序尽快适应新的需求。
3. 不要设计任何无法扩展的东西
在联机处理过程(OLTP)应用中,数据分析并不是一个真正的应用程序。实际上,数据分析的关键是获取大量旧的数据,从中提取数据模型,并以此模型推断出新的信息。而你所编写的访问潜在信息的代码应该具有可扩展性,可以附加新的数据。千万别在支持数据分析的代码中假定数据都是固定格式的。
4. 不要附加不必要的功能
一个仓库要做的是恰到好处的服务,用户走进仓库,从货架上取得自己所需得信息,仅此而已。由于业务智能、分析以及规律性的问题都有各自的处理程序,因此你的客户唯一的需要就是获取信息。他们需要一种应用环境,可以让他们快速的从数据仓库中取得分析过程所需的数据,而不论这个数据是什么样子的。也许你想帮助他们精炼一下获得的数据,但最好不要这么做。一定要记住,不要给客户的数据分析程序添加任何会影响数据访问性能的功能。
5. 不要简化数据清除和数据源分析的步骤
在实现数据仓库过程中最应该注意的地方就是为Extract-Transform-Load机制分析数据源,以及为优化负载而清除数据。安全的做法是假设项目经理在这个阶段会需要整个项目资源的一半以上。相反,如果你在这方面进行了简化,稍后肯定会后悔。所以就算系统工作缓慢,也不要简化清理旧的数据的过程。
6. 不要避免颗粒度和分区问题
在数据仓库设计过程中有两个最大的数据存储问题,第一是如何给转换数据定位一个恰当的颗粒度等级,第二是如何将数据绝对的分区。为什么这两点问题如此重要呢?因为整个数据仓库的响应能力受颗粒度影响,并且数据访问的效率直接与数据分区性能有关。因此这是具有关键性的工作,不要试图避免面对这些问题。
7.不要在没考虑业务问题前就使用OLAP
用户在亲眼见到程序前通常都不知道自己到底想要个什么样的程序。因此他们的观点有不少错误,比如他们希望分析结果会忠实反应性能度量,或者希望程序会使他们部门或公司的业务工作有所不同。而你必须跳出自己的职责范围,从IT管理者的角度考虑用户部门直至整个企业的运行方式,才能在开发过程中避免这类问题。在通常的OLTP开发中,你可以比较方便的理解业务流程。而在联机分析处理(OLAP)领域,任何事情都需要亲自考察,而在你周围工作的人也许并不会发现你对业务方面存在的误解。因此,不要自以为已经了解了足够的信息。不断的询问才能使你真正了解”业务智能”中的”业务”到底是什么样子的。
顺利开发数据仓库的七种思路
对于大多数IT顾问来说,实现一个数据仓库的难度比以前做过的任何项目难度都要大。考虑到不同的数据结构、用途以及应用程序开发方法,以前所积累的经验和技巧大部分都无用武之地了。但是只要在你的前进道路上稍加修正,你就会发现实现一个数据仓库并不是难事,就算你是第一次实现数据仓库也没问题。
下面列出了数据仓库实施过程需要考虑的步骤,有一些你可能从来没有意识到,而另一些可能已经在实施过程中使用到了,但是重新思考一番也许你会有更多的领悟。开放思维,不断尝试新的途径,找到一种可行的数据仓库实现方法。
1. 再三考虑应用程序的实现方法
数据仓库并不涉及事务处理,并且在报表方面也仅占一小部分。而数据仓库应用程序的本质是分析,尤其是针对业务智能的分析。BI并不是通常所说的数据:它是一种从旧有数据中,模型化得到的新的数据。那么如何才能从旧有数据中挖出这些新数据呢?事实上,这个工作不是让你来完成的,而是你的客户所要完成的。从项目主管的角度看,应该有一个经验丰富的数据表格设计师与你合作,进而决定如何将各类程序融合在一起。其中所遇到的最主要的挑战将是如何用新的方法观察数据,这也是你的客户正在试图使用的方法。
2.创建抽象的、良好部署的数据库访问组件
在过去你接触过的数据库项目和现在的数据仓库之间,有一点绝对不同,那就是:在Online Transaction Processing (OLTP)环境中,用户数量非常大,但使用到的数据却比较少;而在Online Analytical Processing (OLAP)环境中情况却正好相反,少量的用户在使用大量的数据。而你的工作就是编写一个应用程序来优化这种不同。这里有一个线索:在你所有的分析程序中,都要能抓取连续的数据项,这样在以后建立和访问的数据结构中才能存放与原数据物理结构类似的数据。具体如何实现呢?首先不要规格化数据。第二将其放入数组中最小化读取请求数。按照这种方法,DBA会很乐意与你合作。
3.保持松散
现在回头看看第一步,你应该可以理解定义一个分析程序不是件简单事了,而且一般情况下,很难在第一次就实现符合要求的最终产品。而在你将要进行分析的数据结构上同样存在这种问题。一句话,实现过程会有很多变数,你需要不断的改动你的程序。通常我们都希望将改动次数降到最低。在一个数据仓库实现过程中,本质是要分析过程毫无差错,这也需要DBA的参与。不要死抓住你的程序设计、代码、框图,或你建立的其它什么东西不放手,要根据这种变化而不断进行调整。
4.将管理放在首位
在分析数据源方面你做的如何呢?你是否认为清理垃圾数据的工作非常困难?并不是只有你一个人这样想,做过类似工作的人都有这种看法。在一个一般规模的机构中,作为数据仓库实现过程的一部分,会有大量的旧有数据必须进行一致性处理。所以分析数据源并花费数个小时编写转换程序将旧有数据导入数据仓库是整个数据仓库实现过程中最艰难的一部分。并且这也是整个项目中最重要的一环,可以占到整个项目周期和预算的四分之三。所以一定要小心对待。
5.从字里行间发现问题
与用户交流是个很麻烦的事情,为什么这么说呢?因为很多用户在见到最终产品前都不知道自己想要什么样的产品。定义数据仓库应用程序是一个探索的过程,而且这个过程要反复进行。记住所谓的”业务智能”是用户自己定义的,他们按照自己的理解来处理业务流程。因此这些用户就是连接数据和业务处理过程间的桥梁。他们所要的并不是数据本身,而是隐藏在数据后面的智能性。你可以让他们讨论、思考并给出建设性的意见。但千万不要让他们解决或让他们任意想象和发表那些”有可能”的观点。最后,一定要随时留意用户得出的结论。
6. 保持领先
数据仓库看起来没有传统的OLTP模式根深蒂固,事实如此。虽然很多人投身数据仓库的开发中,但由于其框架与以前的系统大相径庭,因此在开始的一段时间数据仓库的实现看上去相当混乱。但是坚持下去是很重要的。它具有两方面重要的作用。
第一,技术的领先性。它可以跟踪项目中任何阶段的软件工具的部署和正确使用,以及开发过程。如果这复合你的背景,你可以对此多加留意。
第二,体系结构的领先性。它使得项目在各个阶段转换时,数据仓库和它所支持的系统的物理以及逻辑架构都具有持续性,不会发生改变。这也是你能提供的。
7. 发出警告
最后你要记住,你并不是唯一登上新大陆的人。你周围的每一个人都会有下面一点或几点问题:不现实的期望、对技术的误解、旧习惯或坏习惯、竞争行为,或缺乏对项目的信任度。虽然交流沟通等任务应该是项目经理负责的,但实际上你也要担负起相同的责任。那么作为技术总监你该怎么作呢?首先当然是要真诚的对待周围的人,但一定要竖立威信,适当的发出警告。当你发现项目进度缓慢、资源流失,或者员工失去目标,就要直言不讳的说出来。快速明确的给予警告在大部分情况下都是明智之举。匆忙上马的数据仓库项目也许会出轨,但不要让失败的项目把你拉下马。
上一页1
2
下一页