技术开发 频道

软件经济学 智慧的管理软件交付

【IT168 专稿】    2009年8月18日,一年一度的软件开发盛会——2009 IBM Rational软件高峰论坛(2009 Rational Software Conference,RSC)在北京盛大召开。细心的人们会发现,与往届Rational软件开发高峰论坛(Rational Software Development Conference,RSDC)不同,本届Rational大会的缩写从RSDC变身RSC,去掉了Development的D。没错,这正是本次Rational大会所要传达的思想:从以工程技术主导的软件开发到以经济因素主导的软件交付。在本次大会上,IBM率先提出“软件经济学”理论,强调企业应该从经济角度衡量投入与产出,以此指导软件开发中各项工作与资源的配比,以获得非常好的的投资回报率(ROI)。

2009 IBM Rational软件高峰论坛 主题:开发“真”精彩

    IBM Rational软件高峰论坛的前身是一年一度的IBM开发者大会(IBM developerWorks Live! China)。从2000年开始,每年11月间,这一国内开发人员的盛会都会在北京和上海之间轮流举行,会议主题都是当年最热的技术或趋势。从2006年开始,IBM开发者大会以“RSDC”的名字出现在北京大学百年纪念大讲堂,此后每年RSDC大会都会如期而至,内容涵盖从需求分析、设计架构、质量保证,以及变更与发布管理的全方位软件开发过程,大会主题则从整合到协作,直至今年RSC的软件经济学理念。

    软件经济学提升软件价值

    RSC 2009大会上,IBM发布了名为《提升软件经济》(Improve Software Economics)的白皮书,该白皮书的作者正是IBM公司Rational软件服务副总裁Walker Royce。他所提出的“软件经济学”理论,是一个不同于以往“软件工程学”的新理论。该理论试图从经济角度,将软件投资与业务战略相结合,让软件投资符合业务的优先级,以提升项目的成功率。

    一直以来,软件项目的日常决策都会受到价值评判、成本权衡、人力因素、宏观经济趋势、技术趋势、市场形势和时机等传统经济因素的制约。和任何一项经济活动相同,软件开发的目的是交付产品,创造价值。因此,软件生产不仅是一项高技术含量的工作,更是一项需要考虑成本因素的复杂系统工程。而现存的软件工程知识体系过多地关注软件技术细节,对技术标准和价值创造之间的关系并未给予重视和明确说明。随着软件交付在企业中的地位日趋重要,传统的“软件工程”原则无法再为企业带来更多竞争优势。

     如果说“软件工程学”关注的是流程,那么“软件经济学”则更加关注结果。越来越多的团队开始使用“软件交付”(software delivery)来代替“软件开发”(software development)。从开发到交付的微妙差异,象征着管理理念的重大变革——从关注项目过程到关注项目目标——完成交付结果的开发活动。换而言之,以“软件开发”为导向注重的是在开发过程中涉及的多种活动,而以“软件交付”为导向则侧重于开发过程的最终结果。是的,软件交付,没有人关心你在开发过程中是怎样的,人们关心的是你能否交付出一个好的产品供人使用。基于结果的软件管理,最终目标是使用有限的资源达到更好的结果,经济因素已然抢占技术的主导地位。

表1:传统工程导向软件开发与经济主导的软件交付的区别(摘自白皮书《Improving Software Economics》)

软件开发:工程技术主导型软件交付:经济因素主导型
区分出不同开发阶段持续改进的系统
区分开发团队到维护团队适用于开发和维护工作的常用流程、平台和团队
一系列分明的、按顺序进行的工作:从要求、设计到代码,再到测试、运营一系列价值不断提升的可用功能
针对各阶段和角色的流程和工具包含集成工具和流程的协作平台
并列团队遍布全球各地的基于Web的协作
尽早完善计划和要求随着不确定性的消除而不断提高的准确度
通过测量生产情况和活动完成情况实现治理通过测量增量成果和流程/质量趋势实现治理
工程规范:准确制定全部要求/计划,随后追踪静态计划的进度和范围经济规范:减少不确定性,管理变量,衡量趋势,通过持续不断的目标协商实施调整和控制

    为了成功地实现交付,“软件经济学”关注软件开发中价值的判定、成本的权衡、人性的因素、宏观经济趋势、技术趋势以及市场状况和时机。它力图更好地挖掘经济目标、系统规定参数、内外部条件和软件开发技术之间的关系,来提升项目、企业、行业乃至国家的业务价值。而软件工程学不再适应软件开发的原因也在于此——源自传统行业的工程管理理念无法解决软件开发这一服务产业业务灵活多变的特点。

0
相关文章