现在科技发展中对于软件项目管理中的新工程应用特点有哪些方面,同时要如何来加强对现在软件工程的运用等等,这些是文章所要研究的方面。本文选自:《软件学报》,《软件学报》注重刊登反映计算机科学和计算机软件新理论、新方法和新技术以及学科发展趋势的文章,主要涉及理论计算机科学、算法设计与分析、系统软件与软件工程、模式识别与人工智能、数据库技术、计算机网络、信息安全、计算机图形学与计算机辅助设计、多技术及其他相关的内容。现在科技发展中对于软件项目管理中的新工程应用特点有哪些方面,同时要如何来加强对现在软件工程的运用等等,这些是文章所要研究的方面。本文选自:《软件学报》,《软件学报》注重刊登反映计算机科学和计算机软件新理论、新方法和新技术以及学科发展趋势的文章,主要涉及理论计算机科学、算法设计与分析、系统软件与软件工程、模式识别与人工智能、数据库技术、计算机网络、信息安全、计算机图形学与计算机辅助设计、多技术及其他相关的内容。
现在科技发展中对于软件项目管理中的新工程应用特点有哪些方面,同时要如何来加强对现在软件工程的运用等等,这些是文章所要研究的方面。本文选自:《软件学报》,《软件学报》注重刊登反映计算机科学和计算机软件新理论、新方法和新技术以及学科发展趋势的文章,主要涉及理论计算机科学、算法设计与分析、系统软件与软件工程、模式识别与人工智能、数据库技术、计算机网络、信息安全、计算机图形学与计算机辅助设计、多技术及其他相关的内容。
摘要:当代的软件项目管理理论似乎对开发团队的信息交流问题缺乏足够的关注,在这方面多数是强调团队合作的作用。实际上,信息交流模式存在很多内在的规律,研究分析这些因素将有利于软件项目管理工作的改进,有利于为软件业的发展提供有益的思考。
1970年Sackman对12名程序员用两个不同的程序进行试验,结果发现程序长度差别为6:1,程序运行时间差别为8:1,程序编制时间差别为9:1,程序编码时间差别为18:1,程序排错、调试时间差别为28:1。在实际开发中,软件项目开发之间存在差距常普遍的。对此通常的做法是采用内部交流,如员工培训、技术会议、讨论等方式,达到减少团队的差距的目的。
软件开发是一种有特定目标的团队合作活动,而团队只有通过有效的交流才能发挥其集体的力量。在开发活动中信息交流普遍存在,而且扮演着非常重要的角色。它协调行为,使工作同步,与团队行为方式及其效果密切相关。因此,如何有效管理和控制信息交流变得非常重要。但信息交流往往难于控制和管理:如果没有良好的管理,开发团队很容易陷入工作低效、信息混乱的境地,并导致种种负面影响工作中断、思中断、时间消耗等。调查显示,每周工作40小时的开发工程师,实际开发时间平均仅有16~18小时,其它很大部分时间消耗在人员之间的交流上。相反,一个团队的信息交流简单、通畅、损耗小,其工作往往协调一致,各种活动有条不紊。信息交流对软件开发有深刻的影响。
从狭义上讲,信息交流仅限于人与人在语言、思想上的直接交流,在广义上则包括一切信息的发送、接收、传递以及这个过程的相互作用(如引伸、扩展、缩小、曲解、联想等等)。在软件开发中,所有从自身以外主动获取信息的活动都属于信息交流的范畴;交流对象不一定是人,可以是机器、经验知识库、软件系统(如DSS)等等;但交流主体一定是人。广义信息交流在软件开发过程中极为普遍,所有任务都在特定的信息背景(专业知识、任务、计划、规范化、管理指令等等)下由各个共同完成。
强信息交流模式的特点是交流非常频繁,不仅发生在项目(包括项目经理)之间,而且发生在个人网络之问(如某与项目组以外的专家、个人进行的交流);信息交流方式表现为面对面或人与人的交流,缺少工具支持;存在很大的损耗,交流虽然活跃但处于无组织的信息混乱状态,过多的交流损耗大大降低了团队的工作效率,成为管理上的瓶颈。
5.箭头及其方向:信息传输线表示了一个典型的开发团队的强信息交流模式。可以看出,控制通道MP或Pc的信息交流相对集中而简单,但项目小组内部的交流则非常频繁,交流频度(复杂度)是n(考虑交流的双向性,n为项目的数目)。由于项目的执行核心分散到每个直接开发软件的各个项目小组身上,在强信息交流的模式下,交流频度太高导致整个小组的开发效率低下。同时项目经理M由于忙于应付各方面的交流而导致小组内部缺乏管理。因此这是一种内耗巨大的信息交流模式。大型项目往往容易陷入这种状态,这也证明了为什么大型项目更依赖于有效的管理的事实。
这个模式的信息交流非常有限,只存在项目经理与程序员之间的交流,程序员之间几乎没有信息的交流,更没有项目小组以外的支持;没有利用工具促进交流。由于缺少交流,各自为政,效率低下。项目人员缺乏管理和组织,之间存在信息交流障碍,没有内部评审小组对计划进度的严格监督,如图2所示。
上述两种信息交流模式都存在着固有的问题,但他们各有所长:强信息交流通畅无阻;弱信息交流损耗接近于自然损耗。若交流模式同时具备这两个特点,则该模式就是自然损耗的强信息交流。该模式既有强信息交流的优点,又克服了其损耗大的缺陷:一方面个体之间的信息通道非常畅通,另一方面每个个体受到来自团队内部其他的干扰大大减少。
但形成这个模式是需要条件的,存在大量的管理良好的易于获取的充分共享的经验知识库,即图3中的共享库,是其中的一个必要条件。共享库使得大量的信息可以不通过传统的交流获取,提高了信息传递的速度,降低了人与人之间的直接交流的频度。
共享库是一个关键的角色,在这里泛指一切有助于提供有效信息服务的信息集,但应排除团队本身,否则又回到强信息模式的状态。内部资料库、可以提供咨询的专家组、决策支持系统、Internet资源等等都可以成为有效的共享库。其特点是共享,可以同时提供多通道的服务。
另一方面,项目组之问必须排除个人色彩,交流通道流畅,不存在任意交流,每次直接交流都是必要交流共享库无法提供这种信息才由直接交流解决,这是强信息交流模式的一个条件,同时也是自然损耗强信息交流模式的一个条件。
信息交流模式的重要性质提醒我们:软件开发中如何避免信息交流的混乱?如何管理好团队的信息交流模式?如何降低信息交流的损耗?信息交流的三个特征模式的为此提供了有益的。
仅仅从狭义信息交流来看,软件开发的信息交流并不起眼。为了得出建设性的结论,我们必须从广义信息交流的角度来研究问题。基于此,我们认为下面四点均是软件业按照信息交流模式规律发展的证明:
计算机网络使单机向网络扩展,大大扩展了信息的方式和速度;局域网已经成为各单位的必不可少的,特别是Internet已经成为事实上最大的信息源。分布式数据库系统、邮件系统、文件传输协议、即时交流工具、搜索引擎都是基于网络的信息交流工具。这些工具使人们获得所需信息的能力大大提高。
强大的集成:普遍认为它是人们应付软件危机的产物,但从信息交流的角度来看这是软件开发工具发展的必然趋势。它代替程序员做了大量的信息获取、知识输出、信息协调、交流的工作,为降低交流频度起了巨大的帮助作用。可以预见集成开发将有更惊人的发展,而且逐步会把其他软件和目前仍然要人工来完成的工作纳入其范围,如配置管理、版本控制、更友好的联合开发、自动测试、智能辅助工具、自动化的文档管理技术等等。
软件由模块或对象组成,而模块和对象则由更多的信息单元(包括数学公式,元数据等)组成。多个信息单元可以集成为具有特定功能的更大的信息单元,使得使用信息时不必考虑更多的与目标无关的细节,从而增加信息交流的强度。这种信息单元的扩大化就是软件复用思想。早期的软件开发比较原始,基本上是完全个性化的(比如某个具体功能的汇编语句),随后逐渐出现了直接调用各种工具包、系统函数的情况,直至更正式的复用:面向对象、构件等技术的提出和应用;软件业在软件复用方面做了巨大努力,出现了不同的技术和标准,主要有OMG定义的CORBA和Microsoft公司的DCOM以及SUN公司的Java平台。复用构造了更大的信息单元,为降低信息交流的开销创造了有利条件。
驱动软件业发展的一个重要思想是共享,共享在信息爆炸时代充分体现了其优越性。没有共享,信息再多也只是一个孤岛,严重影响信息流通和交流。早期的开发工具缺少共享支持,随着软件需求的快速膨胀,出现了所谓的软件危机。为了应软件危机,出现了支持充分共享的开发平台,这些开发工具普遍出现了可视化、网络化、智能化、自动化的趋势,为共享提供了技术支持,而共享的根本目的在于交流的障碍,为实现无损耗的强信息交流模式创造了条件。
智能化一直是软件工业的一个研究热点,而且将会发挥越来越大的作用。软件开发要减少人的交流开销关键在于减少人的有意识的参与活动。机器智能可以代替人面对面的交流、教育、培训,它不受时空的,可以即时提供,可以并行工作,可以随需应变,从而大大减少直接交流带来的损耗。比如智能化的搜索引擎可以提供更好的搜索服务。
由此可以得出一个结论:追求“减少交流损耗”是软件业发展的一个内在的趋势,减少交流损耗是提高效率的重要条件。
在软件开发活动中信息不对称普遍存在。信息不对称导致的结果是之问的开发速度无法一致,只有充分交流才可以降低信息不对称性,才能加速知识的流通和。但实际上,由于信息交流的损耗问题,不允许这种交流无地发展,这就需要管理控制和工具辅助,避免并非必要的直接交流的发生,使强信息交流的损耗降低到自然损耗的水平,实现自然损耗的强信息交流模式。
信息的充分共享是强信息交流的一个条件,但也不容易做到,它需要工具的支持,因为工具支持避开了人与人的直接交流。共享库的思想在引导着整个软件业的发展,其根本原因在于共享库减少了信息交流的开销,把信息交流的模式转变为更接近于自然损耗的强信息交流模式。这些开销本身是不可避免的,但共享库利用机器智能和软件的帮助减少了这个开销。可见未来软件工业必须不断增强工具性、共享性,不断提高智能化程度。
推荐: