内容分析:
本文详细探讨了软件开发企业中的多项目管理模式,作者基于自身丰富的项目管理经验,从多项目管理的概念、目的、需求、思路以及人员管理等方面进行了全面的阐述。文章首先分析了在当前竞争激烈的软件开发行业中,多项目管理对于优化资源、提升效率的重要性,接着详细介绍了多项目管理的理论框架、实施策略及在人员管理上的具体建议。文章还强调了在多项目管理中,任务的有效分类、项目管理员组的角色分配、任务审核员的设立以及团队成员专业素养的提升等方面的重要性。
阅读建议:
- 了解基本概念:首先理解多项目管理的定义、目的及其与传统项目管理的区别,为后续阅读打下基础。
- 关注实施策略:重点阅读多项目管理的实施思路,包括任务的分类、项目管理员组的角色分配和任务审核员的设立等,这些策略对于提升项目管理效率至关重要。
- 人员管理建议:关注作者在人员管理上的建议,如专业素养的提升、绩效考核的调整等,这些建议对于促进团队成员在多项目管理模式下的积极工作具有指导意义。
- 结合实际思考:在阅读过程中,结合自己所在企业或组织的实际情况,思考如何将这些理论和策略应用到实际工作中,以提升项目管理的效率和质量。
阅读时长:
由于文章内容较为深入且详细,预计阅读时长为30-40分钟。具体时间取决于读者的阅读速度和理解能力。对于项目管理领域的专业人士或对该话题感兴趣的读者,建议花费更多时间深入阅读和理解。
现已临近2024年软考,周围一些报名参加信息系统项目管理师考试的“小伙伴”还未准备论文,他们找到我,希望得到一些帮助。众所周知,IT是不养老的行业,作为一名IT老鸟,我通过认证的年代距今十余年已经颇为“久远”,实在是与如今考纲、评分规则有些脱节。但找的人多了,只好“厚颜”拿出很久之前写的一些论文凑数(包括参加继续教育准备的论文,都很粗糙),仅供大家参考,希望予人玫瑰,手有余香。
目录
2. 除项目经理之外的所有人的工作都是为了“任务”而服务的,而并非为了“项目”而服务
摘要
本文结合笔者在日常项目管理工作过程中面临多项目管理的实际经验,就软件开发企业中进行多项目管理模式的基本知识进行概括,并就该模式的应用谈一些思路,尤其对应用该模式后的人员管理和工作安排提出观点。
关键词:多项目管理 项目管理 项目管理模式
正文
在我国信息化建设需求日益增长的现在,软件开发行业竞争非常激烈。在市场环境加速发展和成熟的情况下,如何在现有人员规模和基础设施的条件下,尽可能多做项目,很好的进行多项目并行管理是许多软件企业领导人或研发单位软件开发部门负责人所面临的问题。由于在项目实施过程,尤其是软件项目开发工作的中期和后期,必然存在着有部分人员工作空闲,并不能高效的完成工作,无法发挥组织成员应有的价值,进而为组织创造更多利润。因此许多软件企业计划或被动引入多项目管理模式,尽最大的可能性提高员工工作的饱满度,增强效率,挖掘其工作的潜力和主动性。但是在引入多项目管理模式的过程中往往存在这样或那样的问题。为了更好的使软件企业管理者认识并理解多项目管理理论的基本知识,笔者结合多年项目管理的实践经验撰写本文,对多项目管理的理论进行简要概括,并结合实际项目管理经验提出一些浅见。
一、多项目管理及目的
1. 多项目管理的概念
多项目管理涉及对组织内同时进行的多个项目进行全面周期的管理。这种管理方式源于项目管理方法在企业或政府部门等组织中的广泛应用,并逐步演变成一种面向长期性组织的管理策略。简单来说,它要求组织在同一时间内对多个项目进行协调和管理:涵盖项目的前期可研、评估与策划、中期监控与实施,以及后期收尾与总结等各个环节,旨在优化所有项目的整体执行效率。这种管理方式是通过成功地管理项目群、项目组合以及单个项目来实现的。
由于多项目管理知识领域很广,多项目管理工作涉及方方面面,因此本文结合笔者项目管理实践经验,仅针对多项目管理中人员管理和开展模式进行简要讨论。
2. 多项目管理的目的
多项目管理的核心目的在于最大限度地优化组织资源,提升运营效率,并实现战略目标。通过利用多项目、多任务的管理模式,我们能够确保所有员工都得到充分的工作饱满度,进而最大限度地挖掘他们的工作潜力和主动性。这种管理方式不仅使每个员工都能在各自负责的领域内发挥专长,还有助于培养团队的协作精神和创新意识。
在研究多项管理模式中的角色安排时,我们明确分工和责任,确保每个成员都清楚自己的职责范围和工作目标。这种明确的分工不仅提高了工作效率,还增强了团队的责任感和执行力,为项目的成功实施提供了有力保障。
同时,通过对多项目管理模式的研究和实践,我们积累了丰富的经验。这些经验不仅有助于我们在多项目管理中取得更好的成绩,还可以为单项目管理的改进和发展提供有益的参考。我们将这些经验应用到单项目管理中,使其更加科学与实用,从而提升整体的项目管理水平。
二、多项目管理需求
(图1:多项目管理模式图例)
图一所示的多项目管理场景之一:通过管理层PM间的交流和沟通,来实现任务的委托。通过多个项目组中空闲人员的协作来完成任务的实施。组织内多项目管理需求是自然产生的:
- 跨项目的任务委托与协作:在多项目环境中,单一项目的管理已经不能满足企业对于资源优化和效率提升的需求。因此,各个PM间的交流和沟通变得尤为重要。通过有效的沟通,可以实现任务在不同项目间的委托和分配,确保各项任务能够得到及时、有效的处理。这种跨项目的任务委托不仅提高了资源的利用率,还有助于实现企业整体战略目标的协调一致。
- 空闲人员的有效利用:在多个项目组中,总会存在某些时段部分人员处于空闲状态。通过多个项目组中空闲人员的协作,可以更加灵活地完成任务的实施。这种协作方式打破了传统项目管理的界限,使得人力资源能够在多个项目之间自由流动,从而实现了人力资源的优化配置。
- 资源共享与整合:多项目管理要求企业能够在不同项目之间实现资源的共享和整合。这包括人力资源、技术资源、物资资源等。通过资源的共享和整合,可以降低企业的运营成本,提高资源的利用效率。同时,也有助于形成企业内部的知识共享和文化传承,提升企业的整体竞争力。
- 灵活应对变化:在多项目管理中,由于涉及多个项目的并行推进,因此更加需要灵活应对各种变化。这要求企业管理层具备敏锐的市场洞察力和快速的决策能力,能够根据市场环境、项目进度等因素及时调整任务分配和资源投入。同时,也需要建立完善的变更管理流程,确保在项目执行过程中能够及时调整计划,减少不必要的浪费和损失。
三、多项目管理思路
1. 项目是由若干个任务组成的,是任务的有序集合
从纯粹的意义上,“项目”只是一个我们定义外部事务的概念。虽有其明确边界,但就其内部而言,项目成员的工作都是围绕着“任务”来实现的。大家要做的工作,就是完成“任务”。
2. 除项目经理之外的所有人的工作都是为了“任务”而服务的,而并非为了“项目”而服务
在当前的软件开发环境中,软件企业必须积极推动全体员工实现从传统项目管理模式的转变,以适应新的工作方式和意识形态。这一转变的核心在于明确界定各个角色的职责,并优化工作流程。
项目管理员组(PMT)在这一新体系中扮演着关键角色。他们的工作不再局限于传统的项目管理任务,而是需要将整个项目精细地拆分为多个明确的任务,并合理分配给项目成员。这一过程中,PMT需确保每项任务的清晰性、具体性和可行性,以便程序员能够准确理解和实施。
项目成员的角色也随之发生转变。他们的主要工作变为深入理解所分配的任务,并高效、准确地将其转化为代码、文档,最终交付符合标准的成果。这一变化要求成员更加注重任务细节,同时提升代码与文档编写的专业性和效率。
此外,“任务审核员”成为这一新体系中的重要一环。他们往往由产品经理或项目经理担任,其主要职责是将成员完成的各个任务进行有序的“序列化”拼接,确保项目的需求符合性、整体连贯性和完整性。这一角色的引入,有助于提升项目的整体执行效率和成果质量。(具体职责后文详细说明)
综上所述,这一新体系不仅要求软件企业在思想意识形态上发生转变,更需要在实际操作中不断优化和完善各个角色的职责和工作流程,以实现更高效、更规范的项目管理。
注:这里的前提是:组织内项目实施的技术栈、开发框架等是尽可能遵循组织标准和具备统一性的,以便于跨项目协作和成果共享。
(图三:项目实施)
3. 任务是可以分类的
虽然不同的任务都是各有特色的,但是我们依然可以把它归为如下几类:
- 公共关键任务:这类任务主要涉及公共事务的定义和共有模块的开发等核心工作,它们在项目中扮演着“先锋”角色。这些任务是构建项目基础的重要组成部分,为后续工作铺平道路,确保项目的顺利进行。
- 与特定项目相关的主线任务:这类任务在项目中占据主导地位,数量众多且对客户至关重要。它们直接关联到项目的核心需求和客户的实际使用率,因此常常面临变更和较大的后期维护量。可以说,这些主线任务的成败直接决定了整个项目的成败。
- 与特定项目相关的支线任务:相较于主线任务,支线任务在项目中的优先级和影响力较低。它们通常不是客户关注的重点,使用率较小,变更可能性较低,后期维护量也相对较小。这类任务更适合进行跨项目的多项目管理,以提高资源的有效利用率。
- 暂与项目主线无关的任务:这类任务目前尚未与特定项目产生直接关联,可能是多种技术前瞻性研究,探索项目关键技术路线的任务。它们更像是一种储备力量。这些任务具有小而精的特点,随时准备转化为上述三种任务之一,为项目的持续发展和应对未来挑战提供有力支持。
4. 项目管理员组及人员安排
我们发现“项目管理员组”对于项目、对于任务来说,是一个“枢纽”,是项目开展并顺利进行的主导者。它需要掌握和分析客户的需求、组织系统原型的建立、策划和建立数据基础、分割项目为任务、并对任务进行验收。所以它必须要包括如下几个角色:项目经理、需求分析师、系统分析师、首席程序员、数据库管理员、任务审核员、测试主管。他们的工作范围如下:
项目经理:全面负责项目整体规划、资源协调和进度把控,确保项目按照既定目标稳步前行。
需求分析师:深入剖析和精准把握客户需求,为项目奠定坚实的需求基础,确保最终产品紧密贴合客户期望。
系统设计师:负责构建系统原型,对项目整体架构进行设计和优化,确保系统的稳定性和高效性。
首席程序员:在技术层面提供权威指导,确保软件开发过程中的技术难题得到妥善解决,提升项目整体技术水平。
数据库管理员:策划和建立数据基础,维护数据库的安全、稳定和高效运行,为项目提供坚实的数据支撑。
任务审核员:负责组织已有成果的复用、交付物审查,并专注于任务的拆分与整合,确保各项任务能够有序、高效地推进,为项目的顺利实施提供有力保障。
测试主管:负责项目的测试与验收工作,严格把控项目质量,确保最终交付的产品符合预设标准。
5. 任务审核员
任务审核员是在本多项目管理思路中产生的新型角色,其职责在项目管理流程中起到了关键的桥梁作用。这一职位要求具备深厚的组织技术栈知识和对公共成果库的熟悉,同时对综合素质有着较高的要求。此外,任务审核员还需对项目目标和需求有全面的理解,能够独立分析问题,拥有一定的测试技能,并展现出强大的逻辑思维能力。
在任务的整合与序列化环节,任务审核员需严格遵循需求分析师和系统设计师的文档指令,对项目成员的交付物进行细致的审查,或将各种交付物和可复用成果进行有序且高效的“组装”。在需要时,他们必须与需求分析师、系统设计师及项目经理保持紧密沟通,以便引导客户需求、优化系统设计思路,并对工作分解结构(WBS)进行调整和完善。此外,任务审核员还负责指导项目成员编写符合文档标准的代码,并协助测试团队对系统功能的连贯性进行全面的测试。通过这些工作,任务审核员确保项目的顺利进行,并保障最终交付成果的质量。
6. 项目管理员组的协作
多项目管理一个重要基础就是各个项目管理员组之间的沟通和协作。只有沟通才能决定一个任务是否可以委托给另一个项目组来完成。而项目管理员间的协作也需要由更高一级的管理人员,或项目管理部(矩阵型项目组织)来完成。其中,项目组间的协作可以采用两种手段:
- 直接通过两个小组的沟通,来实现任务的委托。
- 通过上一级领导部门的安排,来实现任务的委托。
7. 任务的流转应该包括的内容
从“微观”层面来说,任务也是一个项目,是一个最小化的项目。任务的管理方法也应该遵照经典的项目管理理论。而就一般任务而言,细分之后的“微小”任务,越贴近底层实现,其项目个性化特征越模糊。
在项目管理员组分割项目后,项目管理员组必须要向项目成员提供如下几个任务要件:
- 任务流程图
- 简要说明文档
- 进、出参数指标
- 相关对象、数据结构
- 相关协作组件说明
- ……
在项目成员完成任务后,必须向项目管理员组反馈如下几个任务完成要件:
- 满足设计要求的代码结果
- 任务实施文档
- 程序流程图
- 单元测试方法
- 对于任务设计的建设性意见(可选)
- ……
8. 如何提高工作效率
任务也有自己的生命周期,但相对于项目来说,它是相对短期的。如果我们可以找到一种方法来缩短任务的生命周期,或者说找到一种方法使任务间的串联变得更加紧凑,那么对于项目来说,我们不仅仅将项目的工期缩短,而且还能最大限度的提高工作效率,进而节约项目成本。
通过包括任务审核员在内的PMT每周例会审查进度报告、挣值表、看板等,及时修订WBS,可以找到我们的时间在哪里可能存在着浪费。我们完全可以利用多任务来“填充”。即项目成员可以在一个任务完成后,可以迅速的切换到下一个任务的实施中去。就好像F1大奖赛的维修站一样,维修(切换)耗时越短,越对赛手(项目)有力,是成败的关键。这里不得不再次提出多项目管理、跨项目协作的前提要求:组织具有通用的开发框架、技术栈规范等。
四、在多项目管理模式下的人员管理
下面笔者就在多项目管理模式下人员管理工作谈几点粗浅看法。
1. 培养员工的专业性
记住:“让他们了解到他们是软件大厦建设中的极具价值的成员”。在多项目管理模式下,软件企业中项目之间的“壁垒”被打破,成员管理工作是跨项目进行的,这就要求成员必须遵从统一的软件开发架构、遵从相同的技术标准,具备基本上相同的专业性和尽可能一致技术水平。这样才能较好的在多项目中进行协同工作。
2. 项目管理员组的安排任务
在多项目管理模式下,软件企业中的项目“壁垒”被打破,成员管理工作是跨项目进行的。这就要求我们每一位成员必须深刻理解,他们不仅是各自项目中的关键角色,更是整个软件大厦建设中极具价值的构建者。为了实现多项目间的协同工作,我们强调统一的软件开发架构和相同的技术标准。这不仅是项目成功的关键,也是每位成员技术能力和专业素养的体现。我们要求每位成员遵从这些统一标准,以确保在不同项目中能够无缝衔接,高效协作。同时,我们也重视成员的专业性和技术水平的一致性。通过定期的技术培训和知识分享,组织应该努力提升每位成员的技术能力,使他们在多项目环境中能够游刃有余,发挥出最大的价值。
3. 趋于严谨的绩效考核的管理模式
记住:“绩效考核忌盲目建设和急于求成”。在多项目管理模式下,对软件企业的绩效管理模式也是一种挑战。此时的成员是跨项目的,项目整体绩效是不一致的,而组织成员的绩效考核按照以往的项目管理模式往往和项目绩效挂钩,此时在多项目管理模式下,这种挂钩有时也会导致能力高的成员被“运气较差”的安排到不良项目中,进而被不合理对待。因此笔者建议软件企业对成员绩效考核进行合理的调整,使项目绩效考评和成员绩效考评合理的“松耦合”,提高对个体的考评准确和公平性。促进成员在跨项目模式下积极的工作。
在多项目管理模式下,软件企业的绩效管理确实面临新的挑战。由于成员跨项目工作,项目整体绩效的不一致性使得传统的以项目绩效为基础的成员考核方式不再完全适用。为了适应这一新模式,我们需要对成员的绩效考核进行合理调整。笔者建议,软件企业应努力实现项目绩效考评和成员绩效考评的合理“松耦合”。这意味着,在考核个体绩效时,我们不仅要考虑其在特定项目中的表现,还要综合考虑其在多个项目中的整体表现,以及其专业技能、团队协作能力、创新能力等多方面因素。通过这种“松耦合”的考核方式,我们可以更准确地评估每个成员的实际能力和贡献,避免因为被分配到不良项目而受到不公平待遇。这将有助于提高成员的工作积极性和满意度,进而促进他们在跨项目模式下更加积极地工作。
4. 建立合理、合法的标准及规范体系
记住:“每一项任务的产生、实施与结束,都做到有迹可循、有法可依”。在上文中曾提到多项目管理模式下要遵从一致的价值观和衡量标准及行为准则,只有这样才能对跨项目的成员进行合理和有效的约束与管理,否则管理尺度不一致将给多项目管理下的评价和任务执行带来灾难性影响。
五、实现多项目管理,我们需要做什么?
以“任务”为管理单元,构建完善的单项目管理体系是实现任务多项目管理的基石。在此基础之上,我们可以进一步探讨如何实现任务在不同项目间的有效流动与管理。
1. 构建系统的招聘与培训体系
招聘与培训工作需具备明确的目标导向性。我们应根据项目需求进行精准招聘,以降低人力资源的重复投入。新员工的入职流程应包括针对性的能力评估和与企业需求相契合的培训环节。员工的能力评估不应仅依赖有限的面试,而应通过持续、全面的评价机制来确保其准确性和有效性。
2. 制定统一的规范、规章和管理制度
为确保项目管理的规范性和一致性,我们需建立一套完善的规章制度体系。这套体系应涵盖项目管理的各个环节,确保每位成员的工作都有明确的制度依据。同时,我们提倡在科学和规范的基础上,形成高效且灵活的项目管理模式。
3. 引入先进的项目管理软件
为提高项目管理效率和准确性,我们应积极引入先进的项目管理软件。这些软件能够支持团队成员的各项工作,使我们能够摆脱传统的人工管理方式,实现项目管理的数字化和智能化。通过软件的数据分析功能,我们可以精准地评估每位成员的工作效率和能力特点,为项目的人力资源配置提供科学依据。
4. 全面提升团队成员的专业素养
对现有团队成员的专业能力和工作状态进行全面评估,是组织持续发展的关键环节。在推行“以老带新”的政策时,我们要求资深成员深入理解多项目管理的核心理念,并不断提升自身的专业素养。同时,他们应积极支持和参与组织的多项目管理改革,推动整个团队在综合素质上实现显著提升。