浅谈项目管理之平衡原则

Li_YH Li_YH     2022-08-09     688

关键词:

项目管理是软件工程中的关键部分,而在项目管理中采取的平衡原则,使得各因素之间的关系相互协调,使目标结果达到一个“最优化”的程度。如何采取措施才能尽可能达到所谓的“平衡”是我们本次讨论的目标。

一.什么是平衡

笔者在看到项目管理中寻求这四个因素之间的平衡时,首先想到的是大致如下的关系:

                                                       

结合生活实际,其实我们可以用通俗的语言描述其中的六条关系:需求的提升,我们消耗的资源会增加;我们完成的工期与用户的需求相连,用户不希望工程交付的太过晚;同时,用户需求中包含着质量的高低;相比较来说,保证一个好的质量需要我们投入更多的资源;要完成一个工期;同时一个高的质量产品,也不是赶工期就可以完成的。这也要求我们实际考虑时应该达到这样一个效果,即达到一个多元函数Y=F(demand,resource,time,quality)的最优值。

在讨论平衡之前,有必要认识项目管理,项目管理的目标不只上述所陈述的4个因素,还包括风险管理、配置管理等等,对于项目管理来说,更是一个具有综合性以及复杂性的任务,了解需求管理、资源管理、时间管理以及质量管理的同时,我们也会发现所谓的平衡原则或许渗透到了其中。本次我们们以平衡原则中几个重要原则:分解、优先、高效、合作为例进行讨论。

二.分解原则

所谓“全局规划,分布实施,步步见效”,为了我们的管理更有层次。在需求管理中首先要进行分类管理,将软件需求分出层次,不同层次需求的侧重点、描述方式和管理方式是不同的。例如,高层领导人提出来的需求是目标性需求,中层管理人员提出来的需求是具体的业务流程的需求,而作业人员提出来的需求是侧重于操作性的需求。这也反映了我们的全局规划,自上而下的工作需要有序的进行。

这里介绍一个对工作分解的结构:WBS(Work Breakdown Structure)结构。创建WBS结构是把项目可交付成果和项目工作分解成较小的,更易于管理的组成部分的过程。WBS的基本定义是:以可交付成果为导向对项目要素进行分组,它归纳和定义了项目的整个工作范围每下降一层代表对项目工作的更详细定义。这样的分解,使得每个部分实施起来更有效果。下图便是一个WBS的建房例子

                                           

 使用WBS也需要注意:顶层级别代表了最终的目标;分结构一般代表着工作组里面不同的部门;所有WBS中的元素不需要定义为相同的级别;一个工作块相比较其他工作块来说是独立的,它的完成最好不超过10天。

三.优先原则

在软件工程中之所以需要优先原则是我们解决主次矛盾的问题。我们可以适当运用Pareto规则(二八定律):在实际中企业80%的问题可以用20%的投资解决,而20%的次要问题则需要花费80%的投资的。在软件项目中,如果出现了过多的需求,通常会导致项目超出预算和预定进度,最终导致软件项目的失败,此时需求的优先级可能比需求本身更为重要。例如,负责软件需求的领域专家列出一个很长的功能表,但最终费用和工期无法接受。这时候我们需要裁剪需求,对需求划分优先级,一个好的项目需求,必须有需求的优先级,便于进行项目的整体平衡。

时间管理中也是有同样的问题,把待办工作分为4种,紧急重要的工作、重要不紧急的工作、紧急不重要的工作和不紧急不重要的工作,紧急任务要求立即执行,其中排在第二和第三位置的安排是因为项目组常常处于紧急任务与重要任务互相排挤的状态中,紧急任务是要求立即执行的,使得项目组没有时间考虑重要任务,人员在承受时间施加的无休止的重压,会使他们搁置重要任务,进而导致更为严重的长期的后果。

四.高效原则

保持项目时刻的高效也不是仅落实在一个方面就可以的,在人员的安排,目标的选择,及时的交流都会影响我们工作的速度与质量。什么是高效?笔者认为在短时间内完成高质量的任务就是高效。这里,资源尤其是人力资源的管理是非常重要的。“在IT行业,很难在合适的时间找到合适的人才,很难合理地组织人才和留住人才,很难恰当地使用人才和培养人才”。正如在项目组中,首先要遴选精英成员,还要使其各司其职。例如,我不能把一个擅长做规划的人安排去编写程序。

软件项目的人力资源分配大致符合Norden-Rayleigh曲线分布。那么Norden-Rayleigh曲线是什么呢?

                                                         

图中横坐标表示项目的整个工期,纵坐标代表需要的人力资源数量,虚线画出的矩形显示了平均使用人力所造成的问题:开始阶段人力过剩,造成浪费(1区域);到开发后期需要人力时,人手不足(2区域);后来补偿时间过晚(3区域)甚至可能现Brooks定律的情况:“向一个已经拖延的项目追加新的开发人员,可能会使这个项目完成得更晚”。

不可或缺的沟通管理:沟通管理是对项目过程中产生的各种信息进行收集、存储、发布和最终处理,由沟通计划编制、信息发送、性能报告和阶段的结束构成。沟通,不仅包括项目组内部程序员和项目经理的沟通,还需要客户与项目组的沟。沟通的不足会导致效率的降低。举个例子:客户在检查项目阶段的某个成果时,指出曾经要求的某个产品特性没有包含其中,项目经理却对此一无所知,原因是客户以口头的方式反映给了项目组的成员但是该成员忘记了这一点。还有,程序员在设计评审时描述的模块架构与软件开发的架构大相径庭,这就在于项目经理和开发人员之间的沟通不足,要注意团队的沟通。

关于人员评估:通过评估我们可以激励人员,保证绩效。良好的绩效管理可以一目了然地反映项目成员的业绩,一切以数据说话,更能体现公平。绩效考核分项目绩效和个人绩效两个部分,项目绩效从项目成本、利润、完成计划情况、项目质量、规范程度、文档水平、技术、产品化和共享度方面评价项目效果。个人绩效采用员工自评和与项目经理考核相结合的方式,从敬业精神、工作责任感、个人技能、个人贡献、团队合作、工作效率及完成情况进行评估。需要注意的是,绩效考核完全公平很难做到,因此我们要以鼓励为原则,不断完善绩效制度,尽量量化指标减少人为因素的干扰,并正确对待项目的失败,关键要做的是认真总结其经验与教训。

五.合作原则

开发一个项目,一个工程显然一个人的力量是远远不够的,一个团队组建的完成不等于团队建设的完成。团队建设可以促进成员之间的相互合作。首先,对于一个优秀的项目经理而言,他需要成为一个出色的项目团队建设者,为了保证团队有效,可以从以下几个方面考虑:

1.对团队成员有耐心、友好;

2.解决问题而不是责备人,把注意力放在行为上,帮助他人解决问题;

3.召开有经常性的、有效的会议,注重项目目标的实现及产生有效的效果;

4.将每个工作组的人数限制在3-7人;

5.计划一些社会性的活动来帮助项目组成员相互了解;

6.强调团队的统一性,创建团队成员喜欢的传统;

7.认可个人和团队的绩效;

前文所述的沟通管理,也是合作表现的一个部分;除此之外,还应该培训学习型组织氛围。在项目所实施的过程中,客户的需求在逐步明确和提高,功能要求更加理性并趋于合理,不仅要求系统的灵活性、适应性和可扩充性,项目成员自身提高的愿望也是学习型组织的动力之一。通过全员参与学习的氛围,把集体利益和个人利益结合起来,挖掘整个项目团队的潜力和智慧,提升项目团队的竞争优势。

六.结语

笔者认为,软件工程中的项目管理,是一项不同于纯技术的知识。与以往我们不断学习练习的编程能力不同,这其中有很多管理学领域的知识,更体现了这个系统的复杂性。同时,这也是体现“人”的一方面,操作对象不再仅仅是机器和二进制码。如何协调人与人之间的关系,人与机器资源之间的关系等都是项目管理之间的内容。作为一个好的项目经理应该具备很多这样的“人性化”的考虑,同时又能使任务高效地完成。

本次讨论的平衡原则,则是项目管理中遵循的一个普遍原则。当然,更广泛地说的话,所谓“平衡原则”,体现在管理各个因素的里面,诸如单独讲需求管理、资源管理里面的平衡原则是具有局限性的。考虑“平衡原则”,我们应该综合考虑这些因素,然后计划出一个有效的策略。

当然,项目管理更是一种实践,一种经验,仅从书本及文献中的内容还不足以让我们真正掌握它的精髓,这些理论更是从广大实例中总结而来的,管理理论来源于实践,又回归实践,当我们真正经历了某个项目的开发,管理了某个项目,我们才能够真正体会项目管理在软件工程艺术性的存在。

 

 

参考文献

[1].Roger S.Pressman .Software Engneering A Practitioner’sApproach

[2].覃征,徐文华,韩毅,唐晶.软件项目管理,清华大学出版社

[3].刘凤华,任秀技.软件项目管理,中国铁道出版社

[4].http://www.workbreakdownstructure.com/   Work Breakdown Structure

[5].http://baike.baidu.com/link?url=SFe2-OpnS4WHqpETO8gD79on5hdMH0SdX5g533YJW1SJ-TLhRxGT0Of19VkrUD9weDeuh6PjropkJW-3tVZT3913_ceZsxYjJD1imKlU_-_  WBS(工作分解结构)

[6].http://blog.csdn.net/bamboolsu/article/details/43918821 软件项目管理的一些原则

[7].http://wenku.baidu.com/link?url=foLWc31Sybkg3mKpundalASnBhs9F-QklEb7ZX7dMnQCmakE1p8nPuZqCN9n6doqbgjy2ukoJPjvuZS6kMFMNuI3fMIHbcHMJPYODhf3PsS百度文库 软件项目管理的平衡原则

浅谈客户沟通之道一

 与客户一起快乐工作,这是个美好的目的。但实际中缺不是这样的,因为你是供应商,客户是服务接受方,这就决定了你们是相互对立的,你们的利益不是一致的,那些表面的一致是因为一方为另一方让步而换来的,这是不... 查看详情

unity项目开发——浅谈设计模式的六大原则(代码片段)

目录前言首先,六大原则是谁?其次,为什么需要学习这六大原则?正文一、单一职责原则示例:因此我们需要进行拆分,根据具体的职能可将其具体拆分如下:Unity单一职责原则二、开闭原则Unity开闭... 查看详情

浅谈项目管理之风险管理

浅谈项目管理之风险管理IT项目经理、建筑项目经理、医疗项目经理等等不同项目类型都有一个管理者,通常这个管理者被称为“项目经理”(PM),项目经理的职责就是在有限的资源约束条件下,运用系统的理论、观点和... 查看详情

浅谈开发中常用的设计模式

设计模式在开发中占很重要的地位。在大型项目中使用好设计模式往往会取得事半功倍的效果。本篇博客就介绍下几种在开发中常用到的设计模式。设计原则先看下一些约定俗成的设计原则,其实要遵守以下所有原则很难... 查看详情

算法小讲堂之b树和b+树(浅谈)|考研笔记

文章目录一、前言二、定义三、原理3.1树的高度3.2查找操作3.3插入操作3.4删除操作3.4.1删除关键字是非叶子结点3.4.2删除关键字是叶子结点四、B+树五、应用一、前言前面学习了平衡二叉树(AVLAVLAVL树),我们知道... 查看详情

管理心得之六十二浅谈“项目状态会议”

场景再现==================项目经理A: 最近和客户、团队成员每星期开一次状态会议,似乎遇到了问题。 我发现很难在两小时内把事先准备的会议议程表内容都过一遍。项目经理B: 状态会议需要2个小时?时间不短呀。... 查看详情

项目群管理到底管什么?之七大原则

项目群管理到底管什么?之七大原则|项目群管理转自项目管理者联盟  项目群管理的全景图项目管理者联盟  那项目群管理到底管什么?接下来我们一起看下面这张图。这张图其实是来源于英国的一个管理方法论,我们把它称... 查看详情

mongo3.4分片集群系列之八:分片管理

...致想跟大家分享以下篇章:1、mongo3.4分片集群系列之一:浅谈分片集群2、mongo3.4分片集群系列之二:搭建分片集群--哈希分片3、mongo3.4分片集群系列之三:搭建分片集群--哈希分片+安全4、mongo3.4分片集群系列之四:搭建分片集群-... 查看详情

管理从砖瓦进化为人——浅谈传统软件工程到敏捷软件开发之变革

管理从砖瓦进化为人——浅谈传统软件工程到敏捷软件开发之变革前言 如果把软件开发过程比作修筑一座建筑的话,传统的软件工程方法对人的管理就像是把人化作一砖一瓦,秩序地堆砌,一层一层构建起摩天大厦。显然地... 查看详情

架构师内功心法之设计原则

...追求完美,要在适当的场景遵循设计原则,体现的是一种平衡取舍,帮助我们设计出更加优雅的代码结构。1.3.七大设计原则[x]第1章Open-ClosedPrinciple开闭原则[x]第2章DependenceInversionPrinciple依赖倒置原则[x]第3章SimpleResponsibilityPrinciple... 查看详情

浅谈云原生架构的7个原则

简介:作为一种架构模式,云原生架构通过若干原则来对应用架构进行核心控制。这些原则可以帮助技术主管和架构师在进行技术选型时更加高效、准确,本文将就这些原则展开具体介绍。作为一种架构模式,云... 查看详情

测试浅谈(原则简单流程)

1、测试的原则:·测试证明软件存在缺陷·不可能执行穷尽测试、·测试应尽早启动、尽早介入·缺陷存在群集现象(二八定律)·杀虫剂悖论·不同的测试活动依赖不同的测试背景·不存在缺陷的谬论2、测试的流程·1.需求分析·2.测... 查看详情

prince2是什么prince2认证之七大原则

...则:根据项目环境剪裁PRINCE2的价值在于它是一个通用的项目管理方法论,基于这样的设计理念,可根据特定需求进行裁剪。如果不进行裁剪的话,往往导致一个极端,即机械型项目管理,不加思考的PRINCE2.。另外一个极端就是英... 查看详情

项目开端之环境搭建原则

一、统一的平台开发环境 例如:J2EE开发平台(详细的版本号控制) JDK、Tomcat、MySQL、Spring、MyBatis、Jackson、Junit、Redis Eclipse及安装插件的版本、其他等等好处:在以后解决问题的过程中,就可以排除平台不一致所带来的未知的问... 查看详情

网站搭建建站项目之网站代码网页设计开发的个人分析浅谈(代码片段)

用我多年的搭建BC网站建站的经验来为大家浅谈分析下网站前端代码的设计开发意义和功能。大家都知道搭建一个网站从窗口意义上来说就是分为前端客户打开界面和运营商后台打开页面,前端主要展现的是客户的操作页,侧重... 查看详情

小柚智汇-vue项目之浅谈性能优化(代码片段)

江头月底,新诗旧梦,孤恨清香。概述随着EDG夺冠的喜讯从7777公里外的冰岛传来,我也完成了自己的第一个主导团队开发的Vue项目:小柚智汇以我们卓越班同学的实际需求出发,解决周报,文件,计划... 查看详情

prince2是什么prince2认证之七大原则

我们先来回顾一下,PRINCE2七大原则分别是持续的业务验证,经验学习,角色与责任,按阶段管理,例外管理,关注产品,剪裁。 第二个原则:吸取经验教训。PRINCE2要求项目团队吸取以前的经验教训,在项目生命周期中发现... 查看详情

浅谈企业数字化转型之主数据管理系统(mdm)

信息化的时代已经快要过去,传统的ERP系统只能满足企业节省劳力,将日常的业务流程以各种不同的IT信息系统的形式固定下来,并留下记录,提高企业管理效率。越来越多的企业开始向数字化、数智化方向转型&#... 查看详情