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