|
如何提高项目组的质量与效率
2008-09-23 作者:柴伟 来源:网络
关于两者之间的关系,我是这样理解的。质量是我们的根本要求,离开了质量其它就不用谈了。效率则是提高质量的关键。项目开发总是受到进度、人力等各方面资 源的限制,只有效率提高了,才可以取得最好的质量。离开质量这个根本空谈效率是没有意义的,没有好的效果,效率只会是一种浪费。
那么什么是高质量,它的标准是怎么样?以下几点应该可以作为一种标准
• 缺陷率低
• 代码的结构良好,可重用性、扩展性好
• 代码的可读性强,易于维护
• 丰富的维护手段,可维护强
目前项目组中存在那些不足呢?大概有以下几个方面
• 一些模块的封装性不好,与其它模块耦合度比较大,这导致代码的可移植性不好。
• 软件的维护手段不够,出了问题很难定位。
• 资产管理做的不好,以前积累的技术输出没有专门的管理,时间久了就流失了。需要的时候也很难找到。
• 小特性开发后,没有相应的功能和设计说明文档,不便于其它人员了解特性。
• 其它产品发现和解决的问题,没有及时同步过来。
• 分析设计过程中,方案讨论、检视的投入不够。导致特性开发的设计不够好。
一些工作改进的思考
• 为什么要强调特性设计文档?没有设计文档,开发人员的设计思想就无法传承。后继的开发人员通过代码很难完全理解前人的设计。那么开始设计好的结构就很可能被破坏。其人开发人员不容易维护。
• 还需要调试和维护指导书。特性开发人员自己在调试和问题定位的过程中,会形成一些调试方法和定位问题的思路。这对于特性的维护是很重要的。目前这部分的知识还没有能够记录下来。可以通过调试和维护指导书的形式将这部分的知识记录下来。
• 在目前的特性开发流程中,具体开发人员由于受能力和知识的限制,在设计中常常无法考虑的很周全,只注意到了功能的设计,忽视模块化、兼 容性、扩展性方面的考虑。项目组有经验开发人员的经验的能力不能为这些特性开发做出足够的贡献。一方面是由于受时间的限制,无法投入足够的精力。另一方 面,所提出的建议无法对特性开发人员产生约束。为解决这个问题,可以考虑在开发流程中增加一个环节,来专门检查设计的模块化、兼容性、扩展性。可以做一个 checklist,只有全部通过了,这个设计才可以通过。
• 为什么我们的根因分析总是流于形式?大部分问题的根因还是会归根于项目组日常管理工作的不到位。如检视投入不足,受技能水平的限制等。解决这样问题的关键还在于改善项目组的日常管理工作,否则,同样的问题还是会发生。
• 资产的管理也是一项比较重要的工作。一方面要输出各种文档,另一方面要加强对文档的管理。现在存在的问题是,随着时间迁移、组织结构的变化证这些文档资产渐渐的遗失了,相关的开发人员不知道这些文档的存在,更不用说去找了。
提高质量和效率或许都可以看作是一个目标,一个结果。重要的还是要关注项目运行的过程,既包括开发的过程,也包括日常工作的过程。对项目经理来说, 一个特定问题的解决常常并不困难。而项目经理面对的往往是一堆的问题,这些问题放在一起,就会变得纷繁复杂。项目经理的资源又总是有限的。如何找到关键问 题,并将改善工作有效的落实下去,才是需要一些智慧的。
项目整合管理就是为满足各方需求而进行协调以达到预期目的的过程。它是一项综合性、全局性的工作,主要内容是在相互冲突的目标或可选择的目标中权衡得失。虽然所有的项目管理过程在某种程度上都可看成是一个整体,但在整合管理中所描述的这些过程是最基本的管理知识。整合管理主要包括:项目计划开发、项目计划实施、项目综合变更控制这三个过程。这些过程彼此相互影响,同时与其它领域中的过程也互相影响。
项目计划开发
在整合管理中,项目计划开发就是利用其它各领域的项目规划过程的输出,创建一个内容充实、结构紧凑的文件来指导项目的实施和控制。因此,项目计划开发过程所需要的主要的依据是其它项目规划过程的成果。在这里,项目规划过程主要包括:范围计划、范围界定、活动定义、进度安排、资源规划、成本预算、质量规划、管理规划、沟通规划等一系列规划过程。在这些过程中,最基本的文件是:工作分析结构和辅助说明。
在项目计划开发中还需要考虑组织的管理政策。所有项目相关组织可能都有正式或非正式的政策。这些政策是项目实施的规范和标准,必须被项目团队进行遵守和执行,因此在计划时必须考虑到它们的影响。例如:人事管理政策中的雇佣和解雇标准等。
同时,项目计划开发也需要参考项目的历史资料。项目的历史资料是进行项目规划的基础,它为项目规划提供了参考依据。
最后,在项目计划开发中还需要考虑项目的制约因素和假定条件。制约因素是限制项目管理团队运行的因素。例如:当一个项目按照合同执行时,合同条款通常是制约因素。假定是指为了项目规划目标的需要,需要将一些不确定的内容作为真实的和确定的内容来看待。作为项目规划的一部分,项目团队经常识别、记录并促成这些假定。假定通常包含着一定程度的风险。
在项目计划开发时,通常会采用程序化的计划方法来引导项目团队的工作。对于小型项目,可能是非常简单和结构化的方法,如:标准的模板、图纸等;对于一些大型项目,可能需要采用一系列的模型和各种数学方法,如:蒙特卡洛方法、价值分析法等。对于大多数项目,一般会采用将“刚性”工具和方法和“柔性”工具和方法结合在一起使用。
在项目计划开发过程中,需要从事大量的信息收集、整理和加工处理工作,为了方便工作的进展,常常采用项目管理信息系统(PMIS)。随着计算机系统应用的普及,PMIS已被大多数项目实施组织所采用,特别是对于一些大型项目,没有这种基于计算机的系统,很难编制出复杂的项目计划。
项目计划开发将会产生两项重要的成果:项目计划和辅助说明。项目计划是正式的、被批准的用于管理和控制项目实施的文件。对于项目计划中不能包含的内容需要以辅助说明的形式来体现出来。
项目计划实施
项目计划实施过程是完成整个项目计划任务的过程。在这一过程中,项目的各种目标需要被实现,各项专项计划需要被落实。
项目计划实施的主要依据是项目计划开发阶段的成果——项目计划、辅助说明,同时组织管理政策也将作为辅助文件来指导项目实施工作。
在项目计划实施过程中,势必会有各种风险事件的发生,为了降低项目风险事件对项目实施的影响,通常会设计一些预防措施来减少项目风险事件发生概率。这些措施也将作为输入信息应用于项目计划实施过程中。
另外,在项目计划实施中,通常很难保障项目完全按照计划进行,当项目有了偏差时,就需要采取一定措施来降低偏差对于项目的影响,这些措施被称为纠偏措施,它也将作为输入信息应用于项目计划实施过程中。
项目计划实施过程是项目中最有影响的过程,项目经理和项目管理团队必须协调和解决项目中存在各种技术和组织问题以实现项目目标。在这一过程中通常采用的方法、技术和工具包括以下几方面:
1、普通管理技能。如领导艺术、信息交流和谈判等都对项目计划实施产生实质性的影响。
2、生产技能和知识。有关项目产品的技能与知识是项目计划实施的基础。这些必要的技能被作为项目规划的一部分,由人力资源管理中的人员来获得。
3、工作分配系统。这是为确保项目工作能按时、按序地完成而建立的过程。基本的方式是以书面委托的形式开始进行工作活动或启动工作包。但在某些情况下,需要根据具体的项目特点来采用适当的工作分配系统。
4、进展状况检查会议。它是项目进展信息交流的常规会议。在许多项目中,进展状况会议以各种不定期和不同级别的形式召开(比如:项目管理团队内部的周会等)。
5、项目管理信息系统(PMIS)。
6、组织管理过程。在项目实施过程中,项目的所有相关组织均存在着正式的和非正式的过程,这些过程对于项目的执行有很大的影响。
项目实施的结果是项目实施过程中产生的项目产出物。另外,还包括项目实施工作和实施结果的各种文件资料,如:哪些任务已经完成,哪些工作没有完成,满足的质量标准是什么等等。
综合变更控制
对于项目而言,变更是必然的。为了将项目变更的影响降低到最小,就需要采用变更控制的方法。综合变更控制主要包含以下内容:找出影响项目变更的因素、判断项目变更范围是否已经发生等。进行综合变更控制的主要依据有:项目计划、变更请求和提供了项目执行状况信息的绩效报告。
为保证项目变更的规范和有效实施,通常项目实施组织会有一个变更控制系统。变更控制系统是一个正式和文档化的程序,它定义了项目绩效如何被监控和评估,并且包含了哪种级别的项目文件可以被变更。它包括文书处理、系统跟踪、过程程序、变更审批权限控制等。
综合变更控制的结果主要有:更新的项目计划、纠正措施、经验总结。
以上概括性地分析了项目整合管理的主要过程和工作以及过程中采用的方法和技术。值得注意的是,在项目的不同阶段,项目整合管理工作的内容会侧重不同,工作量也会不同。但是要想使项目获得成功,必须从整合的角度,以全局的观点开展整合管理,不能只强调各项具体的专项管理工作。 |
|