概述
在项目计划和选择的过程中,需要完成的首要目标是对项目进行估算。项目估算的范围涉及方方面面,例如项目或产品开发的范围 、 投入和回报 、 项目风险 、 作用和意义等。在传统软件工程方法中,是以可行性研究的方式来组织项目的主要估算内容。
可行性研究的范围可能复盖技术 、 经济 、 执行 、 环境等各种需要评估的因素,但它并不是最后的详细计划(例如:项目的时间进度及人员安排)。通常在进行可行性研究的阶段,项目的目标或产品的最终方向也是极易变化的。但可行性研究的意义在于,虽然可行性研究不能指出项目最终的详细计划和方向,但可行性研究可以在项目定义阶段用较小的代价识别出错误构思的系统,从而规避未来更多的资源投入的损失(时间 、 资金 、 人力 、 机会),或者因遭遇到无法逾越的技术障碍或环境障碍导致的不可避免的失败。
对于那些可行性研究表明可执行的软件项目来说,可行性研究的结果也不承诺系统的收益一定很大或技术风险和资源投入就一定很低,但可行性研究的结果设立了一个 “ 底线 ” ,即如果做什么,风险和收益是什么样的控制范围。这些评估结果给了未来的项目评估 、 项目风险控制,甚至在资源剧烈变化的情况下有计划有重点地削减功能 、 重定义项目开发范围,提供了非常有价值的方向性指引。
1 可行性研究的内容
可行性研究的主要内容包括经济可行性 、 技术可行性 、 法律可行性 、 执行可行性和方案的选择5个部分。
1.1 经济可行性
经济可行性主要评估项目的开发成本及项目成功后可能获得的经济收益。多数项目只有开发成本能控制在企业可接受的范围内的时候,项目才有可能被批准执行。而经济收益的考虑则非常广泛,例如:项目技术开发的直接现金收入 、 新产品在生命周期中预期的总销售收入 、 技术积累 、 对公司业务和产品线的完善和支持 、 开辟新市场和利润增长点 、 进入预期能带来较高收益的新市场 、 提高客户满意度和忠诚度 、 打击竞争对手抢夺市场份额 、 获得新的信息化能力从而改善经营或管理格局等。
1.2 技术可行性
技术可行性评估对于假想的软件系统需要实现的功能和性能,以及技术能力约束。技术可行性分析可通过 “ 提问 — 回答 ” 的方式来进行论证,包括:
(1)技术:现有的技术能力和 IT 技术的发展现状足以支持想象中的系统目标实现吗?
(2)资源:现有的资源(掌握技术的职员 、 公司的技术积累 、 构件库 、 软硬件条件等)足以支持项目实施吗?技术风险在评估的哪个范围内?(3)
目标:在目前设定的系统目标中,哪些目标会遭遇到较强的技术障碍?尤其是那些被设定为必须实现的系统目标。
由于在可行性研究阶段,项目的目标是比较模糊的,因此技术可行性最好与项目功能 、 性能和约束的定义同时进行。在可行性研究阶段,调整开发目标和选择可行的技术体系均是可用的手段,而一旦项目进入开发阶段,任何调整都意味着更多的开销。需要再次指出的是,技术可行性绝不仅仅是论证在技术上是否可实现,实际上还包含了在当前资源条件下的技术可行性。投资不足 、 时间不足 、 预设的开发目标技术难度过大 、 没有足够的技术积累 、 没有熟练的职员可用 、 没有足够的合作公司和外包资源积累等均是技术可行性的约束。
软件系统的技术评估者通常都只考虑技术手段是否能实现而忽视了当前的资源条件和环境,从而对技术可行性研究得出了过于乐观的结果,这种错误判断对后期的项目实施会导致灾难性的后果!
加强前期的项目调研 、 寻求专家的咨询以及采用具有大量成功应用案例 、 被广泛支持的技术标准和事实标准等均有助于改善项目的技术可行性。
1.3 法律可行性
法律可行性评估可能由系统开发引发的侵权或法律责任,可能包括合同的订立和条款,职责 、 侵权情况的设定,违约 、 争议的解决等方方面面的内容。法律可行性还包括国家政策和法律的限制,例如:在政府信息化的领域中使用未被认可的加密算法或未经许可在产品中使用了其他公司被保护的软件技术、构件等。
1.4 执行可行性
执行可行性也称操作可行性,它主要评估预期的软件系统在真实环境中能够被应用的程度和实施过程中障碍。例如: ERP 系统建成后的数据采集和数据质量问题,或客户工作人员没有足够的 IT 技能等。这些问题虽然与软件系统本身无关,但如果不经评估,很可能会导致投入巨资建成的软件系统毫无用处。
执行可行性还需要评估对用户的各种影响,包括对现有 IT 设施的影响 、 对用户组织机构的影响 、 对现有业务流程的影响 、 对地点的影响 、 对经费开支的影响等。如果某项影响会过多改变客户的现状,需要将这些因素作进一步的讨论并和软件系统的使用者进行沟通,提出建议的解决方法。
1.5 方案的选择
评估系统或产品开发的可选方法。一般来说,同样的项目,可以采用不同的方法来实现。甚至一个大项目的若干个子系统的实现方法也不一样。如何进行系统分解 、 如何定义各子系统的功能 、 性能和界面,实现方案不唯一。可以采用折中的方法,反复比较各个方案的成本和效益,选择可行的方案。
2 成本效益分析
效益分析实际上包含了 “ 成本 — 收益 ” 的分析。从内容上来看,效益分析是可以包含在可行性研究的经济可行性分析中的。但效益分析的目的在于,对项目开发目标的成本及可度量的项目现金收入和无形收益进行一次专门化的评估。这种以经济回报为收益的评估结果,是得到企业管理 、 决策层批准项目实施的重要因素。效益分析中的成本分析,将尽可能地列举所有项目涉及的直接财务支出数字,以便管理层协调和制订各种资源的支出计划。效益分析中的收益分析,将尽可能清晰地列举实施项目带来的各种直接经济收益和无形收益,以便管理层理解项目的价值和给予项目资源上的支持。否则,一旦项目所需要的各种资源不能按计划投入,项目失败的风险将大大增加,并且除了变更项目预设的开发目标外,几乎没有可供选择的应急方案。
2.1 项目可能涉及的成本项目的成本部分
- 基础建设支出:如房屋和设施,办公设备,平台软件,必需的工具软件等购置费用;
- 一次性支出:如研究咨询费用 、 调研费 、 管理费用 、 培训费 、 差旅费 、 其他一次性杂费等;
- 运行维护费用:如设备租金和定期维护费用 、 定期消耗品支出 、 通信费 、 人员工资奖金 、 房屋租金 、 公共设施维护及其他经常性的支出项目。
2.2 项目可能涉及的收益
项目的收益,通常可以分为一次性收益、非一次性收益和不可定量的收益三个部分。
(1)一次性收益
- 开支的缩减。包括改进了的系统的运行所引起的开支缩减,如资源要求的减少,运行效率的改进,数据进入 、 存储和恢复技术的改进,系统性能的可监控,软件的转换和优化,数据压缩技术的采用,处理的集中化和分布化等;
- 价值的增升。包括由于一个应用系统的使用价值的增升所引起的收益,如资源利用的改进,管理和运行效率的改进及出错率的减少等;其他。如从多余设备出售回收的收入等。
(2)非一次性收益
在整个系统生命期内由于运行所建议系统而导致的按月的 、 按年的能用人民币表示的收益,包括开支的减少。
(3)不可定量的收益
无法直接用人民币表示的收益,如服务的改进,由操作失误引起的风险的减少,信息掌握情况的改进,组织机构给外界形象的改善等。有些不可捉摸的收益只能大概估计或进行极值估计(按最好和最差情况估计)。
2.3 效益分析的若干指标和进一步的分析
- 收益/投资比:软件项目实施后整个系统生命期的收益/投资比值;
- 投资回收周期:收益的累计数开始超过支出的累计数的时间;
- 敏感性分析:分析项目中的一些关键性因素如系统生命期长度、系统的工作负荷量、工作负荷的类型、处理速度、设备和软件的配置等因素发生变化或进行合理搭配时,对开支和收益的影响最灵敏的范围估计。通常当项目需要在不同因素之间取舍和调整的时候,需要参考敏感性分析的内容。
3 可行性分析报告
在国家标准 GB8567-1988 中,规定了可行性分析报告的详细格式和内容。这个规范文本基本上涵盖了可行性分析需要考察的问题,可作为书写可行性研究报告的参考文档模板。
不管可行性报告的形式如何,最重要的内容应当有以下几项。
- 项目背景:包括问题描述、实现环境和限制条件;
- 管理概要和建议:包括重要的研究结果、说明、建议和影响;
- 候选方案:包括候选系统的配置和最终方案的选择标准;
- 系统描述:包括系统工作范围的简要说明和被分配系统元素的可行性;
- 经济可行性(成本/效益分析):包括经费概算和预期的经济效益;
- 技术可行性(技术风险评价):包括技术实力、已有工作基础和设备条件;
- 法律可行性:包括系统开发可能导致的侵权,违法和责任等;
- 用户使用可行性:包括用户单位的行政管理,工作制度和使用人员的素质;
- 其他与项目有关的问题:例如,其他方案介绍和未来可能的变化。
可行性研究报告首先由项目负责人审查(审查内容是否可靠),再上报给上级主管审阅(评估项目的地位)。从可行性研究报告中应当得出“行或不行”的决断。
最后
以上就是花痴黑米为你收集整理的系统架构设计笔记(30)—— 可行性研究与效益分析的全部内容,希望文章能够帮你解决系统架构设计笔记(30)—— 可行性研究与效益分析所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复