时间:2022-06-08 08:30:24
序论:速发表网结合其深厚的文秘经验,特别为您筛选了1篇软件项目管理论文范文。如果您需要更多原创资料,欢迎随时与我们的客服老师联系,希望您能从中汲取灵感和知识!
[摘要]本文结合现阶段中小软件企业蓬勃发展的背景,结合软件开发的流程分析及管理中的成本、进度、质量分析。分析了中小软件企业项目中存在的问题并提出了相应的解决办法。
[关键词]软件;管理;项目;软件企业;生命周期;流程控制
随着我国信息产业特别是软件产业的蓬勃发展,一批批中小软件企业不断涌现。大大推动了我国软件产业的发展。但是不可忽视的是,有相当部分的软件企业特别是中小型企业在项目管理方面存在着先天的不足,大多仍然处于一种手工作坊式运营阶段,处于有章不循和无章可循的混沌阶段,缺乏科学化、系统化的管理,质量和效率都不强。由于处于企业的初创期,中小软件企业忙于找项目、揽项目,从而忽视了自身的实力和行业专攻,从而造成了什么项目都接、什么活都做的局面,且公司人员较少,分工不明确从而造成了此类软件企业管理流程混乱,重编码轻设计,甚至到编码完成后再回头编写、应付各种文档资料,无论从哪个角度来说,这是没有任何意义的。软件项目的开发流程不规范,项目延期、失败层出不穷。所以如何有效地对项目进行管理,有章可循,对于中小软件企业来说,是非常有现实意义的。对于广大的中小软件企业而言,如何能有效且比较简单地对自己的软件项目流程进行管理呢?
项目流程管理在软件项目的开发过程中是非常重要的一环,它贯穿着整个过程,所以有时它也被称为软件产品生命周期管理,主要内容包括:立项、策划、分析、实现、测试、、维护等环节。
首先我们从软件工程角度来谈谈这个问题。我们来说一下软件工程中开发模型的概念,无论大小,每个项目都必定要遵循一定的开发模型。软件常用的开发模型包括:瀑布模型、螺旋模型、渐进模型。那么具体到中小软件企业,在这几种模型中,我们要注意些什么呢?下面我们针对这几种常见的模型做一下分析。
一般而言,瀑布模型常用于在开发时间内需求没有或很少变化、分析设计人员对应用领域很熟悉、用户应用环境稳定、用户除提出需求以外,很少参与开发工作、需求使用面向过程的语言或编程工具且风险较低的项目。
螺旋模型常用于在项目开发早期需求可能有变化、分析设计人员对应用领域很熟悉、用户可不同程度地参与整个项目的开发过程、使用面向对象的浯言或第四代语言、中等风险项目。
渐进模型主要应用于在整个项目开发过程中需求都可能发生变化、分析设计人员对应用领域不熟悉、用户可参与整个软件开发过程中、使用面向对象的语言或第四代语言且高风险项目。
生存期定义可视软件项目特性识别和所选软件开发模型而异,对于软件生命周期的几个环节来说,他们并不是孤立的、时间层次非常明显的,它们之间也存在着时间的重叠交叉甚至错位。
对于项目管理人员来说,要注意区分这几个阶段并在不同的阶段定义不同的工作内容并严格执行。而具体到中小型软件企业,由于人员较少,各种工程外小组不太健全。所以,针对这种情况,我们对各个流程进行分解大致分为调查阶段、立项阶段、策划阶段、分析设计阶段、实现阶段、测试阶段、阶段、维护阶段。
在调查阶段:我们要采集用户需求信息、拟定立项建议最后要生成用户需求文档及立项建议书。
在立项阶段:我们需要编制可行性分析报告、立项申请报告并进行评审最后要形成评审记录。
在策划阶段:我们要任命项目经理、建立项目组。并对需求进行分析、评审。根据需求情况对项目进行资源准备(人、财、物)。在此阶段要形成软件需求规格说明书及测试大纲及需求评审记录。
在分析设计阶段:我们要进行下面的工作系统设计(含数据库、界面设计)、设计评审、用例准备、测试计划评审、项目计划修订、复用元素提取根据情况要形成系统设计文档、集成和验证测试计划、系统设计评审记录、测试计划评审记录、项目计划修订记录。
在实现阶段,我们要进行详细设计、详细设计评审、构造软件(编码、自测)、模块测试、组装测试要形成详细设计文档,评审记录、源程序、相关的测试数据和记录。
在测试阶段,我们要进行集成测试、界面冻结、编写用户使用手册、填写申请单之后进行申请评审要形成集成测试测试记录、报告、安装母盘、用户使用手册子版)及产品介绍。
在阶段,我们要编写培训教材、进行产品包装设计、母盘准备、服务人员培训、光盘刻制、资料印刷、产品包装、产品检验、产品和交付井进行项目总结。
在维护阶段,我们要采集产品问题反馈单、登录问题反馈台账、编发产品问题的E—mail、采集、登录问题反馈跟踪记录表、编报问题反馈跟踪月汇总表、产品问题审核、分类和交付、产品问题回复、本版本产品问题维护、新版产品母盘制作、编、发产品更改公告、问题维护审核、新需求台账登录。
众所周知.影响项目进展的三个维度是成本、进度和质量。如何平衡它们之间的关系,尽力做到快、好、省?在有限资源的情况下将结果处理得最优?这就是项目中管理的学问了。任何项目要被视为成功,都要必须达到几个目的,这其中包括质量要求、截止期及成本限制。质量规定给出了一个最终的定义包括项目的形式、适配性和功能,它定义了项目提交给用户时的最终状态,而且要确保项目符合这些规定。
同时项目的进度也是非常重要的,项目管理的一个重要的职责就是要确定一个合理的交付日期。这就是一处平衡的过程,协调好这三个方面的工作,同时所谓一个项目,进度是主线,其他的因素是围绕它来做的,同时进度也是项目管理的标尺。所以在项目中一旦将会期确定下来,就要将它转化为进度表的形式,并告诉你的项目组成员。当编制进度表时,头脑中要牢记住这个日期。如果你的团队知道要求完成项目的实际期限,他们将受到更大的激励,对他们会更有帮助:当团队成员知道进度的情况时,他们将能够加快自己的步伐,从而为项目的顺利完成做出更大贡献。合理的进度,不应该让项目组成员感到紧张。紧张是个人绩效的一个主要杀手。紧张的人更有可能犯错误,而且一般来说其表现不如最佳状态:一个人犯的错误越多,他对其工作及对其本人的感觉就越糟糕,他就越有可能死火。高死火率意味着高的人员离职率,意味着你要花更多的时间用于更新雇人和重新培训。紧张的工作环境导致雇员的紧张,他们反过来又导致环境更加紧张。这是一种恶性循环,对于人员短缺的中小软件企业而言,这显然是不希望被看到的。
作为一个项目来说,如果没有一个明确的目标。对有些人来说,这种情况可能造成令人难以置信的放松,而对另外一些人来说,它又可能造成难以置信的紧张。那些不知道自己的工作到底是什么的雇员,容易变得紧张;他们拿不准为什么来这里,这意味着不能担保明天他们还会出现。如果你向你的团队成员提出了足够明确的目标,并向
他们展示实现目标的途径,你的雇员不仅不会紧张,而会真的感觉自己是该项目的一部分。可能还会对自己取得的结果感到自豪。而当项目经理用富有挑战性的工作和专门技术来影响员工的时候,项目成果的机率就会增大。
你不仅应当向你的团队成员说明目标,而且你应当让他们参与确定这些目标。并且一般来说让他们参与计划的编制,这是绝对必要的。如果你让团队成员帮助编制计划,你将更有可能提早发现可能发生问题的领域。团队成员也感觉到对项目承担了更大的义务,因为在使项目启动方面,他们有某种利害关系。
同时,在执行项目时,项目经理一定会面对这样的要求,即不超出某种成本限制。作为项目经理,应该制定一个比较详细的预算、计划,你应当告知你的公司或客户这项工作确切地说要花费多少成本:出于你的团队是执行项目的人此时也应该像客户一样,也需要尽可能地了解有关成本的信息,所以我们考虑软件的项目管理的时候,都必须在这几方面对其加以界定及规范,在日常的项目管理工作中要注重这几方面的协调、平衡。
一个项目组,我们也要关注于组织的建设。一个软件项目的成功,团队间的合作及有效沟通也是非常重要的。在交流的过程中,要有效的减少噪音,提高沟通的效率。几乎在所有的项目管理中,沟通问题是必不可免的,对于一些项目经理来说,沟通不佳意味着“没人听我的”,而对于另外的一些经理来说,沟通不畅意味着项目组成员每天到晚一直忙,却不见多少成绩,好多人做着重复的工作,因为彼此之间没有进行有效的沟通。沟通的方式很多,比如说会议、电话、电邮、甚至行为等等。
如果团队成员看起来不愿意沟通,这并不一定表明他们不愿意合作。相反,他们仅仅可能是不愿意以自己不适应的方式进行沟通。所以,为了鼓励沟通,我们必须清楚应该选择哪种沟通渠道,应该选择哪些条件组合,以得到我们所期望的反应。
在项目工作中,万不能对他人颐指气使。维持团队的关系以促进项目组成员齐心协力地工作这才是项目经理所要取得的目标。如果项目经理过多地用权力、金钱或者处罚的手段来影响项目组成员的话,项目失败的几率会很大。和其他方面的管理一样,项目管理既是一门科学又是一门艺术。在平时的管理工作当中,我们不仅要善于将相关的管理知识及管理理论有意识的应用到管理实践中,我们更要发展艺术性的思维。没有完全相同的项目环境,外部环境和内部环境是不断变化的,我们只有在不断的实践中探索才能深刻的体会到项目管理的精髓,不断的成长。同时作为一个项目经理,要有大局观,要具有系统思维。不要受单一项目的局限,要在一个更大的组织视野下考虑项目的实施。
[摘要]本文结合现阶段中小软件企业蓬勃发展的背景,结合软件开发的流程分析及管理中的成本、进度、质量分析。分析了中小软件企业项目中存在的问题并提出了相应的解决办法。
[关键词]软件;管理;项目;软件企业;生命周期;流程控制
随着我国信息产业特别是软件产业的蓬勃发展,一批批中小软件企业不断涌现。大大推动了我国软件产业的发展。但是不可忽视的是,有相当部分的软件企业特别是中小型企业在项目管理方面存在着先天的不足,大多仍然处于一种手工作坊式运营阶段,处于有章不循和无章可循的混沌阶段,缺乏科学化、系统化的管理,质量和效率都不强。由于处于企业的初创期,中小软件企业忙于找项目、揽项目,从而忽视了自身的实力和行业专攻,从而造成了什么项目都接、什么活都做的局面,且公司人员较少,分工不明确从而造成了此类软件企业管理流程混乱,重编码轻设计,甚至到编码完成后再回头编写、应付各种文档资料,无论从哪个角度来说,这是没有任何意义的。软件项目的开发流程不规范,项目延期、失败层出不穷。所以如何有效地对项目进行管理,有章可循,对于中小软件企业来说,是非常有现实意义的。对于广大的中小软件企业而言,如何能有效且比较简单地对自己的软件项目流程进行管理呢?
项目流程管理在软件项目的开发过程中是非常重要的一环,它贯穿着整个过程,所以有时它也被称为软件产品生命周期管理,主要内容包括:立项、策划、分析、实现、测试、、维护等环节。
首先我们从软件工程角度来谈谈这个问题。我们来说一下软件工程中开发模型的概念,无论大小,每个项目都必定要遵循一定的开发模型。软件常用的开发模型包括:瀑布模型、螺旋模型、渐进模型。那么具体到中小软件企业,在这几种模型中,我们要注意些什么呢?下面我们针对这几种常见的模型做一下分析。
一般而言,瀑布模型常用于在开发时间内需求没有或很少变化、分析设计人员对应用领域很熟悉、用户应用环境稳定、用户除提出需求以外,很少参与开发工作、需求使用面向过程的语言或编程工具且风险较低的项目。
螺旋模型常用于在项目开发早期需求可能有变化、分析设计人员对应用领域很熟悉、用户可不同程度地参与整个项目的开发过程、使用面向对象的浯言或第四代语言、中等风险项目。
渐进模型主要应用于在整个项目开发过程中需求都可能发生变化、分析设计人员对应用领域不熟悉、用户可参与整个软件开发过程中、使用面向对象的语言或第四代语言且高风险项目。
生存期定义可视软件项目特性识别和所选软件开发模型而异,对于软件生命周期的几个环节来说,他们并不是孤立的、时间层次非常明显的,它们之间也存在着时间的重叠交叉甚至错位。
对于项目管理人员来说,要注意区分这几个阶段并在不同的阶段定义不同的工作内容并严格执行。而具体到中小型软件企业,由于人员较少,各种工程外小组不太健全。所以,针对这种情况,我们对各个流程进行分解大致分为调查阶段、立项阶段、策划阶段、分析设计阶段、实现阶段、测试阶段、阶段、维护阶段。
在调查阶段:我们要采集用户需求信息、拟定立项建议最后要生成用户需求文档及立项建议书。
在立项阶段:我们需要编制可行性分析报告、立项申请报告并进行评审最后要形成评审记录。
在策划阶段:我们要任命项目经理、建立项目组。并对需求进行分析、评审。根据需求情况对项目进行资源准备(人、财、物)。在此阶段要形成软件需求规格说明书及测试大纲及需求评审记录。
在分析设计阶段:我们要进行下面的工作系统设计(含数据库、界面设计)、设计评审、用例准备、测试计划评审、项目计划修订、复用元素提取根据情况要形成系统设计文档、集成和验证测试计划、系统设计评审记录、测试计划评审记录、项目计划修订记录。
在实现阶段,我们要进行详细设计、详细设计评审、构造软件(编码、自测)、模块测试、组装测试要形成详细设计文档,评审记录、源程序、相关的测试数据和记录。
在测试阶段,我们要进行集成测试、界面冻结、编写用户使用手册、填写申请单之后进行申请评审要形成集成测试测试记录、报告、安装母盘、用户使用手册子版)及产品介绍。
在阶段,我们要编写培训教材、进行产品包装设计、母盘准备、服务人员培训、光盘刻制、资料印刷、产品包装、产品检验、产品和交付井进行项目总结。
在维护阶段,我们要采集产品问题反馈单、登录问题反馈台账、编发产品问题的E—mail、采集、登录问题反馈跟踪记录表、编报问题反馈跟踪月汇总表、产品问题审核、分类和交付、产品问题回复、本版本产品问题维护、新版产品母盘制作、编、发产品更改公告、问题维护审核、新需求台账登录。
众所周知.影响项目进展的三个维度是成本、进度和质量。如何平衡它们之间的关系,尽力做到快、好、省?在有限资源的情况下将结果处理得最优?这就是项目中管理的学问了。任何项目要被视为成功,都要必须达到几个目的,这其中包括质量要求、截止期及成本限制。质量规定给出了一个最终的定义包括项目的形式、适配性和功能,它定义了项目提交给用户时的最终状态,而且要确保项目符合这些规定。
同时项目的进度也是非常重要的,项目管理的一个重要的职责就是要确定一个合理的交付日期。这就是一处平衡的过程,协调好这三个方面的工作,同时所谓一个项目,进度是主线,其他的因素是围绕它来做的,同时进度也是项目管理的标尺。所以在项目中一旦将会期确定下来,就要将它转化为进度表的形式,并告诉你的项目组成员。当编制进度表时,头脑中要牢记住这个日期。如果你的团队知道要求完成项目的实际期限,他们将受到更大的激励,对他们会更有帮助:当团队成员知道进度的情况时,他们将能够加快自己的步伐,从而为项目的顺利完成做出更大贡献。合理的进度,不应该让项目组成员感到紧张。紧张是个人绩效的一个主要杀手。紧张的人更有可能犯错误,而且一般来说其表现不如最佳状态:一个人犯的错误越多,他对其工作及对其本人的感觉就越糟糕,他就越有可能死火。高死火率意味着高的人员离职率,意味着你要花更多的时间用于更新雇人和重新培训。紧张的工作环境导致雇员的紧张,他们反过来又导致环境更加紧张。这是一种恶性循环,对于人员短缺的中小软件企业而言,这显然是不希望被看到的。
作为一个项目来说,如果没有一个明确的目标。对有些人来说,这种情况可能造成令人难以置信的放松,而对另外一些人来说,它又可能造成难以置信的紧张。那些不知道自己的工作到底是什么的雇员,容易变得紧张;他们拿不准为什么来这里,这意味着不能担保明天他们还会出现。如果你向你的团队成员提出了足够明确的目标,并向
他们展示实现目标的途径,你的雇员不仅不会紧张,而会真的感觉自己是该项目的一部分。可能还会对自己取得的结果感到自豪。而当项目经理用富有挑战性的工作和专门技术来影响员工的时候,项目成果的机率就会增大。
你不仅应当向你的团队成员说明目标,而且你应当让他们参与确定这些目标。并且一般来说让他们参与计划的编制,这是绝对必要的。如果你让团队成员帮助编制计划,你将更有可能提早发现可能发生问题的领域。团队成员也感觉到对项目承担了更大的义务,因为在使项目启动方面,他们有某种利害关系。
同时,在执行项目时,项目经理一定会面对这样的要求,即不超出某种成本限制。作为项目经理,应该制定一个比较详细的预算、计划,你应当告知你的公司或客户这项工作确切地说要花费多少成本:出于你的团队是执行项目的人此时也应该像客户一样,也需要尽可能地了解有关成本的信息,所以我们考虑软件的项目管理的时候,都必须在这几方面对其加以界定及规范,在日常的项目管理工作中要注重这几方面的协调、平衡。
一个项目组,我们也要关注于组织的建设。一个软件项目的成功,团队间的合作及有效沟通也是非常重要的。在交流的过程中,要有效的减少噪音,提高沟通的效率。几乎在所有的项目管理中,沟通问题是必不可免的,对于一些项目经理来说,沟通不佳意味着“没人听我的”,而对于另外的一些经理来说,沟通不畅意味着项目组成员每天到晚一直忙,却不见多少成绩,好多人做着重复的工作,因为彼此之间没有进行有效的沟通。沟通的方式很多,比如说会议、电话、电邮、甚至行为等等。
如果团队成员看起来不愿意沟通,这并不一定表明他们不愿意合作。相反,他们仅仅可能是不愿意以自己不适应的方式进行沟通。所以,为了鼓励沟通,我们必须清楚应该选择哪种沟通渠道,应该选择哪些条件组合,以得到我们所期望的反应。
在项目工作中,万不能对他人颐指气使。维持团队的关系以促进项目组成员齐心协力地工作这才是项目经理所要取得的目标。如果项目经理过多地用权力、金钱或者处罚的手段来影响项目组成员的话,项目失败的几率会很大。和其他方面的管理一样,项目管理既是一门科学又是一门艺术。在平时的管理工作当中,我们不仅要善于将相关的管理知识及管理理论有意识的应用到管理实践中,我们更要发展艺术性的思维。没有完全相同的项目环境,外部环境和内部环境是不断变化的,我们只有在不断的实践中探索才能深刻的体会到项目管理的精髓,不断的成长。同时作为一个项目经理,要有大局观,要具有系统思维。不要受单一项目的局限,要在一个更大的组织视野下考虑项目的实施。
摘要:计算机软件工程项目管理和开发是一项具有复杂性以及系统性的工程,其涉及面相对较广,在实际的工作中所面临的风险也较大,因此对计算机软件工程项目实施系统和完善的管理是非常重要的。在信息技术以及科学技术高速发展的今天,计算机软件的规模以及复杂程度在不断增加,因此在实施计算机软件工程开发的工作中各种问题也逐渐地显现出来,给企业造成了不必要的损失,为了提高企业的经济利益,增加企业的综合竞争能力,促进计算机软件工程的发展就应该对计算机软件工程项目更好的管理方法和措施进行探讨和分析。
关键词:计算机软件工程;项目管理;管理方法;问题
目前,在实施计算机软件工程项目开发的过程中,软件工程项目管理工作并没有引起工作人员和企业领导人员的足够重视。在实施计算机软件工程管理的过程中,软件产品具有较强的特殊性,且计算机软件工程刚刚兴起,在实施软件工程管理的过程中很多问题并没有得到充分的认识,给工程项目管理带来了一定的困难,由此可见全面地实施计算机软件工程项目管理是非常重要的。下面该文就将计算机软件工程项目管理的内容作为基础,对计算机软件工程项目管理中存在的问题以及计算机软件工程项目管理的方法和策略进行探讨和浅析。
1计算机软件工程项目管理的内容
1.1对于组织机构的管理
在实施计算机软件工程项目管理的过程中对于组织机构的管理是一项重要的管理内容。计算机软件工程项目的管理人员在实际的管理工作中只有设置全面的组织结构,完善组织机构管理的质量才能完成科学管理制度和管理团队的建设。只有完善组织机构的管理才能清楚地划分管理的职责和权限范围,尤其是对于具有较强综合性的计算机软件工程项目来说,必须由专门的技术人员来负责组织机构的管理,进而提高计算机软件工程项目管理的有效性和质量。
1.2软件质量和配置管理
在实施计算机软件工程项目管理的过程中软件质量管理和配置管理有着不可替代的地位和作用。项目质量保证主要是定期地对总体绩效进行评估和评价,完善质量计划编制、项目质量保证以及项目质量控制等过程,对于不能保证项目质量的问题给予进一步的分析,找出具体和具有针对性的解决方法,进而更好地提高软件的质量。同时计算机软件项目管理人员也应该对软件产品的演变过程有一个精确的记录,保证软件配置管理的质量,进而完善计算机软件工程项目的管理工作。
1.3风险的评估以及管理
风险管理主要包括的内容有对风险的正确识别、风险评估以及风险监督和风险解决等,实施风险管理的主要目的是在预测到风险即将出现的时候及早采取措施给予抑制,避免风险的出现和发展。在实施计算机软件工程项目管理的过程中风险的评估和管理是一项重要的管理内容,计算机软件工程项目管理人员应该及早地对项目中存在的风险进行分析和评估,加强对各种可能出现风险的管理,降低各种风险对项目造成的影响,进而提高软件企业的经济效益。
2计算机软件工程项目管理中存在的问题
2.1缺少对计算机软件工程项目管理培训的重视
大多数企业在实施计算机软件工程项目管理的过程中往往会忽略对项目管理的培训,在项目管理培训上投入的精力、人力、物力和财力均相对较少,没有形成一个系统和完善的知识培训体系。很多软件企业只是依靠着某些项目管理工作人员精湛的技术能力以及综合素质,而在项目管理培训方面往往比较盲目,只是走一走过程而已,缺少对计算机软件工程项目管理培训的重视程度,项目管理人员缺少对项目管理知识和培训知识的掌握[1]。
2.2计算机软件工程项目风险控制的意识较薄弱
在目前我国各个企业竞争日益激烈以及经济高速发展的大背景下,各个软件企业在进行计算机软件工程项目开发过程中所面临的风险也越来越大,一旦发生风险就会给企业带来难以弥补的损失,由此可见在实施计算机软件项目管理的过程中风险管理是非常重要的。而目前大多数软件企业在实施项目管理的过程中对风险控制的意识相对较为薄弱,并没有认识到风险管理和控制对于项目管理来说的重要意义,以致不能及时地防范和控制相关管理过程中出现的风险。
2.3计算机软件工程项目管理人员团队意识低下
计算机软件工程项目管理工作人员在实施管理工作的过程中大多数工作人员并不能从宏观上对整个项目进行整体的把握,只是做好自己的本职工作,并没有从大局上对相关的管理工作进行考虑。大多数计算机软件工程项目管理工作人员缺少团队意识,这些管理人员虽然具有精湛的技术和较高的综合素质但是只注重个人能力的发挥,缺少培养新一代人才的观念,缺少带头作用和责任心,导致各种管理问题的出现,不利于企业的更好发展。
3计算机软件工程项目管理的方法和策略
3.1提高对计算机软件工程项目管理培训的重视程度
软件企业在实施计算机软件工程项目管理的过程中应该增加对项目管理培训的重视程度。企业应该增加在管理人员培训上的精力、物力和财力,注重对管理人员实践能力和理论知识的提高。让相关管理人员掌握更多的知识,让管理人员熟悉相关的培训和管理流程,进而更好地提高计算机软件工程项目管理的质量和有效性。与此同时,企业管理人员也应该建立软件工程项目管理培训的审核制度,项目管理人员在上任之前应该给予一定的考核,进而提高计算机软件工程项目管理的质量。
3.2提高计算机软件工程项目管理风险控制管理意识
计算机软件工程项目在实施管理的过程中应该建立有效的风险管理和控制机制,在实施计算机软件工程项目开发的过程中应该要求项目管理人员充分地掌握和学习风险管理知识,熟练地掌握风险识别、风险控制以及风险转移的方法,在项目启动后立即对风险进行识别和管理。与此同时项目管理人员也要保证风险控制和管理贯穿于整个软件项目管理的过程中,采用多种方法和技术手段对风险进行管理和控制,减少各种风险对企业经济效益和软件开发造成的影响[2]。
3.3培养计算机软件工程项目管理工作人员团队意识
企业管理人员在完善计算机软件工程项目管理的过程中应该让相关的项目管理人员从宏观上掌握大局,进而整体性地对整个项目管理进行掌控。同时也要充分地发挥项目管理人员在实际工作中的带头作用,合理地对员工的工作进行安排,对人力资源进行合理的运用。在此基础上也要提高项目管理人员的责任心和团队意识,在充分发挥每一个管理人员和工作人员个人能力的同时培养可以满足企业更好发展需求的新一代人才,提高计算机软件工程项目管理的质量。
4结语
总而言之,在当今这个信息技术和科学技术高速发展的时代,软件工程开发和设计过程中的各个项目所涉及的内容和范围也在不断增加,实施计算机软件工程项目管理过程中各种问题也逐渐凸显,而计算机软件工程项目工作的管理质量也逐渐成为影响软件企业核心竞争力的关键。在这样的情况下软件企业应该充分地认识到计算机软件工程项目管理过程中存在的问题,并通过一定的方法和策略给予完善,进而提高项目管理的水平和质量,促进软件企业的长期、稳定和健康发展。
作者:吴丽娜 单位:宿迁学院信息工程学院
摘要:科研机构、高校承担的大型科研工程越来越多,软件在工程项目中扮演着重要角色。结合科研领域软件开发特点,介绍软件开发流程管理及质量保障措施等,可为科研软件的质量提高及创新提供一定借鉴。
关键词:科研软件;需求分析;开发模型;质量保障
0引言
随着科研机构、高校承担的国家大型科学工程项目越来越多,在这些大型科学工程中,软件起到不可或缺的作用。如中国科学院高能物理研究所承担的硬X射线调制望远镜项目[1]、BESIII项目[2]中的数据采集软件、探测器和数据监测软件是获得物理成果的基础,而模拟软件和分析软件则直接关系到物理成果的处理和精度。这类软件项目有较深的物理学背景,需要使用一些物理分析和设计方法,实现手段必须符合领域特点。例如,数据存储在粒子物理实验和空间天体物理实验中的要求不同,前者主要采用ROOT[3]格式,而后者则以FITS[4]格式为主,开发所用的常见库和工具也因数据存取格式不同而不同。此外,该类软件应用面较窄,仅限于某一科研领域,其开发很难由软件公司承担,因为软件公司必须投入大量的学习成本,而产品应用又受局限。因此,这类软件的开发一般由科研院所、高校自行承担。然而,目前我国软件整体实力与创新性还不强,人才结构也需要改善[5],一些从事基础研究的机构,软件人才紧缺,且缺乏软件开发管理经验,造成软件质量不高。科研机构从事软件开发的科研人员学习能力强,热衷于追求新技术,如果在方法上给予指导,可帮助其开发出高质量的软件。依托大型工程培养所需的软件人才,不仅有利于大型工程项目的实施,而且还能为国家培养大批软件人才。本文结合该类软件项目的特点和科研机构现状,探讨其软件开发特点,并提出流程管理和质量保障措施。
1科研领域软件开发及其特点
1.1软件项目特点
(1)软件提出者。一般是项目科学家、顾问,他们具有较强的科学洞察力,也能较好地把握软件开发方向,但他们大多只关注宏观问题,而非技术细节,对软件不是很了解,不能用计算机语言和思维描述项目,也无法很好地理解和描述实现流程、细节,因此不能准确估计软件开发难度和工作量。
(2)软件开发者。一般为青年职工和学生,他们熟悉软件开发,但往往不能完全理解项目目标,也不能深刻理解其物理过程,理解过程中往往思维局限性大,缺乏方向。
(3)软件测试者。多数情况下单元测试由开发者承担,集成或系统测试由其他人员完成,部分由用户完成。与开发人员相比,测试人员往往物理基础较好,掌握基本测试方法,但是没有建立起完整的测试体系,而且将软件测试当作“副业”,测试以功能实现为主,对软件细节不了解。
(4)用户。用户一般是物理工作者,他们熟悉研究领域的物理要求,但不能用计算机语言描述需求,往往需求不实际或不够明确。他们对软件要求较高,要求通过物理测试对软件性能和输出结果精度进行测试。如通过运行大数据量检查软件内存和时间消耗,以促进开发者进行算法优化等。
1.2软件项目开发特点
(1)软件需求不够明确。科研领域软件项目一般都涉及到探测器和数据,涉及领域较广,而且需求不断变化。无论是软件提出者还是用户,往往难以用计算机思维或语言清楚描述问题;软件开发者对项目物理目标,特别是物理过程缺乏深刻理解,不能很好地理解软件功能细节及需求。比如,对于一些数据分析软件,提出者或用户难以描述出软件需要完成的功能,而开发者对数据处理流程中进行的数据转换、修正、数据结构重组也缺乏深刻理解。
(2)人员结构较为单一。软件开发中通常一人需要承担多种角色,包括软件需求分析员、设计者和开发者,甚至测试者。这样的职位设定,人员分工不明确,难以深入把握某一领域(比如测试)的特点和方法,从而影响了整个软件开发过程。
(3)软件实现细节难以把握。此类软件一般涉及复杂的物理过程,需要用一定的物理方法解决,但方法并不唯一,不同方法会对结果带来一定影响,而且不同类型数据所依赖的方法也不同。软件开发中还有些研究性课题,只能以接口形式存在于软件中,但预留接口时往往设计较为简单,考虑的情况过于理想,难以满足实际需求。然而,如果设计时考虑得比较复杂,接口较多,又往往缺乏必要的软件技术和经验,不能有效把握细节。
(4)硬件频繁改动增加软件开发风险。软件依赖于硬件,设计初期软件是在理想的硬件设计状态下运行,但如果硬件发生变更或者运行影响因素增加,软件也随之变动,从而加大开发风险。
(5)软件测试及评估缺乏专业水平。由于开发者、测试者与用户的专业测试能力都比较欠缺,难以涉及到核心质量问题,往往无法全面对软件作出专业评估。
(6)人员管理难度大。科研机构、高校一般热衷于科学研究而不是工程项目本身,因此难以兼顾两方面工作。软件提出者和管理人员往往对软件工程缺乏深入了解,难以对开发工作作出客观评价,因此对软件开发的进度和质量带来一定影响。
(7)软件不确定性因素多。随着工程实施,软件提出者、用户会不断改变、增加需求,加上开发者及测试者缺乏相关经验,代码开发不规范、开发人员流动性强等增加了软件开发的不稳定性。另外,为降低开发成本和难度,开发人员通常会引入现成的工具,这可能给软件开发带来隐患。然而,面向某一科研领域的软件开发项目也有自身的优势。如和大型专业软件相比,所需的项目功能不是特别多,部分开发平台具有可移植性,开发人员综合素质较高,学习能力强,英语基础较好。此外,很多工程与国外合作开发,可参考国外成熟软件,并方便引进一些免费的软件框架和平台,如Gaudi[6]框架、天文分析工具库Ftool[7]等。
2软件开发流程管理
2.1确定软件开发模型
科研机构,尤其是一些缺少经验的团队,习惯采用瀑布模型进行开发,主要由于该模型分阶段,且各阶段间存在因果关系,比较符合思维模式。但它会产生大量文档,到开发后期会凸显软件开发缺陷。适合科研领域的开发模型有迭代式模型[8-9](需求变更驱动型)、增量模型(功能驱动型)及快速原型开发[10]等。对于科研软件而言,模型选择需综合考虑软件框架稳定性和开放性、构件独立性以及项目组开发经验等。比如对于需求不明确、流程不清晰、算法不确定的项目(如数据处理软件、分析软件和标定软件等)采用迭代模型或者快速原型开发较好。此外,采用一种模型为主,其它模型为辅,也会得到很好的效果。
2.2加强开发流程控制
无论采用何种开发模型,开发人员必须在每一次开发或迭代中完整实现需求分析、设计、编码和测试等步骤。各阶段的评审或项目报告尤为重要,项目前期要确保软件开发人员准确理解项目需求以及软硬件环境;中期阶段要确保开发流程和方法可靠;后期要通过测试确保软件运行符合要求。
2.3需求分析中注重物理分析
科研软件中一般涉及大量数据操作,而且过程比较复杂,一些原始数据要经过转换、重建、标定及修正等步骤,而且处理不一定是线性的,即相邻数据之间可能有关联。这些功能和性能需求不容易明确,需要着重把握。软件中还可能涉及一些物理算法(比如图像修正、频率分解等),因此在需求分析中需要着重进行物理分析,包括流程梳理、特殊方法和条件选择等。
2.4采用串行开发方式
科研机构人员结构比较单一,往往多项工作并行执行,给软件开发质量提升及人才培养带来不利影响,可将相关性比较强的软件以串行方式开发,数据产品生成软件和数据分析软件可以依次开发。
2.5提高开发人员的主观能动性
软件开发过程中,保障软件项目负责人在经费使用及绩效考核中的话语权,组建凝聚力强的研发团队,对软件开发的进度、质量进行考核。
3软件质量保障措施
(1)加强开发过程中的沟通。科研项目的不确定性带来软件开发需求的变动,用户往往只注重项目需求功能满足,而不关心软件的实现细节,所提出的功能或接口可能不切实际,因此需要加强与用户的沟通,明确软件开发目标。
(2)充分调动开发人员积极性。科研机构软件开发人员往往是科研项目的幕后工作者,其工作成果容易被科研项目成果所掩盖,所以充分调动软件开发人员的工作积极性尤为必要。一方面,为其提供成果展示平台,尤其是展示创新性成果,如将开发中的文档整理成册等;另一方面,在基金申请、职称评定等方面提供支持。科研机构职称评定主要依据取得的科研成果,由于工作内容不同,如采取同样的评审条件,软件开发人员与其他研究人员在同一层次上竞争将缺乏竞争力。可能导致部分人员不愿意从事软件开发工作,或者开发软件的同时还从事其它研究,从而影响软件开发进度和质量。因此,需要根据软件开发人员工作的特殊性,通过有效的激励措施调动其积极性。
(3)培养既懂管理又懂技术的项目负责人。优秀的软件工程项目负责人不仅是一个好的软件设计师,对软件实现细节能够很好的掌控,还是一名优秀的管理者,能科学配置资源。
4结语
面向科研领域的软件具有较深的行业背景,其设计方法、实现手段有很强的领域依赖性。本文从科研领域特点及软件提出者、开发者、测试者、用户的角度出发,探讨了其需求难以明确、人员结构较单一且管理难度大的特点。在软件开发管理过程中,需要采用合适的软件开发模型,注重流程管理,充分调动开发人员的工作积极性。
作者:赵海升 李兵 聂建胤 宋黎明 单位:中国科学院高能物理研究所
【摘要】
随着软件深入到我们生活的各个领域,人们对软件的特性以及功能要求越来越多,要开发出一个优秀的软件,必须综合不同的用户的不同的想法。另外加上企业、个人和政府的信息需求日益复杂,现在的计算机程序不再是一个人能够轻松构建,而是需要一个庞大的团队共同努力。并且各种形式,各种应用领域的软件都需要工程化,所以,产生了软件工程,整个软件工程过程中的项目管理方法是非常重要的,本文主要根据软件开发中项目管理涉及的人员、产品、过程和项目四个方面来讲述了软件工程项目管理的具体内容。
【关键词】软件工程;项目管理;管理方法
1软件工程开发概述
软件工程是建立和使用一套合理的工作原则,以便经济地获得可靠地、可以在实际机器上高效运行的软件。软件工程方法为构建软件提供了技术上的解决方法,包括沟通、需求分析、设计建模、编程、测试和技术支持。
2软件工程项目管理方法在软件开发中的应用
有效的项目管理集中在4个方面:人员、产品、过程和项目。
2.1人员
在IEEE发表的一项研究中提到,当向3个大型技术公司中主管工程的3位副总裁问及一个成功的软件项目中最重要的因素是什么时,他们回答会的的第一重要的因素不是他们所用的工具,而是人员。
2.1.1项目利益相关人员每个项目的利益相关人员有高级管理者、技术管理者、开发人员、客户和最终用户参与,为了高效率的完成项目,整个团队必须能够发挥好每个相关人员的能力和技术,这是团队领导者的任务。
2.1.2团队领导者项目的管理需要很多相关者的努力,作为一个团队的领导者,第一要具有一定的实力,必须能够掌握整个项目,还要能够理解团队人员,能够用自己的语言来影响整个团队。
2.1.3软件团队优秀的团队结构取决于组织的管理风格、团队里人员数目与技术书评,以及问题的总体难易程度。规划软件工程团队结构时应该考虑待解决问题的难度、开发程序的规模、团队成员需要共同工作的时间、对问题做模块化划分的程度、待开发系统的质量要求和可靠性要求、交付日期的严格程度以及项目所需要的友好交流的程度等因素。
2.2产品
不管喜欢与否,从项目一开始,就要研究应该开发哪些产品以及要解决哪些问题。至少我们要建立和界定产品的范围。
2.2.1软件范围软件项目管理首先要做的就是确定软件范围。确定范围主要考虑要开发的软件如何适应于大型的系统、产品或业务环境,软件要产生哪些客户可见的数据对象作为输出和软件要执行什么功能才能将输入数据变换成输出数据等问题。
2.2.2问题划分问题划分是软件需求分析的核心活动。在确定软件范围的活动中,并不试图去完全分解问题,只是分解其中的两个主要方面:必须交付的功能和内容和所使用的过程。
2.3过程
团队选择过程模型主要适合于需要该产品的客户和从事开发工作的人员,产品本身的特性和软件团队随处的项目工作环境。软件团队在选择最适合项目的软件过程模型时,应该具有很大的灵活性。一旦选定了过程模型,项目团队可以根据需要灵活地确定过程模型中应包含的软件工程任务。较小的项目如果与以前开发过的项目相似,可以采用线性顺序方法。如果时间要求太紧,不可能完成所有功能时,增量策略可能是最好的。同样的,如果项目具有其他特性,可能就要选择其他过程模型。作为项目负责人,要特别注意与用户保持联系,掌握用户的心理和动态防止来自用户的各种干找和阻力。
2.4项目
为了更好地管理软件项目,我们要注意以下几点:
(1)在正确的基础上开始工作。通过以下两点来实现:首先努力的正确理解要解决的问题,然后为每个参与项目的人员设置现实的目标和期望。这一点又通过组建合适的开发团队,并给与团队工作时所需的自由、权利和技术而得到加强。
(2)保持动力。很多项目的启动都有一个良好的开端,但是,后来慢慢地开始瓦解。为了使整个项目开发过程人员充满动力,项目经理比喻采用激励措施,使人员变动更小,让每个任务都高质量的完成。
(3)跟踪进展。对于软件项目而言,当工作产品正在产生或被认可时,跟踪项目进展要作为质量保证活动的一部分。
(4)做出英明决策。总体上,项目经理和软件团队的决策应该“保持项的简单性”。
(5)进行事后分析。建立统一的机制,从每个项目中获取科学系的经验。
3结语
软件工程项目管理是软件工程的普适性活动。它先于任何技术活动之前开始,且持续贯穿于整个计算机软件的建模、构造和部署之中。项目管理中的人员、产品、过程和项目对软件项目管理具有重大的影响。要顺利完成软件开发,就必须将人员组织成有效的团队,激励他们完成高质量的软件工作,并协调他们实现有效的沟通。产品的需求必须考虑客户与开发者的想法,设计更合适的产品。过程必须适合于人员和产品。最后必须采用确保软件团队能够成功的方式来组织项目。
作者:王明 单位:首都经济贸易大学
1软件工程项目管理中存在的问题
1.1缺乏管理意识
在软件工程项目处理中,有些项目经理没有强烈的认识到本身的责任,无法从总体上掌控全部项目,只是静心于详细的技术工作,造成项目组成员之间忙的忙、闲的闲,打算不周、使命不均、资本奢侈等近况。有些项目经理没有很好的管理方法,本身做比力坚苦的事情,使项目使命没法公道的分配给小组成员,以到达事情“负载平衡”。在涉及相关软件技术方面的企业中,项目经理大部分是团队中的技术中坚力量或者是主要技术人员。但是,在详细的项目实施细节中,无论是项目基本的常识,或是项目实施必备的能力与本领,他们还存在着很大的晋升空间。技术骨干在担当项目经理之前,最佳的选择是提前练习与实践相关的项目办理常识。项目经理需要的不仅仅是技术上的常识,更多的是与人来往配合的常识,需要指出的是人际间的交往能力是其必需的业务素质之一。另外,项目的负责人还要有比较强烈的责任意识,并且在现实工作中不断提高本身应该具备的责任品质,积极践行责任行为,树立好的标杆与榜样,为团队整体的发展负责。这是项目实施的具体路径所决定的,没有领头羊一切将很难开展与执行。
1.2存在风险管理
项目风险与预防潜在危害的意识是一种非常重要的意识,在任何项目在举行方向与正式实行以前,作为项目的负责人要从危害存在的大概性动身,对其大概致使的危害系数举行预先的判定和做好需要的预警备案。任何项目都有必然存在的潜在的风险,但是最好人工的准备,风险的危害最大水平的降低是对项目负责人能力与水平的重要考量,其必需做好足够的准备工作来应对随时发生的变故。有些项目经理在工作中并没有充分认识到风险管理的重要性,对企划书中风险管理进行了粗略介绍,敷衍了事的随意列出几条危害,写一些简略应答办法,对后来的风险防范起不到任何作用和影响。
1.3内部沟通问题
在软件工程项目的进展与实施过程中,人际间的配合与合作是不可缺少的,但是由于秉性的差异,沟通与交流中的障碍与差异会影响团队的协作与凝聚。很多开发的工程项目的规模比较庞大、复杂,项目经理就很难协调小组成员之间的关系。项目团队中就很有可能出现不同角色之间的分工不清、责任不明,导致的工作互相推诿、出现问题推卸责任的情况。有时还会发生组员之间不进行沟通联系,各做各的工作,不愿意和别人合作,最终导致的项目无法按时完成等问题,产生不必要发生的损失。为避免以上呈现的现象在软件工程项目的研发与实施过程中,项目经理应制定有效的交流轨制和交流机制,增强团队队员之间的配合意识,对由于贫乏交流而产生的差错要进行规避与责罚。进度控制的问题在软件开发工作过程中,由于种种原因无法按时完成工作进度,延期项目的进度也是经常有的事情,有可能会带来很严重的损失。这时就需要项目经理来有效的节制团队的工作进度,对应项目进度的个体意义进行判断,事前或实时采纳需要的办法,尽可能缩小预期进度与现实进度的误差,实现对项目的自动管控。
2软件工程项目管理对策
2.1完善管理体系
首先,计算机软件工程项目管理的体系要对人才进行有效并且合理的管理,建立一个完善的、合理的人力资源管理体系。其次,团队职员要有杰出的本领与功底,而且队员要有求知欲和上进心,可以不竭的进修计算机软件工程项目办理的热情,有用的将履历和实践。最后,团队中的队员要履行工程项目中的规章制度,严苛的奖惩制度也会在必然程度上增进队员,激发他们的主动性,使得队员更踊跃的为项目尽力。
2.2提高进度与风险管理工作的效能
项目经理首先应加强项目进度的处理,项目进度计划的制定指,利用时间进度完善办理进程的功效,来抉择项目的起头及完成的时刻表。成立一个实际的项目进度计划的进程,和公平合理的、有效的管控好计算机软件工程项目办理中,全数小组成员的任务状况。
计算机软件工程项目办理的职员,应答危害办理的常识、危害方法的常识、量化的方式,和危害管控的方式举行有用的把握和认知,为计算机软件工程项目办理做好有用的危害办理陈述,而且做好有用的危害防备事情。风险在项目完成之前的过程中都有可能会发生,所以需要项目经理定期的对软件工程项目进行风险评估,对不同等级的风险进行使用不同的应对措施来处理问题,必要时期可以采用规避、减缓等处理方式。当前在软件项目控制中的一个非常重要的应用是对信息的优化处理与分析,从而做出比较科学的判断与预测,随着近几年来,软件在项目控制中的深入应用,特别是各种计算方法的不断普及,项目控制在“软计算”等方面取得了非常长足的进展。这些都是我们在未来的项目工程现代化技术的发展方面应该急需解决的问题。
2.3建立合作式团队
我国在项目管理方面的科研人才存在着很大的缺口,这一点严重地制约了我国项目管理的现代化技术发展,因此,构筑合作团队非常重要。第一要素是信任感。这意味着一个有凝聚力的、高效的团队成员必须学会迅速地、平心静气地熟习自己的诟病、错误、失败。他们还要乐于承认他人的优势,即便这些优势超过了本身。以人的软弱与退缩是很难形成有战斗力的集体的,这与高效管理的初衷也不尽符合。第二要素超卓的团队需要领导带头。团队成员全力以赴,由于他们很清晰必要做什么,他们会彼此排除别人那些无助的行动而恰恰是这类无怨无悔的行为,才培育和培养了他们对彼此的负责与担当。第三要素增强职员之间的联系。可以按期见面开会,开会前先把议题准备好,会中有记实,吩咐有记实总结、存案,除正式交往,队员之间也要非正式练习,连结事情关系,增强感性与亲情的融会是队员的一种需求。
3软件工程项目对策的有效性分析
当前在软件工程项目中的一个非常重要的应用是对各种信息的优化处理与分析,然后制定相应的对策,来实施对各类问题的有效解决。
3.1对策的针对性
对策目标的针对性,是指备选的对策必须是依据项目管理中给出现的问题,提出的解决方案。文中第三部分指出的三条对策都是根据软件工程项目管理中可能出现的三种问题,一一对应提出的,每一条都是根据问题提出的相对应的解决措施。这中针对性要从不同的问题性质的本身来设定不同的方案,在实践过程中,对策的针对性是解决问题的关键所在。
3.2对策的实用性
对策必需遵循主、客观条件,并在此基础上提出清楚的而不是模糊不清的、可操作的而不是脱离实际的对策。提出的三种对策都是在现实能够达到的基础上制定出来的,清晰地指出应如何处理项目管理中出现的问题。所以,从问题对策的实用性出发,探究其发展的对策具有非常重要的积极意义。
3.3对策的可行性
对策的可行性指对策与问题之间是否存在一致性。同时,政策的制定应该遵循各种主观与客观的要求,在了解清楚的基础上进行对应性的应答。当政策与具体问题出现严重的不对称时则非常容易造成意外的损失。
作者:郎晓菲
计算机软件大体分为三类,一种是总述,一种是系统软件,一种是应用软件,系统软件的作用是促使各个硬件按照一定的规律协调工作,保证计算机处于正常运转状态。而应用软件的作用则是为了实现某种使用愿望而开发出来的软件。
1计算机软件工程项目管理的基本概念
1.1工程项目管理的含义工程项目管理主要是业主通过委托从事工程项目管理的企业,签署相关协议,工程项目管理企业有义务和权力代表业主在工程项目进行的情况卜干预和服务。工程项目管理企业可以协助业主同项目工程总承包签订一系列合同,只是起到辅助性作用,不直接与总承包企业或者施工、勘察、供货和设计签署协议或合同,工程项目管理企业有责任在施工过程中监督合同的完成情况。
1.2软件工程项目的概况
1.2.1管理人员开展有序的项目计划
企业必须把人员管理放在重要位置,在软件工程项目的开发上人员的调配问题是保证工程顺利进行的重要因素,因此,项目能否成功和工作人员的工作能力、写作能力息息相关,针对工程项目的操作类别不同,可以分配成各个研究小组,进行科学合理的针对性开发和高效的协作,有利于工程的快速推进和更加完善。小组内的人员根据自身优势,确定自己的工作内容和工作时间。对项目进行正确的认识和对风险进行评估,与此同时从节约成木的方而出发,形成科学的人力资源调配机制,使项目得以顺利开展。
1.2.2质量和配置管理工作
软件的质量管理工作是整个项目的核心工作,质量管理决定着计算机软件工程项目管理是否真正的成功,通过一系列保证质量的手段,有计划的编制、控制和保证项目质量。保证项目质量的方式可以通过定期的进行质量评估得以实现,在日常项目管理中要不断的对工作进行考查,对于项目不合格的地方要提出意见并且考虑整改措施,不断完善整个软件配置管理的记录工作,使项目的质量能有一定的检测体系,这样开发者会对项目工程的质量问题有比较深入的了解。
1.2.3风险评估和管理工作
风险管理大致分为两种工作,一种是风险识别,另一种是风险评估。得到评估结果以后要针对问题提出相应的解决办法,定期检测计算机软件工程的好处是可以减小产生风险的概率,还可以避免一些因疏忽而产生风险,使项目的损失减少到最低,也减少了因项目风险而造成的一些相关责任人的利益冲突。
2计算机软件工程项目管理中存在的问题
2.1管理团队的协作问题
分工合作是我们完成一个项目的基木因素,在软件开发方而更需要每个人的智慧一起凝聚出果实,共同享受成果,而目前在计算机软件工程项目管理方而信息的交流方而存在一些问题,例如分工不清、团队不合作等问题。
2.2需求分析和实际中的业务存在差距问题
计算机软件工程项目没有结合实际的活动需求,也没有调查有效的数据分析,因此计算机软件工程项目管理在开发出新的产品以后并没有取得理想的业务效果。
2.3风险管理的问题
项目的风险工作是企业需要考虑的很重要的问题,如果风险没有相应科学管理,很容易带来巨大的损失,但是很多员工并不懂得如何规避风险,缺乏相应的专业知识,更是缺少对风险工作的管理,导致很多企业在风险来临时无法做出正确行动,造成巨大的经济损失。
3计算机软件工程项目管理的对策
3.1对风险管理和工作进度进行有效管理
制定风险管理制度。计算机软件工程项目管理的工作人员必须具有一定的风险识别意识和相应的遇到风险的专业知识,并且能有效的控制风险的能力。在平时要做好风险评估的管理报告,针对可能发生的风险要及时预测并且做出相应的解决行动。设置专门的人员对计算机软件工程项目定期进行风险的评估和检查工作。在整个项目中,根据需要进行多次的风险管理工作,因为风险无时无刻都有可能存在,检查的目的是尽量减少风险发生,在一般情况卜处理风险的措施一般有三种:减缓、规避和转移。提高工程的进度,不断的推进工程的工作效率。要制定详细的工作计划表,并且尽可能达到最高的工作目标。工作人员有严谨的工作态度和高效的作息时间安排,管理人员要密切关注工程进度,不断的督促员工完成应做的工作量,有条理、高效的完成对员工的工作任务的监督工作。
3.2建立完善的管理体系针对计算机软件工程的人员日常管理工作,要建立科学有效的管理方案。合理安排人才资源,确保在进行计算机软件项目工程时人员调配顺利进行。专业知识的培训对于工作人员来说
是必不可少的,可以极大的丰富计算机软件工程项目人员的专业水平和实践能力,减少工作上的失误,提高工作效率和工作人员的素质。奖罚制度是对企业员工优劣的衡量标准,所以在计算机软件工程项目管理方而采取奖罚制度可以极大程度上调动员工的积极性,使员工主动为企业创造效益,企业的发展才能有长远的未来。
3.3建立合作的团队
在员工内部建立有效的交流机制。员工的内部工作经验交流是非常重要的,因此要完善沟通方法,开辟多种交流方式和渠道,不断的增强各个部门的沟通意识,使团队的力量不断凝聚起来。明确分工,责任落实到个人。计算机软件工程管理非常复杂,需要的人员也众多,因此必须要使每个员工明确自己的工作内容和范围,清晰的划分自己所需要负责的区域,清楚自己的责任,这样能够确保每一个步骤都井井有条,非常有秩序。调动整个团队的工作积极性。通过一些活动、奖励措施等使每一个工作人员全身心的投入到工作中去,愿意并想要去做的更好,不断激发团队的潜力和员工的协作能力,这样项目不仅会做的越来越好,员工内部也会越来越和谐并且充满正能量,企业的效益也会不断得到提升。
4结语
计算机软件工程项目管理的工作内容十分的复杂,要保证软件工程按照工程原计划进度顺利开展工作,并且要节约成木、保证质量,必须熟练对计算机软件进行操作,在现在的大多数生产计算机软件的企业中最为重要的就是软件工程项目的管理效率,软件工程项目的成功条件是软件项目要具有科学性和高效性,在此基础上企业的合理管理也是企业走向成功的关键。
作者:陈瑾 单位:徐州工程学院
1在软件开发中实施项目管理的重要性
有时即使不开展项目管理工作,软件开发项目也能取得成功。但是如果乏项目管理,则难以将成本控制在一定范围内,容易导致软件企业面临着亏损的风险。在开展项目管理工作的过程中,需要借助技术、方法等,管理软件开发活动,如此既有助于实现软件开发目标,又能够控制软件开发的进度以及开发成本。当前,虽然有部分软件企业依据软件工程理论,制定了管理软件开发的制度,但是却没有严格控制软件开发的进度以及成本。这种做法不仅会延长软件开发的时间,还会增加软件公司的经营风险,最终损害到相关用户的利益。而在软件开发过程中,开展项目管理工作,就有助于保证软件开发工作的顺利完成,同时提高软件企业的经营管理效率。
2项目管理在软件开发中的应用现状
在二十世纪六十年代中期,人们发现了在开发软件过程中存在着很多问题,具体的问题表现在以下两个方面:一方面,不规范的生产过程;另一方面,不重视管理工作。为了能够有效解决软件开发过程中存在的问题,人们开始尝试利用过程管理方法。但是到了二十世纪八十年代,还是没有制定管理软件开发过程相关标准。近几年来,在信息技术快速发展的背景下,人们采取项目管理来控制软件开发的质量、软件开发的成本等,以此确保软件开发的质量和成本等因素,符合当时的既定标准。在软件开发过程中,每一个项目组的不同成员都应该承担不同的任务,并且企业管理者应该要求他们要在规定的时间内完成自身的任务,这种明确分工制度,有助于提高员工的工作效率。
3项目管理在软件开发中的应用
每一个软件开发项目都要经过以下几个阶段:提出问题、研究可行性、分析需求、测试等。因此项目管理工作应该贯穿于软件开发的整个过程。
3.1可行性研究
无法开发哪一个项目,都需要进行可行性分析与研究。通过利用项目管理来研究软件开发项目可行性的目的在于:在最短的时间内确定软件开发项目是否具有开发的价值。其中可行性研究的内容包括:
1)、研究技术的可行性。其主要是指:要合理地分析开发项目的功能与性能,分析其中所隐藏的技术风险。
2)、研究经济的可行性。其主要是指:估计所开发的项目给企业带来的经济效益,然后依据所估算的经济效益,确定该项目是否具有投资的价值。
3)、研究社会的可行性。其主要是指:分析此项目的运行方式是否正确,分析当前的人员技术水平以及管理制度是否具有可行性。
3.2软件项目估算
在软件开发过程中,首先要规划软件开发项目,如此便于项目管理人员制定切合实际的估算方案。规划软件开发项目的内容主要包括:明确软件开发的目标、明确软件开发过程中需要用到的各种资源、明确软件开发的进度等。在软件开发过程中,估算起着非常重要的作用。通过估算可以保证软件项目在规定的时间内完成,也可以确保软件项目的成本未超出预算。在估算资源、成本以及进度的时候,要依据自身丰富的经验以及相关的数据。但是当前所使用的估算方法较为单一,此种估算方法容易增加估算风险。对此,研究人员应该努力研究出更多科学、有效的估算方法。
3.3软件项目开发人员的管理
在开展软件项目开发人员管理工作的时候,首先要合理安排人员。通常情况下,是由多个小组成员共同完成软件开发项目。在具体安排人员任务的时候,要依据每位人员的优势进行,并且要明确小组内每一位成员的工作任务以及工作目标。在软件开发过程中,要确定不同的责任人,比如:项目经理、开发经理,并且为每一个小组安排一名组长,如此有助于确保软件开发项目的顺利完成,同时保证所开发出来的软件属于高质量产品。
4结束语
虽然项目管理过程中并没有包含较为深刻的理论,但是要想真正实施项目管理还是比较困难。对于软件开发企业来说,其应该在不断的实践中总结项目管理工作经验,以此提高项目管理工作的质量。
作者:侯凯 单位:锦州银行股份有限公司