前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的敏捷的项目管理主题范文,仅供参考,欢迎阅读并收藏。
关键词:关键链项目管理;敏捷软件开发;进度管理
前言
随着软件行业的深度发展,软件开发项目的复杂性大大提高。软件项目开发中的需求变化性较强,开发的资金、技术支持等条件不断变化,导致传统的软件开发项目管理方法已经不能满足日益进步的开发需求。基于关键链项目管理思想的敏捷软件开发就是在这一大背景下产生的,敏捷开发能够实时根据需求变更改变开发进度管理,注重人才价值与软件价值的互通,注重团队合作,注重与需求方客户合作,所以越来越多的软件行业、企业与开发团队开始采用这种软件开发模式。
1 基于关键链项目管理的敏捷软件开发项目现状研究
1.1 关键链项目管理综述
关键链项目管理提出于1997年,是根据项目管理发展状况将项目管理中的约束理论与实际管理工作实践相结合所提出的创新型的、适用性较强的管理模式,对各行业的项目管理工作都能起到很好的推广和借鉴作用。[1]关键链项目管理法通过对项目的进度计划及约束项目管理因素的分析,合理调度项目计划中的全部资源,消除影响项目进度的约束性因素,减少不合理的工作计划对项目本身的影响,集中管理项目时间进度,控制项目整体进度。关键链项目管理是一种新型的管理模式,包含科学的项目进度管理方法及项目整体资源的合理调配方法,既能满足项目发开中进度计划的需求又能保证项目目标的完成,同时又能有效的解决项目进行中影响项目进度的风险性因素,这些有效的项目进度管理方式都给敏捷软件开发项目提供了很好的管理参考。
1.2 敏捷软件开发项目的现状
我国的敏捷软件开发项目由于起步晚,缺乏实践经验,正处于探索研究阶段,其过程中必然出现很多问题。其中,造成敏捷软件开发项目管理出现问题的最重要缺陷因素就是项目进度的管理,体现在以下几个方面:第一,忽略外界因素对项目开发进度管理的约束性因素。[2]敏捷软件开发是一个涉及面广,复杂性高的项目工作,很多外界因素包括资金、技术、资源、人员等都会对项目进度造成重大影响,而现在的敏捷软件开发项目并没有对其产生足够重视。第二,约束因素问题得不到有效解决。制约敏捷软件开发项目进度的因素有很多,在得不到重视的情况下解决问题变得更加困难,这就大大延长了项目的工期,同时又带来了新的不可预计的影响因素出现的风险几率。第三,对项目参与人员的主观能动性重视不足。主观能动性不强,工作态度不积极,缺少创新思考,缺乏解决问题的创新思路,这些都会大大延缓项目的进度,拖慢项目工期,使得敏捷软件开发项目整体失败。
2 基于关键链的敏捷软件开发项目进度管理建议
2.1 改变管理模式
敏捷软件开发项目环节多,项目运行复杂,因此要改变旧式的分散管理模式,将成本管理、资源管理、风险管理及进度管理进行集中控制,做到管理统一。这样有利于项目成本的节约,项目资源的合理调配,项目风险的有效控制,保证项目的正常运行并顺利完成。[3]在做到集中管理的同时要侧重项目进度管理,对项目进度管理保持高度的重视。因为项目进度管理是整个敏捷软件开发项目的重点工作,各种因素都会对项目进度产生严重甚至决定性的影响,只有侧重项目进度管理工作,保持高度重视才能保证项目进度的顺利完成,避免项目延期甚至项目失败的情况。
2.2 合理调配项目资源
敏捷软件开发项目进度的管理离不开项目资源的支持,其中最重要的就是资金、技术及人员的支持。资金支持不及时会导致项目进度的拖延;技术更新支持不及时会拖慢甚至暂停项目进度;管理人员及技术人员落实不到位会严重影响项目的整体进度,给敏捷软件开发项目的进度管理造成极大困难。所以,要合理调配项目资源,将整体项目的资金、技术、人员更多的投入到项目进度管理环节,保证项目进度的良好进行进而保障敏捷软件开发项目的顺利完成。
2.3 及时处理约束因素
在敏捷软件开发项目的进度管理中要及时解决制约进度的各种因素问题,避免因项目资金、技术、人员、管理等项目资源的匮乏问题产生的进度滞后现象。出现影响项目进度的因素必须加大各种资源的投入,及时解决,保证项目进度。同时,问题的解决方式要在尽量满足项目进度的前提下寻找针对性的或者可替代性的解决方法,杜绝因困难问题难以解决而进行进度计划修改,保证项目进度,更好的做好项目进度管理工作。
2.4 发挥人员主观能动性
在敏捷软件开发项目进度管理工作中要重视人的作用,激发其工作积极性与创造性,解决敏捷软件开发项目进程中的技术难题及工作适应性问题,丰富项目的人员、技术资源,保障项目进度的按期进行甚至因技术创新、管理有序而提前完成项目工期任务。
3 结束语
关键链项目管理是一种先进的项目管理模式,能够为项目的正常运行直至顺利完成提供管理保障。基于关键链的敏捷软件开发项目进度管理,要做到侧重进度管理,及时解决阻碍进度管理工作的资源问题,合理调配项目资源,保证项目进度管理工作的顺利进行,进而保障项目的顺利完成。同时要结合实际情况,对敏捷软件开发项目进度管理进行科学合理的调整,保证项目完成的高质、高效。
参考文献
[1]胡丹.基于关键链的敏捷软件开发项目进度管理研究[D].浙江工业大学,2013.
[2]张雪娇.基于关键链技术的敏捷软件开发项目管理研究[D].华中科技大学,2011.
[3]杨光.软件开发项目进度管理模型构造与系统仿真[D].北京邮电大学,2009.
关键字::敏捷项目管理;敏捷;KANBAN
互联网运维项目专门面向互联网数据中心和云计算服务平台,项目范围包括数据中心容量和性能提升、设备替换、技术改造、产品部署等等。由于互联网运维项目的独特性,很多企业仍然沿用传统瀑布式的项目管理方法,无法快速交付高质量的运维项目。如何提升互联网运维项目管理的整体水平,对敏捷运维项目管理的方法论研究和实践的重要性就不言而喻。
互联网运维项目的敏捷项目管理方法研究
KANBAN(看板)是敏捷的一种方法论,是一种敏捷的变更管理方法。目前它被用于最广泛地管理 IT支持和维护工作。也更适合于有一个恒定的正在进行的工作流程的IT部门或互联网运维中心,而不是项目的可交付成果。
KANBAN的核心是要赋予项目团队管理工作量,定期交付业务价值,团队要提交真正可以交付的工作:不多也不少,KANBAN也是一种时间驱动器,来管理任何点的工作 (WIP,working in process)。如果业务要求解决更高优先级的工作,利益相关者必须确定当前的哪些工作可以腾出足够的人力资源来满足高优先级业务需求。同样在开放 的WIP 队列中,团队和利害关系方可以确定应该专注的下一步的最高优先工作。
KANBAN也是组织和团队解决工作瓶颈,克服障碍,以及持续改善的文化,最大限度地提高他们的生产力。看板让项目团队基于部门的具体要求建立审查周期和释放时间。为了适应敏捷文化,许多从业者也已经开始使用混合的方法,如结合SCRUM的KANBAN,将有效的敏捷实践,如每日站立会议,也吸收进KANBAN。
互联网运维项目的敏捷项目管理方法实践成果
在经过对敏捷KANBAN方法论的研究和多个项目进行实践后,作者本人作为云服务运维项目经理就开始和团队一起进行了实践,成果分享如下:
第一, 敏捷KANBAN项目管理方法最适合互联网运维项目
我们云服务项目团队在KANBAN实践过程中吸收了SCRUM思想。管理方法以KANBAN为主,SCRUM为辅,主要以KANBAN搭载互联网运维工作流程,同时采用SCRUM敏捷框架中的3个角色(PO,Team member,SCRUM Master)。
使用KANBAN方法符合了互联网运维项目的多种特征,完全包容了具有高度依赖性和突发性特征的运维项目工作,是精益现场工作管理方式的又一种行业应用。另外KANBAN所搭载的工作流就如水流一样,要向前不停流动。项目团队所追求的就是水流的速度越来越快,水流的管道越来越粗,其实也就满足了运维项目的业务目标和客户价值需求。同时KANBAN方法里面的工作项有优先级排序,有交付物验收和质量要求,并不仅仅是追求项目速度和交付物数量。
使用SCRUM的思想主要是体现敏捷思想的价值观,期望每个成员在信任、开放、尊重、承诺的意识下积极主动的工作。我们在实践中的KANBAN也有daily standup meeting,每天或适时的进行多个项目的状态同步和问题同步,会后进行问题分析和解决应对。并且项目经理与团队一起确认工作的轻重缓急,实时协调人力资源,把人力集中在优先级最高的任务上。
第二,互联网运维项目使用的敏捷KANBAN工作板
我们知道,吸取了SCRUM敏捷思想的KANBAN项目管理方法,最直接的体现方式就KANBAN工作板,我们云服务项目团队的KANBAN工作板如图所示。
横轴是互联网运维项目工作流,任务从左向右流动,大的流动过程分别是:计划好的项目任务清单,任务文档和设计准备、任务实验室阶段完成、任务在产线阶段实现、 任务Done。竖轴是按照优先级排序的并在进行中的工作任务(WIP)。竖轴的WIP容纳多个运维项目任务便签条,并且用不用的便签条颜色来区分不同的项目。每个便签条有3项内容:任务描述、任务拥有人、交付物开始日期和期望的结束时间。最下面放的是任务库存。右下角是多个项目在一年之内的路线图。
接近1年的敏捷KANBAN项目管理实践后, 团队的凝聚体不断提升,项目效率和质量也明显提高,同时也大大提升了项目交付度和满意度。
结语
互联网运维项目本身具有工作清晰性、变化随时性,协调复杂性的特征。为了能够最大化的避免运维项目的失败,提升项目的效率和质量,让运维项目走上成功之大道,那我们就要未雨绸缪,以正确理念为指导,使用正确的敏捷项目管理方法,正确建立项目团队,恰当使用资源,做好项目监控。只有这样,才是企业互联网运维项目管理良性发展的重要保障。
参考文献:
[1]罗伯特・K・威索基.《有效的项目管理(第五版)》.(美)电子工业出版社,2012
【关键字】软件工程;热点问题;探索
目前,人类已经进入了信息社会的阶段,软件工程在计算机科学中竞争激烈,是处于前沿的学科。文章主要在目前的软件工程中,分析其热点技术及难题,并阐述其发展方向与研究现状。
一、软件工程的发展历程
计算机硬件技术在二十世纪末得到了广泛的应用发展,为微电子计算机的推广打下了坚实的基础,而计算机软件技术也应运而生。那时生产的软件有着作坊式、个体化的特征,单一的开发平台,落后的开发工具,具备较差的程序设计语言功能。特别是在软件维护工作方面,损耗巨额的物力、人力与计算机资源,不少程序具有编写者的个性化特征,使其难以得到维护与修改。有的甚至放弃原来的计算机系统,对新软件重新编写。此外,各类软件的结构及规模差异性大,很难对软件进行全面的维护,提高了软件开发的成本。这种滞后的软件开发工具、开发技术与生产方式落后的条件和飞速普及的电脑应用及对软件与日俱增的需求导致了不可调和的矛盾,导致形成了“软件危机”。
当前,软件工程已经发展了五十多年,逐步深入到社会生活的各个方面,应当说,当代生活社会,基本上在每一个方面都关系到软件工程。
二、软件工程的研究热点及现状
软件工程的热点问题伴着软件技术的发展而随之变化的。即使在软件工程的内部领域,研究的热点区域也处在变动之中。软件工程的建设队伍将由两部分构成,部分人是做软件评估,另而另一部分人做的是软件集成,主要是对软构件进行集成。
近年来软构件的应用也慢慢兴起。在一些公共的应用方面,比如说软件的初始化界面,通用软构件的应用较为广泛。但是,在各行各业的专业领域应用方面,软构件的研发及推广在我国仍属于空白。这一工作的推行,首先是表明了各行各业对该专业领域中的知识形态予以分析归类,并通过最新软件的形式进行描述。假如这个全面展开这个工作,将会是一个浩大规模的系统工程,亟需各行各业的软件专家与领域专家全力协作方可完成。
在开发软件的过程中研发者开始应用与研发软件工具,以便对软件项目管理与技术生产进行辅助,研发者还把软件各阶段的生命周期使用的软件工具机动性地整合为一个团体,构成可以持续性地支持软件维护和研发整个过程的集成化软件环境支援,以便从技术与管理两个维度解决软件危机的问题。
三、软件工程的发展趋势
(一)需求工程渐成热点
需求工程将成为软件工程发展的热点,当前业务创新日益复杂,同时分工更加专业化,区域组织的全球化以及互联网级的交付速度,这些均对获取需求的准确性及有效性提出了进一步的要求,其中Use Case技术(用例分析,也就是尝试通过分析类来在理想状态下完成用例)将会被大大的推广应用,而有关工具的研究也会变成热点(如IBM Rational Requirements Composer,,Ravenflow等)。
用例的优点在于它本身是未知的,它使用的是自然语言对用户与目标系统的交互进行抽象,防止了混入设计、分析与完成细节,来确保用例能够被不明白具体技术的测试人员和业务人员所真正掌握。此外,需求分析员又能够便捷地经由用例分析,把需求体系精简为分析的模型。在这一进程中,需求分析员能够更进一步地建立起基于用例的需求体系,而不用担心分析模型会对需求造成干扰,进而达成分析和需求的隔离及高效互动。
(二)基于领域的构架(DSSA)与模型驱动的开发(MDD)
伴着软件应用的发展和成熟,软件已经不再是以往的把手动流程自动化的要求,而渐渐变成业务创新的重要促进力量。所以,导入捕获指定领域内最先进需求及其实现架构的DSSA变成行业客户的关注重点之一。此外,DSSA的导入将大大降低模型驱动的开发(MDD)的门槛,也使得基于DSSA的MDD支撑工具变为了可能,进而能够大大地促进开发效率并确保软件的质量,譬如,Telelogic的Rhapsody就为一个成功的基于实时嵌入式系统构架的MDD工具。
(三)迭代/敏捷渐成标准
伴着越来越快的软件交付的周期,迭代化开发渐渐变成大多数软件开发团队的关注热点。同时,迭代对整个团队的架构、需求、测试能力及协同均带来了较高的要求,目前不少开发团队均在尝试在软件开发中导入迭代化开发的过程,敏捷目前被当作是迭代化开发的一种导入方案,而敏捷的使用范围其实比迭代化开发更加广大。敏捷的三个要素为坦诚合作、迭代开发与自适应性。而敏捷的核心即为坦诚合作,如不少软件工程师所言,敏捷实质上是与Social Engineering相关的。敏捷的重大作用在于它更多地考虑到了怎样去激起开发人员工作的热情,这是在软件工程过去几十年发展过程中没有被重视和开发的领域。
(四)持续集成蓄势待发
确保迭代化开发质量的主要条件之一为持续集成,经由持续集成能够利用自动化的形式来尽可能自主地、尽快地确保代码的质量。伴着敏捷与迭代的发展,相关的持续集成工具变成目前市场上新的发展趋势(如持续集成框架IBM Rational BuildForge, 开源软件CruiseControl,代码静态分析工具Klocwork Insight,IBM Rational Software Analyzer等)。
持续集成为一项复杂的系统工程,组织首先亟需把目前的配置管理/变更管理工具与Build环境紧密集成,并达到自动化Build过程,再依照企业/项目/产品的状况,定义怎样自动化地对软件质量进行检测(单元测试、代码静态分析或冒烟测试),并确定所需的自动化生成的管理报表。
(五)基于实践的过程框架方兴未艾
开发角色的专业化的与分布的全球化均需要软件开发过程愈加规范,而敏捷又指出过程一定紧密符合项目的实际需求,而以为传统的大一统的过程难以满足这个需求。新一代的过程将是以实践为重点的,项目可以经由组装所需的不同实践来得到贴近项目所需的过程。当前,逐步求精式的过程改进已经成为了可能,对于一个软件组织来说,倘若已经成立一个较为成熟的软件开发过程,但认为这一过程并不符合所有项目的实际需求,那么当前能够考虑的是用实践的方法去重新组织现有的流程,以便项目组能够通过实践为单位来达成符合项目实际的流程。此外,该组织也能够把适用于本组织的业界流行的实践引入到现有的流程当中。
参考文献:
[1]尹峰. 软件工程的若干热点技术发展现状与展望[J].长沙大学学报,2006(09).
世界五大软件开发教父之一的Matin Fowler认为,当前只有敏捷的软件开发模式才能够使IT跟上业务变化的脚步,只有敏捷的开发模式才能使软件实现快速交付的同时又能成为一个高质量、低成本的软件。
敏捷开发作为一个新的软件开发模式的新名词,其中蕴涵着无限的商机,同时,也是对中国软件企业的一次严峻的考验。对于起步远远滞后于西方的中国软件业而言,各种提高软件开发速度及降低软件开发成本的方式和措施都是值得探讨与借鉴的。笔者认为敏捷开发模式对于中国的软件企业正是一个行之有效的开发方式。
问题缠绕软件开发
软件开发过程中问题多多,这不是新发现。早在上世纪60年代,北约(NATO)就提出了软件危机这一概念。在《人月神话》一书中,软件开发则被喻为让众多史前巨兽痛苦挣扎,却无力摆脱的焦油坑。随着需求和应用的日趋深入与复杂化,软件开发的难度和遇到的问题以几何级数形式增长,焦油坑也由此变得更深、更大。
复杂程度高、开发周期长、结果无保证,这是软件开发的通病。针对这些问题,人们创造了N种方法,并由此产生了软件工程学。而在实际工作过程中,软件开发的多变性和不可控制性,仍可轻易摧垮项目开始时项目组苦心经营的开发体系和方法,无论是业界公认的需求、变更、人员流动,还是各种看起来并不起眼的小事件。
以人为本的敏捷开发
敏捷开发(Agile Software Development)是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,就如同项目管理中将工作任务及工作目标层层分解一样,把软件项目的构建切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。简言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
通过上面的定义可以看出,敏捷开发其实借鉴了大量软件工程中的方法。是传统软件开发意义上的改善,而非创新。例如在传统的软件开发中,把设计和构建这两个过程分开进行,设计完成之后,再按照设计构建。
实际上,由于需求在不断变化,因此在软件开发的过程中,很难把设计和编程完全区分开来。而在敏捷开发中,先搭建一个比较粗的主构建框架,只对用户目前感兴趣的部分详细开发,并很快交付使用,在使用过程中,按用户的需求进行叠盖修正,周而复始,循序渐进的开发软件产品直到完成。
正如ThoughtWorks的首席科学家Matin Flower所说:“在敏捷软件开发的过程中,我们每两周都会得到一个可以工作的软件,这种非常短的循环,使终端客户可以及时、快速地看到花钱构建的软件是一个什么样的结果。”因此敏捷开发也可理解为在原有软件开发方法基础上的整合——取其精华,去其糟粕。
敏捷开发的特点
敏捷方法主要有两个特点,这也是其区别于其他方法,尤其是重型方法的最主要特征:
敏捷开发方法是“适应性”(Adaptive)而非“预设性” (Predictive)。
这里说的预设性,可以通过一般性工程项目的做法理解,比如土木工程,在这类工程实践中,有比较稳定的需求,同时建设项目的要求也相对固定,所以此类项目通常非常强调施工前的设计规划。只要图纸设计得合理并考虑充分,施工队伍可以完全遵照图纸顺利建造,并且可以很方便地把图纸划分为许多更小的部分交给不同的施工人员分别完成。
然而,在软件开发的项目中,这些稳定的因素却很难寻求。软件的设计难处在于软件需求的不稳定,从而导致软件过程的不可预测。但是传统的控制项目模式都是试图对一个软件开发项目在很长的时间跨度内做出详细的计划,然后依计划进行开发。所以,这类方法在不可预测的环境下,很难适应变化,甚至是拒绝变化。
与之相反的敏捷方法则是欢迎变化,目的就是成为适应变化的过程,甚至能允许改变自身来适应变化。所以称之为适应性方法。
敏捷开发方法是“面向人” (people oriented)而非“面向过程”(process oriented)。
Matin Flower认为:“在敏捷开发过程中,人是第一位的,过程是第二位的。所以就个人来说,应该可以从各种不同的过程中找到真正适合自己的过程。”这与软件工程理论提倡的先过程后人正好相反。
在传统的软件开发工作中,项目团队分配工作的重点是明确角色的定义,以个人的能力去适应角色,而角色的定义就是为了保证过程的实施,即个人以资源的方式被分配给角色,同时,资源是可以替代的,而角色不可以替代。
然而,传统软件开发的这些方法在敏捷开发方式中被完全颠覆。敏捷开发试图使软件开发工作能够利用人的特点,充分发挥人的创造能力。
敏捷开发的目的是建立起一个项目团队全员参与到软件开发中,包括设定软件开发流程的管理人员,只有这样软件开发流程才有可接受性。同时敏捷开发要求研发人员独立自主在技术上进行决策,因为他们是最了解什么技术是需要和不需要的。再者,敏捷开发特别重视项目团队中的信息交流,有调查显示:“项目失败的原因最终都可追溯到信息没有及时准确地传递到应该接受它的人。”
敏捷开发的问题和思考
虽然敏捷开发是个行之有效的软件开发模式,但是任何模式和方法的建立都是基于理论的基础,往往和现实的情况存在差异,这样就会对软件企业操作及执行带来很大的困难,甚至是误导。所以,仅仅提出敏捷开发的模式是不够的,对敏捷开发的议题的讨论并没有终结。下面仅就笔者理解基础上提出一些问题的参考。
项目内部协调的困难加大
敏捷开发要求将大项目分解成为很多小项目,这样虽然易于考察、易于管理和易于控制,但是这样也带来了项目内部各个小项目协调问题。对于各个小项目的执行,人员分配及其他资源分配的冲突及进度的冲突是最主要的冲突,而且这些冲突如果解决不彻底,将会对整个大项目带来难以预测的负面结果。
对管理水平的要求提高
敏捷开发的问题最后就是管理的问题。这和很多软件企业重技术轻管理的做法是截然相反的,企业的这种心智模式一方面是源自管理人才的缺乏和项目组成员对管理制度的排斥;另一方面则是因为现行规范和管理制度与实际工作中的不合拍。从这一层面而言,敏捷开发对管理水平要求提高对软件企业领导者的观念是一种挑战。
对执行力的要求
任何理论只有落到实处,才能为企业为社会创造财富。这是永恒不变的道理。敏捷开发模式需要经验丰富、配合良好而又异常稳定的项目组、积极而富有成效的沟通、良好的管理手段和流程、有效的工具与平台,只有满足这些条件我们才能实现敏捷开发模式带给我们的益处。
敏捷开发的出现,同样让以人为本还是以过程为本的争论上升到了理论层面。在敏捷开发过程中,人是第一位的,过程是第二位的,所以就个人而言,应该可以从各种不同的过程中找到真正适合自己的过程。这与软件工程理论提倡的先过程后人正好相反,因而被不少人戏称为对工程学原理的叛逆。
敏捷方法对需求不确定或常常变更的情形是有效的。但是,没有哪一种开发方法是适用于所有项目开发的,正如上文所说,敏捷方法给传统软件开发带来了一种新的思路和开发模式,但也给企业带来了软件研发项目管理开发过程的整合困难。
所以,在实际开发过程中,需要根据实际项目的需要选择合适的开发方法,并尽最大可能发挥人的创造性和潜能,利用不同人的不同特点,充分沟通,这才是在敏捷方法中真正需要学习的。
关键词:DevOps 开发与运维 DevOps软件开发流程
中图分类号:TP311.52 文献标识码:A 文章编号:1007-9416(2016)11-0184-04
1 引言
1.1 DevOp概念
DevOps(Development和Operations)是一个关于组织文化、自动化、持续监控与共享等各元素的集合。是软件开发、运维和质量保证三个部门之间进行沟通、协作的流程、方法和体系。它源于2009年欧洲传统IT模式的运维之痛,为了填补开发与运维之间的鸿沟,将开发、运维与测试联合在一起。专家们曾经总结出一个能力环来解释DevOps的概念,如图1所示。
DevOps能让开发团队以同样的方式操控他们的开发环境、测试环境以及生产环境,并且任何时候都能将数据包部署到任何一个环境中。DevOps从软件交付的全局出发,加强各角色之前的合作;同时,自动化减少了大量的手工操作和人机交互,因此,需要选择那些支持脚本化、无需人机交互界面的强大管理工具。这些工具和程序涉及环境中的各种函数,而这些函数包含不同领域的专业知识,并且可以根据组件中出现的问题以不同的方式运用。考虑到各种函数复杂性,根据它们的作用建立一个框架来将它们形象化并分成不同的种类将会很有帮助。在DevOps环境下,将全局系统的视角运用到一个高层次的模型中,将在应用、操作系统服务、网络服务、数据库四个层面产生核心变化[1]。
1.2 DevOp优势
传统的瀑布开发模型由温斯顿・罗伊斯(Winston Royce)在1970年提出,一直是最被广泛采用的软件开发模型。瀑布模型核心思想是将功能的实现与设计分开,将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。它为项目提供了按阶段划分的检查点,但缺点也显而易见――即只有在项目生命周期的后期才能看到结果,且极不适应需求的变化[2]。
于是新的理念应运而生――敏捷。敏捷开发是针对传统的瀑布开发模式的弊端而产生的一种新的开发模式,目标是提高开发效率和响应能力。以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。
然而单单敏捷开发也并未解决开发与运维之间的鸿沟。DevOps在敏捷的基础上,将运维并入进来,是软件开发、运维和质量保证三个部门之间的沟通、协作和集成所采用的流程、方法和体系的一个集合。图2可以清晰地说明软件开发模式的进化过程。
在传统行业的数据中心,数据的稳定性和安全性是重中之重。IT 管理人员对数据中心的管理主要偏重于两个方面:首先是为了确保数据中心的稳定性而对数据中心各个环节进行维护;其次当数据中心内出现问题时,能够及时定位问题并且解决,以缩短故障时间。
而运维工具的开发和数据故障的解决都需要快速的响应和交付能力。目前传统数据中心的ITIL管理模式和普遍应用于开发工具中的瀑布开发模型,都无法保证最快的交付和最佳的成果。DevOps集开发、运维和质量保证于一体,通过促进开发团队和运营团队之间的沟通、协作和整合,不仅提高了效率,也同时促进了运维的自动化。
DevOps本质上是开发,运维和质量保证部门之间的沟通协作。它将解决传统IT运维管理模式信息沟通效率低下的缺点,提高整个IT部门效率,适应云时代不同类型用户对IT运维管理的需求,也是未来的发展方向。
1.3 DevOp应用现状
在目前这个瞬息万变、信息爆炸的时代,一分钟之内就会发生很多事情:超过两百万条的Google搜索、两亿封邮件的传送……在这个应用经济备受关注的时代,企业需要靠各种创新应用获得持续发展。而业务的灵活创新依靠的是快速、持续、高质量的软件应用交付。
目前在国外,互联网巨头如Google、Facebook、Amazon、LinkedIn、Netflix、Airbnb,传统软件公司如Adobe、IBM、Microsoft、SAP等,亦或是网络业务非核心企业如苹果、沃尔玛、索尼影视娱乐、星巴克等都在采用DevOps或提供相关支持产品。
在云计算、大数据和移动互联这三大浪潮面前,更有效地管理和整合现有资源,进行更快速的应用交付对于任何一个企业来说都是一个挑战。目前,DevOps 在国内并不算流行,很多传统企业还没有认识到开发与运维协作所能产生的“化学反应”。
不过,依托DevOps中国社区成员的积极参与支持,南京大学发起《DevOps中国2016年度调查》活动。期望通过本次问卷调查,收集DevOps的率先实践者们关于DevOps实践及经验的相关信息,从而了解DevOps在中国推广应用的状况,并汇总在DevOps实践中可能遇到的障碍、挑战和最佳实践,最终将通过调查报告进一步促进DevOps在中国的认知和推广。
2 DevOps流程
Devops开发流程大约分为以下几个部分:持续的管理与计划,持续的集成与测试,持续的交付与部署,持续的监控与运维,持续的分析与计划。
在此前我们要介绍DevOps开发流程中的几个角色:功能负责人(敏捷中的Product Owner),开发人员,测试人员,运维人员,流程负责人(敏捷中的Scrum Master)
2.1 持续的管理与计划
功能负责人将聚集开发、测试与运维一起进行功能讨论并制定交付计划。每个人都会从自身的角度考虑可行性并作出适当的建议。流程负责人会在这个阶段协调讨论进度,并在流程的每一阶段对功能进度与状态进行全程跟进。整体的计划及相应的各人任务将被创建在管理平台上对所有人可见。
2.2 持续集成与测试
运用一系列开发实践的方法确保代码可以快速并安全地部署到产品中。每一次代码的改动,都提交到一个模拟的产品环境中,使用严格的自动化测试,来确保功能和服务能够达到预期。
2.3 持续交付与部署
当模拟环境中的代码通过自动化测试,它们将自动被部署到真实的产品环境中(即生产环境)。由于部署脚本与测试用例都是在开发前有着充分的沟通,且部署和测试都是通过自动化实现,投产过程出问题的可能性将大大减少,且即使出现,大家也会在一起找到原因并解决。
2.4 持续监测与运维
投产后,运维人员在自动化监控工具的帮助下持续地监控功能状态。
2.5 持续的分析与计划
由于整个开发流程进度及具体任务对所有人可见,每人在每天登录管理平台都可以具体感受到目前功能的进度。因此每天的站立会中每人都可以提出对产品功能及整体计划的分析和建议。
3 DevOps常用工具
以下是以某数据中心的K运维自动化管理平台(以下简称“K平台”)为例的DevOps常用工具。该平台的DevOps工具中包含了项目管理、开发工具、持续集成与测试、持续交付与部署、持续监控与运维这几个部分。
3.1 项目管理
Agiler:Agiler是原HP公司开发的一套敏捷管理系统。该团队运用系统进行日常的项目管理工作。项目经理运用该工具建立backlog与Sprint;团队Leader给团队成员建立Sprint下的具体任务;而开发与运维团队成员在每天的站立会中运用工具中的敏捷看板功能,对各自的任务进行跟进与状态更新;项目助理则全程在该平台上看到项目的进展。
3.2 开发工具
Subversion:Subversion是一个开源的版本管理系统。它将文件存放在中心版本库,可以记录每一次文件和目录的修改情况。K平台不仅用Subversion管理开发的代码,也同时管理着运维脚本,项目文档,设计图,测试用例等任何与K平台项目相关的文件。与普通的文件服务器之间的区别在于,由于它记录了每一次文件和目录的修改情况,可以将数据恢复到以前的版本,并可以查看数据的更改细节。
3.3 持续集成与测试
Maven:Maven是一个软件项目构建工具。K平台运用它进行管理项目的jar包依赖,开发,测试,打包的一系列生命周期的管理。
CasperJS:CasperJS是一个基于PhantomJS(前端自动化测试工具)编写的脚本处理和测试工具,提供了完成常见任务的方法和函数。K平台使用CasperJS编写平台系统测试案例,用于自动化测试系统功能。
Jeckins:Jenkins 是基于Java开发的持续集成工具,K平台利用它来持续地软件版本并测试项目。
3.4 持续交付与部署
Ansible:Ansible是一个基于Python开发的自动化运维工具,集合了puppet, cfengine、chef、func、fabric的优点,实现批量运行命令、批量系统配置、批量程序部署等功能。K平台利用Ansible实现流程编排与批量操作系统配置。
3.5 持续监控与运维
Zabbix:zabbix 是一个基于WEB界面的提供分布式系统监视以及网络监视功能的开源工具。K平台利用Zabbix来实现网络状况监控、服务器端口监控、数据库监控及日志监视。
4 DevOps应用实例
K运维自动化管理平台DevOps开发实例。
K平台是某数据中心的K运维自动化管理平台,K平台的DevOps架构图如图3。
4.1 制定计划
由客户及项目经理等领导层制定K平台本年度的backlog并添加至Agiler工具中。并交于项目实施团队进行自行实施。功能负责人将在计划阶段确定大概的功能点及完成时间,在Agiler工具中的相应的Backlog下确定Sprint。每个实施团队的成员在Sprint下为自己建立相应的任务,使Agiler工具中的敏捷看板任务情况一目了然。项目助理会去跟进Sprint及Sprint下任务的分配情况。
4.2 定义工作内容
即瀑布模型中的需求分析阶段。功能负责人、开发、测试,甚至运维将聚集在一起讨论需求细节。功能负责人完成设计图,测试人员编写测试用例与自动化测试代码,开发人员进行数据库表结构设计等详细设计,运维人员开始思考该功能上线后如何进行监控配置。
相关的设计文档、测试用例、运维脚本等都将放在SVN(Subversion)中进行管理。
根据功能讨论的情况,功能负责人可能会Agiler工具中更新backlog下的Sprint,进行名称修改,功能重新划分,时间点更新等操作。其他实施人员――包含开发人员,测试人员,运维人员也将在Agiler中去更新自己的任务及完成状态。
项目助理会在全程跟进Agiler中的更新情况并提出相应的分配建议。
4.3 开发
开发人员运用Maven来管理代码的生命周期。代码的创建者在配置文件pom.xml中配置jar包的依赖关系,这样每个开发人员都可以自动下载jar包在我们的项目中。
每一位开发人员都在SVN主干下开发自己的模块代码,Jeckins中的构建任务保证开发环境的代码不断被提交到模拟产品环境(即测试环境中),并进行严格的自动化测试。
开发人员在完成自己的相应任务后将会在Agiler工具中更新自己的任务状态。于是在第二天的站立会中大家将看到开发进度的更新。
4.4 构建-部署-测试(测试环境)
Jeckins定期从Subversion指定目录取得最新的代码进行自动化构建操作,保证开发人员的代码不断被提交到模拟测试环境中,以进行自动化测试。
何谓广义的ASP
ASP(Application Service Provider),译为“应用服务提供商”。顾名思义,它可以对企业提供在线业务应用服务和管理服务。具体的操作过程是:企业将有关生产经营活动的数据信息及生产经营特点传递给ASP,由ASP通过软件处理后,传递给企业使用。ASP负担软件、硬件的购买、安装、构造、维护,企业通过软件租用或租赁形式来获得服务。ASP实际上是一些为第三方提供服务的公司,它们拥有自己的主机,在自己的主机上部署、管理和维护各种应用系统,然后通过网络Internet或VPN(虚拟专用网络)向远端客户提供软件的计算能力。简单说ASP就是支持和帮助任何客户进行电子商务的专业企业。
ASP是针对中小企业产生发展起来的,主要是为了解决中小企业普遍存在的资金困难和渴望信息化管理这一矛盾,通过直接租用ASP的计算机及软件系统实施信息管理,既可以节省一笔用于IT产品、技术购买和维护运行的资金,又能使中小企业利用信息化壮大自身实力。ASP模式无疑为这类企业提供了较好的解决方案,企业无需配备专门的人员和大规模资金投入亦可获得专业的服务和技术支持。
基于ASP的这种思想,拓展开来,它实际上就是为其它企业提供服务的供应商,这种服务是一种“大服务”的概念,它不仅仅是一种应用软件的服务,更多意义上应该是一种企业的管理、信息的服务。我们不妨把这种模式称为广义ASP模式。
广义ASP模式的应用
传统的ASP通过Web,除提供应用租赁外,只提供很少几种服务。广义ASP则使这种模式又前进了一步。它为企业非核心商务业务提供更多的外包选择,这种模式对于内部资源配置很薄弱的中小企业具有特殊的魅力。例如,美国加利福尼亚的eConvergent公司就是采用这种模式。该公司不仅租用E.piphany公司开发的CRM客户关系软件,而且还提供咨询服务,包括针对客户个性化需求的定制工作、特殊软件产品培训以及有关CRM软件的一般培训。该公司还提供外包客户服务代表等服务。
广义ASP向用户提供的服务内容无疑比传统ASP多,但他们也存在着与传统ASP同样的问题。这些问题主要表现在网络应用、复杂的价格模式、遇到停机或故障时缺乏向客户报告情况的联系手段等,这些问题都有可能影响广义ASP作用的发挥。但是,广义ASP的投资回报率比传统ASP要高,这一优点有可能使长期购买应用软件致使成本过高的局面宣告结束。
广义ASP的优点并不只是出租应用,其主要优点是为企业用户提供非核心业务的整体外包服务,这样就可让企业用户专注于核心业务,从而增强其竞争实力。
案例分析——SP-ASP模式
正是基于广义ASP的思想,北京桑普电器有限公司提出了独具特色的SP-ASP管理模式。
1. SP-ASP模式的提出
北京桑普电器公司成立于1992年,经过近十年的创业历程,已经成为全国知名的“桑普”系列及“丹普”系列电热设备生产厂家。目前,公司正经历从创业向发展的过渡。在激烈的市场经济体制的竞争中,公司一方面利用自己积累的经验进行企业的重组改造和技术创新,另一方面积极利用新的管理模式、借助先进的计算机技术来提高企业的生产经营管理。公司于1999年成功实施了SP-CIMS工程,该工程的实施与应用使企业在管理和技术创新方面上了一个台阶,提高了工作效率,降低了运营成本,取得了较为理想的效果。
面对激烈的市场竞争压力及中国加入WTO后小家电行业所面临的巨大挑战,为了使公司成为一个在供应链管理的哲理、方法和技术的指导下的开放的、敏捷的、合作的、有竞争力的企业,桑普公司积极调整战略决策,提出了SP-ASP管理模式。
SP-ASP模式就是树立以品牌、管理为主的企业核心竞争力,利用“大资源、大整合”的思路,逐渐把生产、采购、储运的环节交给社会完成,以客户服务为中心,应用供应链管理与敏捷制造的概念,把过去的单个企业扩大到利用社会资源的范畴,使企业为了共同的市场利益结成战略联盟。
桑普公司将通过与供应链上、中、下游企业之间建立战略伙伴关系,利用其他企业的资源达到企业扩展的目的。桑普公司已在全国形成合作(协作)厂商、经销代销点、售后服务网点的供应链,以桑普公司作为企业动态联盟盟主,基于ASP方式实现供应链管理的网络化。ASP成为供应链式企业联盟中的一员,它的核心是电子化服务。由ASP服务的内容包括:项目管理,资源组织与配置,质量保障、仲裁与认证,数据交换与标准,使能工具及产品,宣传广告等。由桑普公司组建ASP,开发供应链管理网络的“服务、维保平台”。
SP-ASP模式的主导思想是:
①以供需链思想指导企业的经营生产过程,降低企业的流通成本,构造企业敏捷的、弹性的营销网络;
②利用网络技术,构架企业与外部的信息通道,建立资源信息库,为企业对市场变化的科学决策提供有用的信息支持;
③建立面向资源的管理模式,对社会资源进行分析、规划及管理,为企业参与社会资源的重组提供一个有效的手段。
④以客户服务为中心,建立稳定的、有价值的用户网络。
从桑普公司构建的SP-ASP模式中我们可以看出,这种模式已经不仅仅是提供一种软件服务,而是一种满足于中小企业的全方位的信息服务。这种模式正是我们在前面提出的广义ASP模式。
2. SP-ASP运作模型
根据SP-ASP管理模式,可以构造出SP-ASP的运作模型(如图所示)。SP-ASP的运作模型
从该运作模型可以看出,由桑普公司搭建SP-ASP系统平台,而其它异地生产、采购、储运等均运作于此平台上,从而实现生产、销售的外包。该模型基于B/S架构,利用本地生产的成熟管理体系,异地通过远程浏览器来使用该系统,系统则通过生产、质量数据等进行远程监控,从而发挥各个企业的核心优势。
3. 结论
【关键词】项目管理;施工产品;质量管理
一、前言
建筑工程的质量不仅影响着人民生活,而且直接关系到工程企业的长远发展。施工产品是工程企业的品牌,它直接影响着工程企业的信誉,影响着其市场地位。在项目管理模式盛行的背景下,如何提高工程的质量是每个工程企业亟待解决的问题。发挥项目管理模式中的项目质量管理人员的作用、提高职工对施工产品质量重要性的认识对于切实提高工程质量有重要影响。
二、工程质量控制阶段
工程的质量受各阶段施工质量的影响,为此,项目质量管理人员应切实加强工程施工每个环节上的质量 管理,确保各个环节上的施工质量
三、目前项目管理模式下工程质量管理中存在的问题
1.过分注重定性评价
在以往的工程质量监控过程中,质量监控人员往往通过一些较为简单、直观的方式进行工程质量的检查与控制,往往将个人经验作为管理控制工程质量的标准,以至于在工程质量检查与评定上缺乏科学依据。这种过分注重定性评价的评价方式将会导致工程质量控制的随机性增大,降低了工程质量控制的科学性、稳定性。
2.缺乏量化管理
长期以来,项目管理模式缺乏量化管理,工程施工的责任分工不能具体到个人,这不仅影响了问题工程的责任追究,而且不利于提高工程建设职工的工作积极性,不利于提高职工的责任意识。
3.缺乏科学评价方法
如今的工程建设日趋复杂化,影响工程质量的因素较多,工程施工的具体环境也较为复杂,工程质量管理人员在进行工程质量评价时缺乏科学、统一的评价标准,这在一定程度上影响了评价的客观性、公正性。
四、加强项目管理模式下质量管理的措施
1.提高项目经理管理水平
项目经理的管理水平直接关系到职工的施工积极性,影响到工程的施工效率与施工质量。首先,一个合格的项目经理不仅要具备较高的组织、协调能力,而且应具备较强的责任意识与敏捷的思维。其次,项目经理需具备较强的施工技术,他们应具有丰富的实践经验,掌握工程各个环节上的施工技术,这样才能够对工程的总体施工进行合理规划并有效监督,同时,当工程质量出现问题时,能够了解问题的关键所在,以便及时采取相关措施进行补救,以确保工程质量。第三,应树立全局意识。项目部门在工程建设过程中并不是孤立存在的,它与工程建设单位、设计单位、工程主管部门、政府相关行政部门等有着密切联系,因此,项目经理应树立全局意识,与上述单位搞好关系,共同维护彼此的利益关系,在相互合作中提高工程质量。
2.加强职工培训力度,提高其质量意识
工程建设职工的质量意识对工程建设的质量起着重要作用,因此,提高职工的质量意识是提高工程质量的重要举措。首先,各项目部应定期召开质量专题会议。通过专题会议向职工讲解有关工程质量的知识,让每个职工充分认识到自身在工程建设过程中的重要作用,让他们意识到自己的一举一动都直接影响着工程的质量,让“工程质量无小事”的观念深入到每个职工的内心,让职工在具体工作过程中切实树立质量意识。第二,各项目部应加强对职工的培训力度。让职工通过培训及时了解、掌握工程建设信息,提高施工技术,为提高工程建设质量打下基础。第三,及时开展作业质量研讨会。在工程建设过程中,应针对工程施工的实际情况及时开展作业质量研讨会。例如,针对焊接技术达不到相关施工设计要求的问题,项目部应及时开展焊接质量研讨会,邀请具有丰富焊接经验的电焊工对具体施工过程中的焊接问题进行原因分析,并就焊接技术、焊接材料、防护措施等方面展开交流,促进职工在相互交流中提高施工技术,确保工程质量。第四,严格要求工程施工人员持证上岗。各项目部应要求各作业人员持证上岗,尤其是那些需要特殊技术、高空作业的岗位,务必要求有资质者上岗,这不仅是满足工程技术上的需要,而且是确保工程质量的重要手段。
3.建立健全质量管理体系
建立一整套完善的施工产品质量管理体系是提高项目管理模式下质量管理水平的重要措施
首先,应建立完善的施工产品质量检验程序,遵循职工自检——彼此互检——专业检查的程序,鼓励职工对自己每日完成的工作主动进行检查,确保自身工作符合相关标准及施工合同要求,同时做好详细记录,以供日后检查、参考使用。在此基础上,各项目部应组织从事相同作业的职工对彼此的施工质量进行检查、评价,吸取对方的优势,并就产品质量中存在的问题进行交流、探讨,促进共同进步。最后,在完成自检、互检程序后,专门负责质量检查的项目质量监管人员应严格按照产品质量标准及施工合同要求对施工产品进行质量检查,严把产品质量关,切实做好产品质量监督、检查工作。
4.做好施工材料质量控制工作
施工材料质量的好坏直接影响着施工产品的质量,为此,各项目部门严把施工材料质量关,按照相关标准、通过正当渠道采购施工材料。首先,应按照企业采购标准、规定,工程施工合同,工程设计方案等要求进行采购。在采购过程中,相关采购人员应严格审查产品说明书、产品质量检测报告、质量鉴定书、质量检测部门的检测报告等,确保采购产品的质量。其次,重要材料应先进行取样试验,而且样本的选取必须具有代表性。第三,尤其要注重新材料的使用,在其投入使用前,应先对其进行质量鉴定与试验,并将鉴定试验报告呈送给项目设计部门批准,经项目设计部门批准后才能进行采使用。
5.加强对施工设备的维护
施工设备是工程施工顺利进行的物质保障,它对施工产品的质量产生重要影响。各项目部门应加强对施工设备的质量控制,具体来说就是严格控制施工设备的类型、性能参数与施工的具体要求相匹配。首先,应选用符合规定的施工设备,确保设备质量。其次,应根据工程施工的实际需要设定合理的性能参数,保证施工质量。第三,应定期对施工设备进行检查、维护,这不仅有利于确保施工质量,而且有利于维护职工人身安全。
6.完善相关制度,加强质量管理
施工产品的质量保证离不开健全的制度建设,各项目部门应完善质量管理制度,促进质量管理的规范化。首先,项目部门应建立严格的施工现场管理制度与部门生产纪律,规范职工的作业活动,提高部门质量管理人员的管理水平。其次,各部门应建立质量奖惩制度。对符合施工要求的职工进行一定的奖励,对违背施工标准、破坏施工质量的员工进行惩罚,通过奖罚分明的奖惩制度,切实提高职工的工作积极性,提高职工的质量责任意识。
五、结语
工程产品的质量直接关系到工程企业的切身利益,提高项目管理模式下的质量管理水平是目前工程企业亟待解决的问题。为此,各项目管理部门应采取相关措施切实加强质量管理,通过提高项目经理素质、健全质量管理体系、完善质量管理制度、提高职工质量意识等方法加强工程产品质量的监管力度,为提高工程产品质量创造条件。
参考文献
[1]李必丹.“53”工程项目管理模式——建筑施工阶段质量控制及评价方法[j].建筑科学,2007(06):8-11.
企业合同管理审计是改善企业内部管理水平,预防和降低经营、管理风险,维护企业的合法权益,促进企业价值的增加及目标的实现。在我国,对于包含合同管理审计的管理审计或增值型内部审计的理论研究还处于起步阶段,其在实践中的应用缺乏理论指导。我国加入WTO后,对外贸易的不断增长,合同的种类和数量不断增加,因合同而起的纠纷或造成的损失屡见不鲜。因此,在我国开展合同管理审计有着十分重要的意义。
(一)合同管理审计是企业发展的内在需要在市场经济条件下,合同是连接各经济主体、处理经济关系的重要法律依据和经济纽带,同时也是产生纠纷的根源。企业合同的顺利签订和履行,是企业得以发展的前提和基础,是企业经营目标得以实现的重要保证。企业合同管理既是一种为了取得经营效益的经济行为,也是一种保障企业经营活动顺利进行的法律行为,是现代企业经营管理活动中的重要内容,是企业控制风险,增加价值、增强市场竞争力的基础和保证。因此,在企业内部进行合同管理审计,促进企业加强和改善合同管理,是企业发展的必然选择。
(二)合同管理审计是内部审计向增值型内部审计发展的需要国际内部审计师协会(ⅡA)在《内部审计职业实务准则》中对内部审计作了重新定义:内部审计是一种独立、客观的确认和咨询活动,旨在增加组织价值和改善组织的运营。其通过运用系统的、规范的方法评价并改善风险管理、控制和治理过程的效果,帮助组织实现其目标。这一新定义表明内部审计是一项确认和咨询活动,是为增加组织价值和改进经营、实现组织的目标服务的,同时也表明内部审计已进入了增值型内部审计的新时代。内部审计要充分发挥自己独特的作用,充分体现自身的价值,须积极开展合同管理审计,为增加企业价值服务。
二、企业合同管理审计的方法与内容
根据企业的管理模式和要求、合同数量的多寡、内部审计机构资源等的不同,合同管理审计可以采取项目管理式审计和过程参与式审计两种模式。
(一)项目管理式审计项目管理式审计是有重点、有目的地将合同管理纳入年度审计计划,形成特定审计项目,并实施相应审计程序的审计模式。项目管理式审计主要审查合同的管理是否规范、有效,其主要内容包括四个方面:一是合同管理机构或管理网络的审查。企业的合同管理应首先建立健全管理机构或管理网络,审计时应着重审计企业合同管理机构或管理网络的设置是否合理;各机构之间的分工和职责是否明确,上下左右关系是否协调;组织最高领导层与合同管理机构及各个机构之间、各机构相互之间的信息交流是否充分;合同管理流转是否科学、有效;相互之间的控制是否有效;合同的履行是否受到定期检查等合同。二是管理人员素质的审查。企业合同管理人员的素质关系到企业合同管理工作的优劣,必须重视对合同管理人员素质的审查。首先应审查合同管理人员是否具备专业知识;其次应审查合同管理人员是否熟悉企业的内部运作流程和外部信息。此外,还应审查其是否具有较强的组织能力和协调能力,敏捷的洞察、分析能力,严密的逻辑思维能力,较强的责任心等。三是合同管理制度的审查。首先审查合同管理制度是否健全,尤其是一些重要的合同管理制度是否是根据企业实际而制定,包括:合同归口管理和分类专项管理制度、合同示范文本制度、合同授权委托制度、合同的审查制度或审计审签制度、合同的鉴证、公证制度、合同专用章管理制度、合同台账制度、合同档案制度、市场调研制度、大件大宗企业采购(包括物资、服务、工程等)或资产处置的制度。在对合同管理制度的健全性进行测试和评价后,还应对这些制度的执行情况进行检查。四是合同执行结果和管理效果的审查。主要审查合同内容是否得到全面、严格地履行;审查有无合同违约、违约的原因及违约处理结果,如对方违约,是否及时组织索赔;如本方违约,责任人是否向分管领导提交书面报告,经审批后办理赔偿手续,并追究相关责任;协商不成的合同纠纷是否及时上报上级领导和法律部门,通过申请仲裁或向人民法院解决合同纠纷。另外,还要审查合同管理效果是否达到合法、规范、效率、效益的要求。
(二)过程参与式审计过程参与式审计是由专职内部审计人员对企业内部所签合同进行审计审签,参与监督合同管理的部分重要过程,实现合同审计审签的日常化。其审计的主要内容包括以下几方面:一是审“该不该签”,即对合同项目的可行性审查和效益性审查。应该检查合同项目是否列入年度计划,或经组织内有批准权的部门或领导批准;检查合同项目是否经过可行性研究或项目评估,其技术性、经济性是否达到了先进、合理;检查与立项有关的文件资料的真实性、可靠性;检查合同标的数量是否适当,企业的生产、经营能力是否能满足对方的要求,或者合同标的数量是否能满足企业的生产、经营的需求;检查合同履行时间是否充分考虑了企业的实际生产经营能力或实际需要。二是审“跟谁签”和“以什么样的价格签”,即对合同签约主体的选择和合同价格选择的合理性、适当性进行的审查。首先,对合同经办部门是否进行市场调研,是否采用了一定的合理方式确定合同主体和合同价格进行审查。其次,应对合同签约主体的合法性进行审查。当事人在订立合同时必须具有相应的民事行为能力。三是审“怎么签”,即对合同的形式、文本格式和合同条款进行审查。按照民法一般原则,合同属于不要式行为。审查时,首先注意合同形式是否符合法律、行政法规等规定。其次应审查合同文本的规范性。签订合同应当尽可能使用国家推行的示范文本,以保证合同条款的完备。对企业有特殊要求的,示范文本不能满足的,企业可以自行制定合同文本,但应向工商行政管理部门办理审批备案手续。对其他没有示范文本的,采用手写或微机打印的合同,要特别注意一式多份合同条款的一致性,防止被他人篡改内容,引起合同纠纷。在审查合同形式的合法性和文本格式的规范性后,要重点对合同条款的完备性进行审查。《合同法》规定,合同的内容由当事人约定,一般包括以下条款:当事人的名称或者姓名和住所;标的;数量;质量;价款或者报酬;履行期限、地点和方式;违约责任;解决争议的方法。因此,审计人员应当按照合同的性质,依据相应的法律、法规对合同条款进行认真审查,确定合同主要条款有无遗漏,各条款内容是否具体、明确、切实可行,避免因合同条款不全或过于简单、抽象、原则,给合同履行带来困难。
三、企业合同管理审计应注意的问题
企业合同管理审计过程中不可避免也存着以下方面的问题,为提高合同管理审计的效率应其予以重视。
【关键词】工程项目 动态联盟 运作机制
1 工程项目组织动态联盟概述
1.1传统工程项目组织模式的困境
在传统的建筑企业组织管理中,我国的建筑企业纷纷采用了集团化的组织模式。随着市场需求不确定性的加剧和市场机遇把握难度的日益提高,这种传统的组织结构己经越来越不能适应。
1.1.1建筑企业庞大且固定的集团化组织结构,使其难以对变化着的市场做出敏捷的反应。由于工程项目产品的单一性,建筑企业需要针对不同的项目分析其由于地域、技术条件、文化等因素造成对工程实施的影响。
1.1.2工程成本高。激烈的竞争己经使企业利润大幅下降,不能形成规模经济进一步造成了项目利润的急剧下降,将严重影响建筑企业在面对国际市场时的生存能力。
1.1.3集团化组织模式在其组织结构上的不足。平级项目部之间缺乏必要的沟通,共分利益且互相推卸责任,只考虑自身承担的项目部分的实际情况,而不考虑整个项目的最终成果。
1.2动态联盟的概念
动态联盟这一提法从产生到现在只有10多年的时间,许多学者对企业动态联盟进行了研究,但对于动态联盟的概念,至今还没有形成一个完全的统一的定义。本文给出的定义为:动态联盟是两个或两个以上的企业或者特定的事业部门或职能部门,为了实现共同的目标,通过公司协议或联合组织等方式而结成的一种网络式的联合体;是那些欲结盟的企业在自愿互利的原则下,出于降低交易费用、减少不确定性、实现优势互补等目的,以契约的方式结合起来的共同提高企业市场竞争力的合作模式。
1.3工程项目组织动态联盟的定义及其优势
工程项目组织动态联盟就是立足于建筑行业的特点,以施工联合体为基础,吸收动态联盟的思想,针对具体的大型施工项目,突破原有建筑企业的有形界限,充分利用外部资源,通过建筑企业之间的最佳资源组合,创造出超常的竞争优势而进行的临时组合,依靠现代化的网络通讯设施达到资源共享、优势互补,项目结束后,原来的资源组合方式予以解散。它相比于传统的集团化组织模式在作用效果上有明显的优势:
第一,联盟借助现代信息和通讯技术的强大支持,采用无层级、扁平化的管理组织方式,提高决策效率。第二,扁平化的网络组织使权力由垂直变为水平,组织成因获得极大的自由而形成和谐、相互信任的关系。第三,通过信息技术进行沟通和协调,使信息传递实时、动态化,同时能极大地降低组织成本。第四,针对工程项目的建筑产品单件性,建筑企业的动态联盟强调合作的一次性,暂时性。动态联盟强调时效性,具有高度的弹性和灵活性。
2 工程项目组织动态联盟模式的构建
2.1动态联盟的组建原则
工程项目组织动态联盟结构的确定应该充分考虑具体工程项目的特点、所需资源的分布情况、联盟活动的环境基础条件等因素,并在一定的原则下实施结构组建。
2.1.1目标导向原则。动态联盟构建的目标是抓住市场机遇,提高组织在市场中的竞争力。据此,应该根据工程项目的资源需要对各个盟员企业的资源进行整合,获得生产的有效形式,实现建筑制造所追求的目标。
2.1.2学习性原则。通过动态联盟,盟员企业要互相借鉴彼此的经验,专心培养自己的核心能力。
2.1.3共享理念原则。动态联盟的思想是各个盟员企业资源能力的整合共享思想,强调企业的双赢理念。依靠盟员企业的整合力量实现整体优势,从而创造出1+1>2的利益。
2.1.4信誉原则。在动态联盟中,特别注意加盟各方的信誉。若盟员的信誉等级高,则它将有更多的机会参与到联盟中,赢得更多的利益机会。
2.2项目动态联盟的组织模式
作为工程项目管理的建筑业企业群体的动态联盟组织,它的运营方式一般是面向建筑产品的全过程。动态联盟组织的描述可分为四个层次:动态联盟组织、项目部、专业承包队伍和劳务分包组织。但无论哪一个层次,其伙伴合作的形式具有多样性和灵活性。概括起来主要有五种方式:
2.2.1供应链式。供应链式是对整个供应链系统进行计划、协调、操作、控制、和优化的活动和过程,这种合作形式是以建筑产品为主线进行的,并建立在建筑产品的价格、质量、进度等基础上相当稳定的合作,合作企业之间是上下游的关系。在工程项目建设中,以在建工程项目所需人、材、机为主要的对象展开合作,由设备供应商、原材料供应商、项目建造商组建成联盟。
2.2.2总承包式。对总承包发包的项目,可在招标前若干施工企业、设计单位和材料供应商以动态联盟方式组建施工联合体进行总承包投标,中标后根据联合协议以动态联盟的方式进行工程建设。也可在中标后,由总承包企业组建设计单位、施工分包单位和材料设备供应商的动态联盟,以动态联盟方式进行工程建设。
2.2.3转包分包式。由于工程项目的工程量一般都很大,总承包商不可能独立完成整个项目,而会将项目中的一部分工作量转包给一个或多个分包商。业主只与总承包商进行沟通,不直接与分包商联系。总承包商对工程项目提出质量、价格、进度等的要求,各分包企业组织完成,总承包商负责管理协调各分包商。
2.2.4插入兼容式。租赁市场、劳务建设工程管理的企业联盟的承包商可以通过项目管理过程的需要,通过设备市场、人才市场等建立二级市场,使之与企业的自身核心资源结合,这种合作是动态联盟具有很强的可塑性和灵活性。
2.2.5网络式。网络式动态联盟是建立在自愿合作和信息与活动交互基础上的,动态联盟体内的各方未必有合同关系,各方之间根据联盟协议进行合作,这使合作各方能够在平等地位上真正实现资源共享和风险共担。项目参与各方之间通过联盟体内部的信息沟通,及时了解施工进度,协调解决施工过程中出现图纸提供和材料设备的供应延误、施工工期拖延、专业工程的交接与配合等问题。这是一种真正意义上的动态联盟模式,是项目组织模式未来发展的趋势。
3 建筑企业动态联盟模式的运作
3.1联盟的利润分配机制
动态联盟是一个以市场机遇为主要驱动力的、暂时的组织结合体,对参与动态联盟的伙伴来说,其根本目的是为了取得一定的经济利益,而对于动态联盟的每一个盟员企业来说,收益和风险是不可分割的。因此,科学、合理的利益分配机制是决定动态联盟成败的关键因素。
对于基于大型工程项目而组建的建筑企业动态联盟,我们不能仅仅从投资额的大小出发确定收益比例,而需要充分考虑动态联盟企业中盟员企业投资所承担的风险大小,从而保证动态联盟能够真正实现“风险分担,收益共享”。
3.2联盟利润分配模式
3.2.1产出分享模式,参与合作的所有成员(包括盟主和盟员) 按一定的分配比例系数从合作最终的总利润中分得自己应得部分,是一种利益共享、风险共担的分配模式。
3.2.2固定支付模式,盟主企业根据其他成员承担的任务按事先协商好的酬金给其从合作最终的总利润中支付固定的报酬,而其享有合作的其余全部剩余,同时也承担全部风险。这种分配模式接近市场交易的模式。
3.2.3混合模式,动态联盟成员既从联盟取得固定的报酬,同时也从总利润产出中按一定分配比例取得剩余。
模式的具体选用视实际的市场机遇的性质、产品竞争力、发展战略和风险态度等因素而决定。
3.3联盟协调沟通机制
建筑企业动态联盟体联盟各方既有合作的愿望,又有目标的差异,在项目的运行中,盟员们都力图扩大自身的收益,同时一方利益的取得又依赖于各方的合作,因而动态联盟体的协调可以看作具有联盟性质的合作式协调,协调的内容广泛并且存在于联盟创立、运行、解散整个生命周期,协调的过程就是盟员在各种方案上反复移动的过程,直到在某一个方案达成妥协一致。
3.4联盟的风险控制机制
风险与收益是共存的,有收益的项目就必然有风险。如何建立风险控制机制,从事前、事中、事后全方位的控制风险,对项目的全过程进行有效的控制,是项目管理的关键。
3.4.1联盟体内部的风险管理措施
(1)慎重选择合作伙伴。在组建动态联盟时,合作伙伴的选择是首要的任务。因为工程建设是风险事业,所选择的伙伴应该能够“同舟共济”,共同承担风险,这对是否完成工程、能否盈利至关重要。
(2)签订责权利明确的联盟体协议。联盟体协议是指为了投标获取项目、实施项目进行协作,就各盟员企业的职责、权利和义务达成的协议。
3.4.2与工程有关的风险管理措施
与业主签订公平的工程合同。工程合同是连接业主和动态联盟体的法律纽带,业主和联盟体在合同风险和利益分配中相互约束。工程合同必须公平,联盟体应该说服业主采纳工程合同条件,如FIDIC合同条件。联盟体应该特别重视工程合同中的支付、报价、变更及索赔等条款,特别是在合同实施期间发生通货膨胀、变更、不可抗力等事件而导致的费用以及工期损失的补偿。
3.4.3与外部环境有关的风险管理措施
动态联盟在承揽某一个具体的工程项目时,应该适应当地的环境,了解当地出现的新的法律、规章制度、对手,同时与当地政府以及相关部门建立良好的关系,在项目执行过程中,联盟体有必要建立各种渠道与项目各个参与方进行良好的沟通,并且维护好这些交流渠道。
4 结论
通过对我国工程项目的现行组织模式进行了深入的分析,揭示了其传统组织模式转变的原因。在充分借鉴制造业动态联盟思想的基础上,根据我国建筑企业的自身特征,提出了建筑企业动态联盟组织模式。研究结论如下:
4.1通过对我国建筑业传统组织模式的分析及入世之后我国建筑企业发展方向的研究得出:我国建筑企业目前最根本的任务是增强自身的核心竞争力,变传统的单个竞争为联合竞争,借助外部资源来发展自身优势,转向动态联盟组织模式。
4.2从建筑企业从事工程项目建设的过程和方式分析,建筑企业动态联盟是可行的,符合我国建筑企业发展的需要。
4.3针对具体的工程项目,本文建立了动态联盟的利润分配机制、协调沟通机制、风险控制机制。
参考文献:
[1]贾平.企业动态联盟[M].北京:经济管理出版社,2003.
[2]林鸣,马士华.动态联盟——项目管理新模式[M].北京,电子工业出版社,2003.
[3]宋金昭,动态联盟在建筑企业中的应用研究[A].管理科学与工程,2004.
[4]金维兴,21世纪中国建筑企业管理模式的总体构思[J].中国科学基金,NO.2, 2000.
[5]赵艳萍,王栋.动态联盟管理协作风险的分析[J].商场现代化,2006,(33).
[6]陈一鸣,高阳.动态联盟企业的一种组织结构[J].技术经济与管理研究,2001, (06).