项目经理如何安排开发任务?
一、项目前期准备
在进行任何一项较大的项目开发时,首先要进行项目的可行性分析和研究。
因为这些项目中的问题并不都有明显的解决办法,这样就很难在预定的时间、费用之内解决这些问题, 如果这些问题没有可以行得通的解决办法,贸然开始这些项目,就可能导致项目的失败,造成巨大的损失(包含经济损失和合作单位的信誉度的降低)。
二、可行性分析
软件项目可行性研究的目的是用最小的代价和最短的时间,确定该项目是否能够开发,值得开发,其实质是要进行一次简化的、抽象的需求分析和设计过程,主要应从以下几个方面进行分析。
1、技术可行性
对要开发项目的功能,性能和限制条件进行分析,确定在现有的资源条件下技术风险有多大,项目是否能够实现。
现有的资源包括硬件资源、软件资源、现有的技术人员和技术水平、已经有的工作基础等,判断技术上是否可行,主要需要考虑以下几个问题:
1) 开发的风险;
即在给定条件下能否实现目标的功能和性能。
2)资源的有效性;
3)技术的发展性;
由于需求未经过详细的调研, 存在模糊性和可能的变化, 开发人员进行技术可行性评估时,存在比较大的风险, 一旦出现估计的错误,将可能导致灾难性的后果。
2、经济可行性
进行软件开发项目的成本估算以及了解取得的效益估算,确定该项目是否值得开发,对于大多数项目,衡量经济可行性,应考虑一个“底线”,同时应考虑本单位的长期经营策略, 潜在市场前景等因素。
3、社会可行性
应考虑项目是否存在任何侵权、责任等问题,考虑在现有的制度、法规下是否行得通,包括合同、责任、法律等多种因素。
4、需求调研
在项目前期工作中,需求调研是其中最重要的一个环节,今后的许多工作都依赖于需求调研的结果,需求调研的过程是渐进的,在可行性分析阶段,主要关注的是本项目规模、范围和重点的功能,在项目进入正式开发流程以后,我们需要更加全面、准确地了解系统的需求,不重视需求过程的项目队伍将自食其果, 需求工程中的缺陷将给项目成功带来极大风险。
1)无足够用户参与导致产品无法被接受;
2)用户需求的增加带来过度的耗费和降低产品的质量;
3)模棱两可的需求说明可能导致时间的浪费和返工;
4)用户增加一些不必要的特性和开发人员画蛇添足;
5)过分简略的需求说明以致遗漏某些关键需求;
6)忽略某类用户的需求将导致众多客户的不满;
7)不完善的需求说明使得项目计划和跟踪无法准确进行。
三、项目团队的组织
建立项目团队是项目开发过程的开始,一切工作都是由项目团队的成员完成的,在整个项目的运行过程中,需要很多不同的角色参与到项目中,完成不同阶段的任务。所以在建立项目团队的过程中要把握好人员角色的划分、特别人员管理与激励、监督等。
整个人员的管理是项目管理的关键,因为人是活的,而项目是死的,只要人员管理妥当,项目开发一般是不会出什么问题的。
四、项目开发计划
软件项目的特征之一就是需求的不确定性和开发过程中存在的技术风险,按照通常的方法,制定一个项目的计划应该是先根据项目的需求,进行详细的任务分解,从而找出实现的方法,估计出项目的工作量,再根据项目资源的状况,制定出项目的计划。
但是,在现实的工作中,项目的时间表往往是事先确定的,给开发留出的时间也是事先定好的。
而我们能够利用的资源,主要是开发的人力资源,也被事先基本确定了,在被确定的这两个前提条件下,我们如何根据项目的需求,合理地安排人力和时间,完成项目的开发,这是现实中项目管理者经常遇到的问题;
如果事先确定的时间表是相对比较合理的,至少应该是我们够完成的,我们制定的开发计划才是有意义的,否则,按照这个时间表制定出来的计划只能是失败的。
在这种情况下,项目管理者唯一可以做的是对用户的需求进行剪裁,去掉某些耗时长而且不太重要的功能,或是在开发中适当降低质量要求,或许可以完成项目的进度。当然这必须最终要得到用户的认可。
五、项目开发过程管理
1、详细设计:
在详细设计阶段,由于任务已经详细地分解,总体地解决方案和技术框架已经确立, 详细设计地目的就主要是针对某个特定地模块或对象,根据需求、技术框架的要求和模块间的接口,描述出我们实现功能的方法,主要内容包括:
1)内部算法描述;
2)内部数据组织;
3)相关接口详细设计。
2、设计评审:
在设计完成后,必须安排设计评审以保证设计的质量,通常设计评审以小组内部的评审会的方式进行, 参与人员包含项目小组内部的人员及其负责人,由开发者介绍其设计思路、关键算法的突破及模块功能的划分等,评审人员要相对了解该项目的背景并对其设计质量进行评审。评审的内容主要包括:
1)关键算法的可行性;
2)接口是否符合概要设计的要求;
3)技术清晰度是否符合设计标准;
4)文档的完备性。
评审通过的设计, 才能够开始编码工作, 评审的结果应记录到开发文档当中。
3、编码:
在编码阶段,主要需要在编码工作结束后,进行代码审核,这项工作非常重要主要应该由项目小组的技术负责人完成,审核的目的并不是为了检验代码的正确性,而是需要对编码是否按照规范进行审核。主要内容包括:
1)变量、包、方法等的命名是否符合规则;
2)注释是否填写完整,是否符合规范;
3)代码的可读性、编写风格是否符合规范;
4)是否有明显的造成系统运行低效率的处理方法;
5)公共变量的定义和使用。
4、调试:
编码工作完成以后,通常需要开发人员自己进行单元测试,有些部分需要编写相应的测试程序及用例。
应该避免发生这类的情况,有些开发人员认为自己不应该进行测试工作,在编写完代码以后,只要编译成功,就直接提交成果,将测试工作完全交给测试人员去做,这样做不仅仅给测试人员增加了许多的工作量,同时增加了许多因为交流产生的时间的拖延,造成进度的延迟,管理人员应该杜绝程序员的这样的思想,同时在管理中予以考虑,可以将提交成果产生的bug数量作为考核程序员业绩的标准之一。
六、项目后期管理
项目验收,是整个项目生命周期中最后一个环节。一般来说,软件项目的验收一般来说有2个阶段:
第一个阶段是验收测试,当验收测试成功结束后,一般会有一个阶段的试运行阶段,只有当2个阶段全部结束后,整个项目才算真正结束,可以收回全部的工程款项,该软件也进入其运行维护期。
验收测试应按照软件的需求,质量要求进行测试验收,需要甲乙双方共同建立验收小组,或请第三方测试机构进行验收测试,在验收测试之前,开发方应提供一系列的开发设计文档供验收测试使用。
七、项目总结
1、良好的项目沟通管理;
2、合理的人力资源配置;
3、用风险评估在进度和质量之间进行权衡;
4、重视需求变化的客观性,强化测试,保证软件功能完整、正确、高效是我在该系统项目中的整体管理中的几方面主要感受,为项目的顺利完成奠定了坚实的基础。
在以后的项目管理工作中,不仅要注重项目的前期准备工作,还要主要开发过程的管理以及加强测试的系统性和科学性,注重各方利益的权衡,继续深化各方的沟通,协调好开发工作各个部分及各个方面的关系,更好地完成项目。
PMP指的是项目管理专业人士资格认证。它是由美国项目管理协会(Project Management Institute(PMI)发起的,严格评估项目管理人员知识技能是否具有高品质的资格认证考试。其目的是为了给项目管理人员提供统一的行业标准。
PMP作为项目管理资格认证考试,已在国际上树立了其权威性,PMP为美国培养了一大批项目管理专业人才,项目管理职业已成为美国的“黄金职业”。在中国许多媒体已把PMP称为继MBA,MPA之后的三大金字招牌之一。
PMP考试报名费用:PMP考试初考费统一为3900元,重考费统一为2500元。
PMP考试时长:每次PMP考试时间为4个小时,9:00—13:00,可以提前15分钟交卷。
考试形式:PMP考试在国内为笔试,共200道单选题。
主要考试内容:PMP考试内容大部分来源于官方教材PMBOK指南中的五大过程组以及十大知识领域。
五大过程组:启动过程组、规划过程组、执行过程组、监控过程组、收尾过程组
十大知识领域:整合管理、范围管理、时间管理、成本管理、质量管理、人力资源管理、沟通管理、风险管理、采购管理、干系人管理。
