APP下载

集成项目管理与工作流的层次化过程模型研究

2011-09-07熊体凡刘清华

中国机械工程 2011年14期
关键词:子项目层次化项目管理

熊体凡 田 年 刘清华 万 立

华中科技大学国家CAD支撑软件工程技术研究中心,武汉,430074

0 引言

目前,随着产品市场由卖方向买方的转移,激烈的市场竞争使得企业越来越重视产品开发过程的管理。产品开发过程是一个复杂的过程,牵涉到人、事、物各个方面,由一系列技术活动和管理活动组成。技术活动包括产品结构定义、图纸设计、工程分析等与技术资源的生成和使用密切相关的活动;管理活动包括组织定义、任务分解、时间规划、进度控制、质量和成本跟踪等与项目管理相关的活动[1]。这些技术活动和管理活动,既存在时序逻辑上的关系,又必须在系统的思想下以项目的形式统一组织。因此,对于产品开发过程的管理,不仅要从宏观上把握产品开发的管理活动,控制项目进度和资源分配,还要从微观上支持开发人员所涉及的具体设计活动的执行,反映过程之间的复杂任务关系。

本文通过研究产品开发过程中项目管理和工作流的特点及其相互关系,结合其各自的优势,提出一种以项目分解结构树和多级工作流空间为核心的层次化过程模型,将项目管理和工作流进行有机集成。

1 集成项目管理与工作流的层次化过程模型

1.1 相关研究概述

目前,有不少学者对项目管理与工作流的集成进行了探讨[2-3],其基本方法是:首先将项目按照项目/任务分解模型划分成一系列相对独立的任务,然后将项目/任务分解模型映射成为供工作流引擎执行的工作流模型,使每一项任务对应于一个工作流,最后由相应的工作流管理系统对任务的各个活动及相关资源进行管理,如图1所示。

图1 传统的集成方法

定义1 子项目是对主项目粗粒度的分解,是一组相关任务的集合。子项目可以继续分解成下一级的多个子项目和任务,以满足管理所需要的粒度要求。

定义2 活动是一系列操作所组成的过程,是项目分解最基本的工作单元,活动受工作流引擎驱动完成某一任务。

项目管理技术支持自顶向下的任务分解,因此,从技术角度出发,无论产品开发过程多么复杂,都可以通过项目管理中的项目层次分解来对产品开发过程进行细化。一般来说,对于规模比较大的项目P,先将其分解成n个具有逻辑顺序的子项目Pi,分配给各个部门,分解的数学表达式为

再根据各个部门的实际情况,将子项目Pi继续分解成若干相对简单的任务:

式中,Tij为第i个项目下的第j个任务。

一个复杂的产品开发项目P最终通过层次分解转变为一个任务集

图1中,传统的项目管理与工作流集成方法在项目分解结构树的底层引入任务执行工作流,从纵向上将整个过程管理强行划分为面向项目管理的宏观过程管理和面向工作流的微观过程管理。这种传统的集成方法存在如下不足:

(1)项目管理不涉及对活动的管理。任务的具体实现是由底层的工作流管理模型驱动活动来完成的,但是对于项目管理人员而言,任务大多数都是内部不可见的“黑箱”。在实际工作中,产品开发项目P被分解为任务集后,任务 Ti j被继续细分成一系列操作活动,使每个产品设计人员得到适当的工作量,即

式中,Ak为完成任务Tij所需的第k个活动。我们利用工作流的时序约束机制对这些活动之间的各种依赖关系进行管理,但是却忽略了对具体活动Ak的工作量、进度等指标进行统计。

(2)传统集成方法中,工作流只涉及对活动的管理,而实际工作的项目过程中还存在诸如反馈、循环等约束关系。

(3)项目管理和工作流模型之间的数据传输缺乏自动性和实时性,数据无法保证动态一致。

1.2 集成项目管理与工作流的层次化过程模型

与传统的集成方法不同,本文基于产品开发过程中项目管理和工作流之间的关联性,将项目管理和工作流管理进行有机结合,统一到一个模型上,即层次化过程模型,如图2所示。其中,项目分解结构树和多级工作流空间是该模型针对项目管理和工作流管理的不同视图。

实际产品开发过程中,项目管理和工作流存在三个层次的关联性:

(1)项目层次。项目管理本身存在着可以定义的流程[2]。例如,项目管理知识体系(PMBOK指南第四版)中将项目管理过程分成启动阶段、规划阶段、执行阶段、监控阶段和收尾阶段,同时,又将每个过程分成若干可以序列化的任务(图3),这些具有先后顺序的任务在实际的项目层次上构成了一个宏观的时序流程。

(2)任务层次。项目管理通过对产品开发过程的任务分解得到由一系列子项目和任务组成的项目计划,这些子项目和任务相互独立,呈现出离散的特点。但是在实际产品协同开发过程中,子项目和任务之间存在着时序和数据供给等约束关系,表现出松散耦合的关系。这种关系可以利用工作流定义成约束规则,使每个子项目/任务对应于工作流中的一个节点,按规则顺序执行,如图4所示。

图2 层次化过程模型

图3 项目阶段活动图

图4 项目中的约束关系

(3)活动层次。实际工作中,任务经过再分,得到一系列操作活动集。这些活动可以是简单的操作,也可以由一系列活动构成的一个复杂操作。任务的具体执行过程就是由这些活动或者操作来完成的。显然,这些活动的操作序列可以通过工作流来描述[3]。

根据项目管理和工作流之间这种具有层次性的关联,本文将层次化过程模型的项目管理和工作流管理视图也相应地分为三个层次,表现为项目分解结构树和多级工作流空间。它们共同对项目过程进行综合的描述。

项目分解结构树描述项目的全部隶属关系。项目管理人员通过“项目—任务(子项目)—活动”三层分解,利用该项目管理视图进行交互式的项目建模。其中,项目层是对产品开发过程阶段性任务的划分;任务层是对阶段性任务进行的细粒度划分;活动层则是产品开发过程中的具体操作单元的集合,是任务的细粒度划分。同时,项目的基本属性,如项目定义、计划开始/结束时间等,以及按照项目计划开始和结束时间计算出来的进度和时间消耗等相关数据被作为项目对象的属性内容,动态地显示出来。项目管理人员甚至可以基于该视图对各种重要的对象属性进行分析、成本核算,得到关于项目状态的报告。

多级工作流空间表达任务之间的时序联系和约束规则。项目管理人员利用这个工作流管理视图,在三个层次上对项目过程中的业务流程和规则进行定义,如图5所示。项目空间定义产品开发过程中全局的工作流,覆盖项目的整个生命周期;任务空间定义相应的任务约束规则,实现项目任务流转的自动或半自动化,确保项目有序地进行;任务执行空间针对任务执行的实际需要,将任务转换为一组相互独立的工作单元(活动)组成的执行工作流,对上层传来的应用数据进行处理,最终完成任务目标。

图5 多级工作流空间

1.3 层次化过程模型的优点

本文的层次化过程模型通过项目任务分解进行项目对象建模,通过工作流驱动项目管理过程,保证项目任务有序进行。这种以项目分解结构树和多级工作流空间为核心,集成项目管理和工作流的方法,与传统集成方法相比具有如下优点:①克服了传统集成方法中项目管理无法对活动工作量、进度等指标进行统计的问题;②采用工作流处理项目过程中任务间的约束关系,在实现上更为有效;③采用统一的过程模型,避免了项目模型和工作流模型之间存在差异,需要进行转换的问题;④由于项目管理和工作流集成在一个过程模型中,有利于工作流运行数据向项目管理的自动反馈,保证数据动态一致性;⑤可以使复杂的产品开发流程在项目分解的过程中得到简化,进而简化工作流的建模。

2 层次化过程模型的实现

按照本文层次化过程模型的思想,基于Inte-PLM平台开发了一个基于工作流引擎的项目管理模块,实现对产品开发过程的管理。该模块以项目分解结构为纵轴,以工作流为横轴,把自上而下的项目计划与自下而上的任务执行集成在一起,通过工作流引擎驱动项目任务的执行。

该项目管理模块涉及到的数据对象主要有项目、子项目、任务、活动和工作流,数据结构及其相互关系[4]如图6所示。项目、子项目、任务和活动之间通过父对象ID方便、快速地构建出项目分解结构树,同时通过项目、子项目、任务与工作流的关联(所属工作流ID),利用工作流描述出项目的业务流程以及任务间的各种约束关系。

基于工作流引擎的项目管理模块的运行机制如图7所示。项目立项后,项目负责人使用项目管理工具(如Gantt图等)进行产品开发任务分解建模,安排任务执行进度计划,并结合工作流工具理顺各项任务之间的时序和逻辑关系,从而形成一套完整的项目执行规则;工作流引擎按照项目执行规则,为每一个任务在逻辑上规定一个处理的顺序,把各项任务连接成一个过程,产生一系列工作流实例,对执行过程进行分析和监控,使得项目按照预先定义的顺序依次完成。另外,工作流引擎还支持临时的流程任务,即当某些数据文档需要进行审批或者更改等业务活动时,任务负责人可以利用图示化流程建模工具定义工作流程,在工作流引擎的协调控制下,完成相关信息的处理。同时,企业管理者可以通过项目监控来实现项目任务运行状态的跟踪监控,对项目执行的相关数据进行统计分析,以便对项目执行过程进行调控。

图6 管理对象的属性及相互关系

图7 基于工作流引擎的项目管理模块的运行机制

3 应用案例介绍

上述项目管理模块目前已在某汽车制造企业的IntePLM系统中使用。在实施该模块前,该企业主要依靠项目管理小组采用图示化的项目管理工具(如Project、Gantt图等)对产品开发过程进行简单的管理和监控。现在通过实施IntePLM项目管理模块,将IntePLM主动式的流程引擎作为内在的过程驱动动力,以项目任务管理将各业务活动进行了有机的组织。如图8所示,项目负责人进行项目创建和结构分解,并结合实际业务需求定义任务间的约束规则;工作流引擎驱动项目任务下达到任务负责人,形成一份任务列表;任务负责人接受某一任务后,可根据实际需要按照标准流程对工作进行分解,召集相关工作人员共同完成任务;当工作人员执行相应的操作后,提交任务交付物,该任务完成;当所有任务完成后,整个项目最终完成。

图8 相关界面及其关系

在这个过程中,相关数据的处理和传递都是自动完成的,既较好地支持了项目管理的业务过程,又较大程度地提高了工作效率。可以说,IntePLM项目管理模块实施的优势具体体现在以下几点:

(1)通过自动化流程完成数据采集和处理,既解决了监控不具有时效性的问题,又节省了人力。

(2)通过建立企业标准化项目流程模版,可减少重复工作。项目流程模版不仅描述一个项目如何分解成更小的任务,而且还表达了分解后的子任务之间的执行时序、数据要求等约束关系。当遇到一个具体研发项目时,可以通过套用标准项目流程模版进行任务分解,通过工作流引擎的驱动,实现对子任务的分发。

(3)通过项目分解将复杂的产品开发流程简化,同时把部分工作流建模工作下放到子项目或任务的负责人,让那些既懂业务又懂管理的技术人员去设计,使业务流程更加符合项目的实际业务流程。

(4)通过把项目过程中的大循环转变为任务内部的、以评审和反馈优化为特点的局部小循环,并将循环纳入到工作流管理当中,解决了项目管理不能有效描述因质量、性能等指标达不到要求而出现过程反馈、迭代循环的问题,同时也使整个开发过程更符合并行工程的设计思想。

[1]彭武良,卢睿,刘振.产品设计项目过程管理的研究与实现[J].计算机集成制造系统,2008,14(1):89-95.

[2]曹健,张申生,牟玉洁,等.项目管理与执行集成技术研究[J].计算机集成制造系统-CIMS,2004,10(1):37-43.

[3]孔建寿,张友良,汪惠芬,等.协同开发环境中项目管理与工作流管理的集成[J].中国机械工程,2003,14(13):1122-1125.

[4]陈剑,朱林,刘清华.PDM项目管理模型的研究与实现[J].计算机工程,2003,29(10):110-111.

猜你喜欢

子项目层次化项目管理
面向量化分块压缩感知的区域层次化预测编码
服务进程中消费者对子项目顺序的遵从性研究
装配式EPC总承包项目管理
基于大数据分析的集合式EPC总承包项目管理软件技术的应用
项目管理在科研项目管理中的应用
活性炭为中心综合项目总体布局
未来如何更高效地进行工程项目管理
基于案例的电子技术实践教学内容与教学设备的设计
铁路传送网OTN设备互联互通开销层次化处理研究
舰船系统间电磁兼容性的层次化优化方法