• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

评估软件项目的经济价值

发布: 2008-6-17 16:30 | 作者: 不详 | 来源: Patrick McKenna, 高级技术顾问, IBM | 查看: 136次 | 进入软件测试论坛讨论

领测软件测试网

Baldwin和Clark12似乎是最早发现模块化在(计算机系统)设计中的价值可以作为选项被建模的人。他们做了一个统计上的假设:一个已有模块的独立开发部件的价值是呈正态分布的。

今天,基于选择性模型的软件工程过程正在变得更易于理解。13例如,Boehm和Port引用Parnas提出的“为变化进行设计”和“信息隐藏”方法:

例如,Parnas信息隐藏模块概念的提出是基于如下的基本原则的:一个软件系统的生存周期的大部分成本来自悬而未决的变化[Lientz-Swanson, 1980]。一个系统如果要创造价值,一次增量的成本应与它产生利益呈正比;但是如果系统设计没有考虑到变化,变化的成本(重写代码)将与利益不成比例[Parnas, 1972]。信息隐藏模块化是为变化进行设计的关键。因此在我们能正确预期变化的前提下,为变化进行设计就成为了最大化价值的策略。尽管这是一个巨大的启发,我们还缺乏足够的连接这一技术概念与给定条件下的价值创造的模型。14

更进一步地,Dean Johnson et al. 指出,对于未来市场方向的不确定性可以通过在项目早期把模块(比如,一个可移植层)设计到应用中进行管理:

包含这样一个层涉及了额外的早期开发成本。尽管如此,它可以省钱,或通过允许设计者迅速做出变化而不是重写大量代码在后面的开发阶段创造价值。我们使用不动产选项方法来估计这种可移植性带来的灵活性的价值。敏感性分析被用于检验可移植性价值和一些因素的变化之间的关系,这些因素包括应用程序不得不重写的可能性,期望的应用程序寿命,以及未来重开发的成本,等等。15

在IBM developerWorks,2005年8月刊中,“面向服务的敏捷性:成功的面向服务构架 (SOA)的开发方法,第二部分:如何混合油和水”16一文的作者在他们的“原则3:尽可能晚地做决定”中引用了可以作为一个成功的SOA开发的“灵活的”不动产选项方法:

尽可能晚地做出决定意味着保留服务接口细节开放,直到获得对它们的清楚描述,而不是假装知道一切。这迫使开发团队频繁地与公司其他部门进行同步,这导致了更好的服务模型。

作者在“定型的经济模型”一节中明确提及“基于选择权的软件经济”:

从传统上来说,软件开发被视为消耗性活动。近期以来,软件开发渐渐被视为产生能帮助利用经济选择性的效益的活动。基于选择性的软件经济可与金融市场进行类比:发布可被视为不动产选项的运行软件的短迭代。和金融选择性一样,实物期权提供了这样一种好处:你可以有机会通过现在投资一点在不确定的未来有所收益。但是并不需要多复杂的操作:如果你建立一个简单的契约经济模型并用它驱动开发决策,即时一个SOA契约也会获利。手头有了经济模型的时候,团队成员就有能力自己确定商业中的重要因素:它们都来自相同的假设。如果你考虑消除一些特性,你的市场部可能会推算说没有这些特性他们的销售量将会降低“X”个百分点。17

灵活性被植入由RUP描述的迭代方法中。实际上,RUP迭代可以看作有计划,发布,和评估的“迷你项目”。它们还可以从价值和商业的角度被视为保持软件设计进行,同时计划和估计不断精确,不确定性减少的“迷你投资”。换句话说,迭代开发引入了拖延的优点,同时管理了与它相关的错过市场机会的风险。

多年来,RUP已经发展为一个过程工程平台,现在称为IBM Rational Method Composer。RMC使得团队能够定义,配置,调整和实践一个持续的软件开发过程。一个RMC发布过程提供了一个完整的生存周期模型,该模型包括了被细化的在方法内容中的工作分解结构(WBS)。软件设计人员可以创造并把他们的过程作为一个过程网站发布,或者作为一个工作分解结构输出到 IBM Rational Portfolio Manager 。

然后项目经理可以执行项目并使用各种生成价值度量跟踪项目,同时 IBM Rational Portfolio Manager 可以评估投资度量,比如NPV,IRR,以及 IBM Rational Portfolio Manager 工具集的项目组合仪表特性的总利润。

创造可持续价值

IBM为软件项目评估提供的工具和方法本身并不能创造价值,但是它们可以帮助客户理解哪些项目可以为他们的生意创造可持续价值。有了这一观念,项目经理和商业领导人就可以使他们的项目更具灵活性和可适应性,这将为整体软件项目组合增加价值。

为了合理分配资源以产生有竞争力的第一步,软件开发经理需要方式,方法,和语言来评估项目的经济价值。外行人比如客户,投资者,涉众,和审计员通常会认为重要的商业决定是基于合理和可靠的评估方法的。

使用IBM Rational产品的从业人员可是采用诸如NPV和IRR的技术来评估软件的经济价值,采用基于COCOMO II的算法来评估工作量。更进一步,他们可以在Rational统一过程中,Rational Method Composer和 IBM Rational Portfolio Manager 的使用中采用软件开发原则和实践来为他们的客户创造价值,同时管理成本,风险,以及他们自己的产品的上市时间。

文章来源于领测软件测试网 https://www.ltesting.net/

65/6<123456>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网