软件开发项目总结十篇

发布时间:2024-04-25 02:51:43

软件开发项目总结篇1

一、引言随着信息技术的飞速发展,软件产品的规模也越来越庞大,个人单打独斗的作坊式开发方式已经越来越不适应发展的需要。各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。我公司是西安一家中型软件企业,在公司中已经实行了项目管理制度,软件项目管理是整个项目管理中的一个重要组成部分。从概念上讲,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小开发风险)。软件开发不同于其他产品的制造,软件的整个过程都是设计过程(没有制造过程);另外,软件开发不需要使用大量的物质资源,而主要是人力资源;并且,软件开发的产品只是程序代码和技术文件,并没有其他的物质结果。基于上述特点,软件项目管理与其他项目管理相比,有很大的独特性。二、软件项目管理的组织模式软件项目可以是一个单独的开发项目,也可以与产品项目组成一个完整的软件产品项目。如果是订单开发,则成立软件项目组即可;如果是产品开发,需成立软件项目组和产品项目(负责市场调研和销售),组成软件产品项目组。公司实行项目管理时,首先要成立项目管理委员会,项目管理委员会下设项目管理小组、项目评审小组和软件产品项目组。1、项目管理委员会项目管理委员会是公司项目管理的最高决策机构,一般由公司总经理、副总经理组成。主要职责如下:(1)依照项目管理相关制度,管理项目;(2)监督项目管理相关制度的执行;(3)对项目立项、项目撤消进行决策;(4)任命项目管理小组组长、项目评审委员会主任、项目组组长.2、项目管理小组项目管理小组对项目管理委员会负责,一般由公司管理人员组成。主要职责如下:(1)草拟项目管理的各项制度;(2)组织项目阶段评审;(3)保存项目过程中的相关文件和数据;(4)为优化项目管理提出建议。3、项目评审小组项目评审小组对项目管理委员会负责,可下设开发评审小组和产品评审小组,一般由公司技术专家和市场专家组成。主要职责如下:(1)对项目可行性报告进行评审;(2)对市场计划和阶段报告进行评审;(3)对开发计划和阶段报告进行评审;(4)项目结束时,对项目总结报告进行评审。4、软件产品项目组软件产品项目组对项目管理委员会负责,可下设软件项目组和产品项目组。软件项目组和产品项目组分别设开发经理和产品经理。成员一般由公司技术人员和市场人员构成。主要职责是:根据项目管理委员会的安排具体负责项目的软件开发和市场调研及销售工作。三、软件项目管理的内容从软件工程的角度讲,软件开发主要分为六个阶段:需求分析阶段、概要设计阶段、详细设计阶段、编码阶段、测试阶段、安装及维护阶段。不论是作坊式开发,还是团队协作开发,这六个阶段都是不可缺少的。根据公司实际情况,公司在进行软件项目管理时,重点将软件配置管理、软件质量管理、软件风险管理及开发人员管理四方面内容导入软件开发的整个阶段。在八十年代初,著名软件工程专家B.w.Boehm总结出了软件开发时需遵循的七条基本原则,同样,我们在进行软件项目管理时,也应该遵循这七条原则。它们是:(1)用分阶段的生命周期计划严格管理;(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用现代程序设计技术;(5)结果应能够清楚地审查; 

软件开发项目总结篇2

【关键词】软件项目管理工作问题分析项目管理原则

软件项目管理是为了使软件项目尤其是大型项目整体软件生命周期都在管理者的控制下,按照预期的成本,完成软件的交付。软件项目管理最早出现在70年代中期,目前中国软件项目管理上处于落后状态,很多已经不是技术能够解决的问题了,主要问题存在于管理上。软件项目管理是根据科学理论的,结合软件产品的实际情况,保证工程管理系统得到有效实施,能够使得软件项目按照预期的成本、进度、质量完成。软件行业是一个很有挑战力行业,是一个非常复杂的,牵扯较广的系统工程。

一、软件项目管理中常见的问题

在软件开发主要有几个阶段,需求分析阶段、概要阶段、详细设计阶段、编码阶段、测试阶段、安装和维护阶段。项目管理缺乏有效的系统培训和项目计划意识,在软件项目管理中,没有招聘专门的项目管理专业人才进行有效的管理。在管理人员的技术上可以很好的进行工作,但是在管理中缺乏相应的管理能力。在管理上没有接受专业系统的项目管理,具有专业的管理知识是非常重要的,软件项目管理知识要和管理经验相结合,会提高软件项目管理的水平。项目负责人对项目的总体计划没有很好的认识,对软件的计划的制定不严格,不能进行有效的管理和控制,导致在管理上脱节。在制定计划时要提高项目负责人的计划意识,加强对开发计划的有效性评估。

软件项目管理十分重要,在实施过程中并不容易,软件与客户有很好的相互性,合理的需求与合理的软件项目能够很好的与客户交流。在软件项目的实施过程中常常面临技术应用、业务需求的情况等会影响到整个软件项目的管理。软件项目管理要有一定的原则性,在软件的管理上遵循的原则有:用分阶段的生命周期计划严格管理;坚持进行阶段评审;实行严格的产品控制;采用现代程序设计技术;结果应能够清楚地审查;开发小组地人员应该少而精;承认不断改进软件工程实践的必要性。这是著名软件工程专家B.w.Boehm总结出了软件开发时需遵循的几条基本原则,也成为了我们在软件项目管理上是要遵循的原则。

在软件开发中最重要的是人员的配置和安排,人员的管理能力是决定软件项目的质量的重要因素。由于软件质量上和客户的需求有所差距会导致项目范围模糊给评价带来困难,没有合理的安排和相关人员,从而导致的软件项目不合理安全性得不到保证,影响到了整个项目的进度,是软件项目中存在的问题。项目团队中没有明确的分工协作能力,导致没有很好管理,责任相互推诿。人与人之间的责任分工存在较大的差异。这些现象导致软件开发和项目管理上内部资源的消耗,从而阻碍项目管理的发展。

二、解决软件项目管理中常见问题的方法

在软件项目管理中要制定符合实际情况的计划,计划的制定要在一定的条件限制下不断的完善,提高项目负责人的计划意识,制定相关的知识,技术和工具加强对软件项目的管理和管理计划。计划的制定不一定要面面俱到,但是一定要将各种问题的应急方式快速的作出表达,要用智慧去应对各种问题和面临的风险。项目的成本一般较高,要有很好的控制力度,将项目做到精细化,制定相符的项目计划。对于软件开发而言,控制是相当重要的管理活动。控制是保证质量和配置的重要保证,软件质量保证是在软件过程中每一步都进行的保护性活动。软件的评审是保证软件质量的作用之一,它可以有效的保证软件质量。

保证项目软件的分工明确,项目负责人应该对项目成员的责任进行合理的说明并分配,项目团队中的分工要明确,要相互协作,共同完善。将项目分配到工作人员中去,要强调不同的环节有不同的分工,在各个阶段上还是有一定的联系。通过对各个阶段的交付,可以清晰的了解下一阶段的工作。在通过检验时,要对上一阶段的工作结果进行调整。在这种分工协作下,要做好沟通,不仅仅和工作人员进行交流,还要与客户进行沟通。沟通的时间就是成本,为这些时间买单的就是客户。了解客户所需要的,充分理解并解决客户的困难。在整个项目的进行中要通过交流协调各方面,减少项目各个方面的困难,来确保项目的成功。

加强风险管理意识和总结项目经验。项目的负责人要掌握项目风险管理,加强对项目的审核,提高项目实施中可行性。总结行业内部的常见问题,对项目的风险有一定的总结和认识。也可以通过学习项目管理的相关知识来掌握项目风险必备的知识,强化项目负责人的风险意识。注意总结软件管理中经验,使得项目经验具有指导意义,为以后的项目管理提供借鉴意义。

三、结语

虽然很多的公司制定了一些软件开发管理模式,但没有从根本上解决软件项目管理上的一系列问题。在软件项目管理中,要规范有关人员的管理,只有规范化的管理,才能在项目管理中起到重大的作用。在管理中要分工合作,加强沟通意识和规避风险的能力,在项目管理中要重视经验的总结。进一步完善软件项目管理在软件企业中的实施,提高软件项目管理的能力和软件项目的质量标准。

参考文献:

[1]叶克江.对软件项目管理的探讨[J].现代企业教育,2009,(02).

软件开发项目总结篇3

1.实践教学缺乏系统性和针对性目前许多高校“软件工程”课程除了理论讲解外,也加入了实践教学部分。往往受学时所限,实践分为软件项目若干设计文档的编写和软件工程工具的实验练习。前者受缺乏相应的开发环境、教师虚拟客户不能很好地反应现实需求、理工科学生的文字表达能力不足等因素的影响,设计文档的编写不能很好提高学生能力;后者在一定程度起到了一定的作用,但对于培养学生分析问题、解决问题、管理和团体协作能力方面仍显不足。

2.评分模式单一软件工程采用了传统的闭卷考试方式,平时成绩占总成绩的30%,期末考试占70%。平时成绩=上课出勤情况(10%)+实验完成情况(10%)+作业完成情况(10%)。任课教师通过对不同的考核内容赋予不同权重来评价学生对软件工程课程的掌握情况,主要考核学生对课程基本知识的理解。此方法不足以提高学生实际动手的能力,更不利于激发学生实际软件设计开发的兴趣。

二、现有的教学方法的分析

针对上述问题,从事软件工程的相关教师从不同角度,对软件工程课程进行了改革。归纳起来主要有如下几种教学方法改革:

1.自底向上教学法在“软件工程”课程中应用授课方式主要是用倒叙的方式贯穿完整案例(包含警戒案例),以启发、讨论、辩论的形式讲授软件工程的原理、方法及过程,使学生不觉生疏,易接受,又符合it从业人员的工作进程。[2]

2.模块化教学法在“软件工程”课程中的应用在尊重教学规律和学生个性发展的原则上,根据课程体系和内容之间的关系,将教学部分划分为若干独立的模块,确定模块之间的关联,针对不同的教学计划要求,采用不同的模块组合有选择地进行讲授和学习。[3]

3.案例教学法在“软件工程”课程中的应用软件工程案例教学是根据“软件工程”课程的教学目的和学生培养目标要求,教师选用相应的案例作为基本素材,引导学生对案例进行调查、思考、分析、讨论、设计、开发和交流等相关活动,在活动中教授学生软件工程的原理、方法及过程,进而提高学生分析和解决问题的能力,加深学生对基本理论知识的理解和掌握。[4]

4.项目驱动教学法在“软件工程”课程中的应用项目驱动教学法是案例教学法的基础上采用“案例导向、项目驱动”的教学方法。首先,教师根据要讲授的理论知识预先准备一个或者多个小的软件开发项目;然后,将学生作为主体,以软件开发项目的研发过程为引导,采用学生小组团队合作和学生个人独立完成相结合的教学形式,组织学生开展集体讨论并完成相应的实践性活动,在研发过程中同学和老师要对每位学生所完成的每个阶段任务加以点评、督促改进、分享经验等;最后,学生将成功的软件给予演示。

5.三位一体式教学法在“软件工程”课程中的应用根据学生的认识特点和该课程自身的特点以及对“软件工程”课程在计算机科学专业的定位、教材的选取、课程培养目标的分析下,采取以综合能力培养为中心、项目实践为标准,模板、案例、指导说明为辅助的三位一体式的教学思路。[6]对目前在“软件工程”课程改革中应用的五种方法针对改革侧重点进行汇总发现(见表1),单一的教学方法只是在理论教学、实践教学和考核方式某一方面发挥了很好的作用,而不能从全面发挥效果,而对于“软件工程”课程来说三者同样重要。

三、基于多元教学法的课程改革新模式

某一种教学模式改革已经不能满足现代“软件工程”课程教学的要求,只有将多元教学模式组合在一起,充分考虑各自对课程教学的优势,避其缺点,找到一种既能使学生具有良好的理论基础,又能充分培养学生实践能力,还能准确地考核学生的教学模式。本次课程改革就是本着这样一种思想,从理论教学、实践教学和考核方式三个方面进行多样化改革。

1.理论教学内容多样化

理论知识的学习在学生以后软件项目开发过程中具有必要性和重要性,软件工程学习过程中要重视基础和基本技能的培养。学生要具有开发软件项目的能力,首先要熟悉掌握软件工程相关的理论知识,特别是对如何按照工程化的方法系统地设计、实现、测试和维护大型软件,内容包括:软件开发的基本理论、方法和技术;其次是了解目前已有系统、工具和技术。(1)授课内容引入案例。教师在教学过程中引入与理论知识相匹配的实际案例,将比较抽象的软件工程原理、方法和技术转为具体生动的案例进行诠释,增强理论教学的艺术性、科学性、趣味性、形象性,使学生能够在课堂上深刻领会和理解软件工程的思想和方法,教学效果收到了事半功倍。(2)适时更新教学内容。近几年,软件原理、方法和技术发展较快,许多适应时展的软件不断涌出,而目前的教材虽不断改版更新,但其更新的速度远远跟不上软件工程的发展。因此,教师在进行理论讲解时,除了要教授学生基本原理、技术和方法外,还要时刻关注新内容的出现。(3)制作丰富多彩的课件。采用多媒体教学手段,在课件中插入图片、动画、声音、视频等多媒体元素,使教学内容更加充实和生动。(4)课堂小组讨论。从小问题到大问题,让学生参与教学过程,有机会发表自己的看法。课堂讨论和分析试验,使理论有实践作支撑,抽象的知识变得看得见,用得着,大大激发学生学习的兴趣和自信。

2.实践教学内容多样化

软件工程理论的讲解是课程学习和技能培养的基础,而软件工程中许多理论内容如果只是教师讲解不加以实践,内容本身就会变得空洞和不可理解,例如:软件复杂性计算、软件可靠性与安全性的测量标准、结构化的实现方法等都需要学生动手实践才能更好地理解知识本身的内涵。掌握概念、原理、方法和技术,熟练应用软件开发实践中的方法和技术是“软件工程”课程对学生的培养目标。(1)课程角色扮演。教师预先选择若干小项目,班内学生根据自己对项目熟悉情况选择项目名称,划分项目小组,每组人数不超过6人,每个项目小组成员根据自身特长选择不同软件工程角色,例如项目负责人、需求分析负责人、设计负责人、编码负责人、测试负责人和用户代表,进行项目分工。项目组成员按时完成自己负责任务,撰写相应文档。教师帮助学生分析和解决所遇到问题。在整个开发过程可以体现“学以致用”的思想,实现理论与实践相结合。(2)课程设计。课程设计主要是针对高年级学生在学习软件工程课程时开展的专项训练。课程设计采取在学校内模拟it企业环境下完成来自企业案例或开发一些具有应用价值项目或学校教师承担的开发项目的部分开发工作,也可以是学生自选项目,整个课程设计阶段严格按照工程实施的基本思想来实施。(3)加强校企合作。一方面经常邀请软件公司长期从事软件设计、开发和项目管理的工程师和项目经理,给学生讲解自己在软件设计、开发和管理中的经验,高质量软件产品需要经过怎样的开发过程,软件生命周期中标准文档如何撰写等相关内容;另一方面,利用寒暑假时间,让学生走出去,到软件产品的研发单位实地实习。

3.考试方式多样化

传统的考核方式已经不能反映学生实际软件开发的水平,也与多样化的教学模式不相匹配,为此多样化的考核方式才符合现实需求,主要包括:笔试、课后角色扮演、课程设计和项目总结。(1)笔试占总成绩的35%,主要考查学生理论知识的掌握情况和学习效果。(2)课后角色扮演占总成绩的15%。由教师根据每位学生在课后角色扮演中的具体表现进行打分,主要由3部分取平均值组成:1/3*(整个项目的成绩+自己负责完成的文档成绩+组内其他成员负责完成的文档的平均成绩)。(3)项目总结或心得体会占总成绩的15%。根据学生在软件开发过程中所撰写的经验和教训总结报告、每个小组成员建立的个人开发记录或日志的实际情况,相互打分。

四、基于多元教学模式课程改革方案

基于上述改革理念,按照软件工程开发原理、方法和技术,选用典型项目案例,将学生按照项目分成若干个小组,每组人数不超过6人。每个小组对应着一个具体的项目,每个人对应着一个具体工作过程,按照如下步骤进行多元教学。第一步,教师选用合适的教学内容,制作丰富多彩的课件,对学生进行基本理论和基本技能的讲解。在每一个软件生命周期结束后,教师进行案例场景描述。教师按照理论知识的内容,选择相应的案例进行描述,学生将所学内容运用到相关案例中。教师通过案例让学生明白理论知识如何应用,学生通过案例体会到小项目中所学的原理、方法和技术是如何实现的。第二步,课后角色扮演。学生通过分组讨论的方式,完成项目分工,明确自己在项目中所扮演的角色。所有的任务通过集体讨论的方式,决出所要完成的任务,并由相应的角色人实际操作完成。例如,需求分析一章内容,学生课后进行项目小组讨论,决定需求分析的内容,进行相应的需求分析,并由扮演需求分析人员的学生完成需求报告。软件开发过程需要整个团队的通力合作,根据学生的性格、表达能力、开发能力、理论基础掌握情况等方面进行人员分组,将具有不同特点的学生组成一个团队完成项目开发。这种团队合作的方式,既能发挥学生各自的特长,又能培养学生的团队合作精神。第三步,课程设计。当全部内容讲解完成,就可以开始长达2周的课程设计内容了。这段时间要求项目小组,彻底完成一个由教师虚拟的项目。此步骤中,主要培养学生良好的科研习惯,在开发过程中及时总结经验和教训,建立个人开发记录或日志,理论联系实际学着开发软件。第四步,学生总结,教师点评。学生经过多个教学环节后,每个团队在一定程度上完成了各自的项目任务,对各自团队的成果进行总结。教师听取每个团队的汇报后,从横向和纵向两个方面对项目成果之间进行比较,从而让每一位学生明白自己在团队中发挥了什么作用,自己哪些方面不足。第五步,请进来,走出去。通过学校和企业合作的方式,一方面经常邀请软件公司长期从事软件设计、开发和项目管理的工程师和项目经理,给学生讲解自己在软件设计、开发和管理中的经验,高质量软件产品需要经过怎样的开发过程,软件生命周期中标准文档如何撰写等相关内容;另一方面,利用寒暑假时间,让学生走出去,到软件产品的研发单位,实地实习。

五、结束语

软件开发项目总结篇4

oftheprojectmanagement

内容摘要:随着信息产业的飞速发展,项目管理对于以应用开发为主的软件企业是一个行之有效的管理方法,项目管理在软件开发中的应用日益受到重视。本文主要通过对项目管理在软件开发中的应用的成因、存在的问题以及相应的解决方案进行了分析和论述。

abstractcontent:withthedevelopmentatfullspeedoftheinformationindustry,theprojectmanagementisaneffectualofficeproceduretothesoftwareenterpriserelyingmainlyonapplicationanddevelopment,theapplicationinsoftwaredevelopmentoftheprojectmanagement

ispaidattentiontodaybyday.thistexthasbeenanalyzedanddescribed

throughtheorigincauseofformation,existingproblemandcorresponding

solutionofapplicationtotheprojectmanagementinsoftwaredevelopment

mainly.

关键词:项目管理,软件开发

keywords:projectmanagement,softwaredevelopment

如果用两个字概括当前社会的特点,那就是“变化”,而这种变化在信息产业中体现得尤为突出,技术创新速度越来越快,用户需求与市场不断变化,人员流动也大大加快。www.133229.com在这种环境下,企业需要应对的变化以及由此带来的挑战大大增加,也给管理带来了很多问题和挑战。软件行业是一个极具挑战性和创造性的新行业,管理上没有成熟的经验可供借鉴。而项目管理应该说对于软件企业,尤其是那些以应用开发为主的软件企业,是行之有效的管理方法。因此,项目管理在软件开发中的应用日益受到重视。

项目管理的两个问题

1、什么是项目管理?

项目管理是在一定的约束条件下,以高效率地实现项目业主的目标为目

的,以项目经理个人负责制为基础和以项目为独立实体进行经济核算,并按照项目内在的逻辑规律进行有效的计划、组织、协调、控制的系统管理活动。

2、为什么要有项目管理?

没有项目管理,项目也有可能成功。但没有管理的项目,很难保证项目

的利润空间,对公司来说,亏损的风险就大。所以我们要有项目管理,以保证公司在总体上是盈利的,注意不是每一个项目都要盈利。

另外,有了项目管理,就有了管理改进的基础,无论刚开始的项目管理多么糟糕,只要有管理,就有了改进的可能性,至于能不能得到改进,以及改进的快慢,则取决于两个因素:一个是人,特别是各级管理者;另一个是利益。关键是“利益”,准确的说是“利益的分配”,在权责利明确的前提下,人才能充分的发挥作用。还需要指出的是“利益”是多元的,这里的多元不仅指利益的具体形式,而且指利益的受众是多元的,包括客户方相关人员个人的利益。

3、项目管理的发展与现状。

今天,项目管理作为一种现代化管理方式在国际上已获得了广泛的应用,从最初的国防、航天、建设工程领域,迅速发展到电子、通信、计算机、软件开发、金融等行业以及政府机关的项目管理工作。随着计算机、网络系统的迅速发展,项目管理技术的不断进步,项目管理软件产品层出不穷,其功能、特点、应用对象也各不相同。当前,越来越多的企业和组织在内部推广项目管理的理论方法及管理模式,如果都采用项目管理软件进行管理,效果就更加明显,可以节省大量的资源和财富。国外90%以上的项目管理都采用软件进行,但我国在这方面的应用还不到10%。新世纪项目管理在

项目管理在软件开发中的应用的成因

随着信息技术的飞速发展,软件产品的规模也越来越庞大,个人单打独斗的作坊式开发方式已经越来越不适应发展的需要。各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。从概念上讲,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小开发风险)。同时,随着软件开发规模及开发队伍的逐渐增大,软件开发不再是向过去那样一二个开发人员即可解决的事情。迫切需要一种开发规范来规范每个开发人员、测试人员与支持人员的工作,每个项目组成员按约定的规则准时完成自己的工作。同时采用规范化管理,专业分工也可以降低对开发人员的要求,从而降低产品研发成本。

软件开发是一项复杂的系统工程,牵涉到各方面的因素,实际工作中,经常会出现各种各样的问题,甚至面临失败。如何总结、分析失败的原因,得出有益的教训,对一个公司来说,是在今后的项目中取得成功的关键。

早在20世纪60年代中期,人们就发现软件的生产出现了“问题”,主要表现在生产过程不规范,缺乏管理。后来,人们在软件工程方法学中引入了工程的概念、原理、技术和方法,这种思想在一定程度上解决了软件生产过程中遇到的问题。但是直至80年代还是没有提出一套管理软件开发的通用原则,软件管理不善的问题依旧在大范围内存在。

目前的软件开发正逐步趋向于复杂化、多元化,大多数开发团队中都会出现同时开发多个版本、开发/维护工作并存、多地点同时开发等情况,给软件开发管理带来了前所未有的困难。如果管理不善,必将造成版本混乱,各个开发人员的工作相互交叉、干扰,整个开发团队的工作在一种无秩序的不良状况下运行,严重影响软件产品开发的进度和质量。

因此,随着软件开发的深入、各种技术的不断创新以及软件产业的形成,人们越来越意识到软件过程管理的重要性,管理学的思想逐渐融入软件开发过程中,应用开发的项目管理日益受到重视。而项目管理技术的发展与计算机技术的发展是密不可分的,随着计算机性能的迅速提高,大量的项目管理软件涌现出来。它们可以用于各种商业活动,提供便于操作的图形界面,帮助用户制定任务、管理资源、进行成本预算、跟踪项目进度等。

软件项目管理常见问题及解决方案

对于软件开发项目中,经常出现两种极端情况,一种是创造了新的生产率和质量的纪录;一种则完全是一场灾难,不是被取消就是拖延很长时间。前者如在很短的时间内,为了赶进度,在几乎不可能的时间内开发出一套软件产品,创造了软件开发的记录,满足了上级所要求的上机日期,由于开发时间太短,过于仓促,上机时,问题百出,试运行时间长达几个月或一年半载的,而且程序一改再改,维护工作量大。

后者,如某套系统未弄清楚需求,或因设计问题,开发失败。通过提炼这些成功和失败的例子,软件项目成功或失败的根本原因可能会更清晰一些。

目前我国大部分软件公司,无论是产品型公司还是项目型公司,都没有形成适合自己公司特点的软件开发管理模式,虽然有些公司根据软件工程理论建立了一些软件开发管理规范,但并没有从根本上解决软件开发的质量控制问题。这样导致软件产品质量不稳定,软件后期的维护、升级出现麻烦,同时最终也会损害用户的利益。

分析目前项目管理需要改进的问题可以从几种相关角色的角度去考虑:项目经理、项目组成员、公司管理人员、市场人员、客户等。

问题一:缺乏项目管理系统培训(相关对象:项目经理、管理人员)

项目经理在项目管理方面的培训较少或不够系统。项目经理或管理人员不了解项目管理的知识体系和一些常用工具和方法,所以在实际工作中没有项目管理知识的指导,完全依靠个人现有的知识技能,管理工作的随意性、盲目性比较大。在软件企业中,以前几乎没有专门招收项目管理专业的人员来担任项目经理(甚至很少是管理专业的),被任命的项目经理主要是因为他们能够在技术上独当一面,而管理方面特别是项目管理方面的知识比较缺乏。

解决方案:项目经理接受系统的项目管理知识培训是非常必要的,有了专业领域的知识与实践,再加上项目管理知识与实践和一般管理的知识和经验的有机结合,必能大大提高项目经理的项目管理水平。应实行项目经理知识技能资格考核制度,让项目经理自觉补充学习项目管理的知识和一些常用工具和方法。

问题二:项目计划意识问题(相关对象:项目经理)

项目经理对总体计划、阶段计划的作用认识不足。项目经理认为计划不如变化快,项目中也有很多不确定的因素,做计划是走过场,因此制定总体计划时比较随意,不少事情没有仔细考虑;阶段计划因工作忙等理由经常拖延,造成计划与控制管理脱节,无法进行有效的进度控制管理。没有计划或者是随意的不负责任的计划的项目是一种无法控制的项目。

解决方案:在高技术行业,日新月异是主要特点,因此计划的制定需要在一定条件的限制和假设之下采用渐近明细的方式进行不断完善。提高项目经理的计划意识,采用项目计划制定相关各种知识、技术、工具,加强对开发计划、阶段计划的有效性进行事前事后的评估。

问题三、管理意识问题(相关对象:项目经理)

部分项目经理没有意识到自己项目经理的角色,从总体上去把握管理整个项目,而是埋头于具体的技术工作,造成项目组成员之间忙的忙、闲的闲,计划不周、任务不均、资源浪费。在软件企业中,项目经理大多是技术骨干,技术方面的知识比较深厚,但无论是项目管理知识,还是项目管理必备的技能、项目管理必备的素质都有待补充和提高,项目管理经验也有待丰富。有些项目经理对于一些不服管理的技术人员,没有较好的管理方法,工作不好安排的工作只好自己做。另外由于工作分解结构设计的合理性,项目任务无法有效、合理地分配给相关成员,以达到“负载均衡”。

解决方案:加强项目管理方面的培训,并通过对考核指标的合理设定和宣传引导项目经理更好地做好项目管理工作。技术骨干在担任项目经理之前,最好能经过系统的项目管理知识,特别是其中的人力资源管理、沟通管理的学习,并且在实际工作中不断提高自己的管理素质,丰富项目管理经验,提高项目管理意识。

问题四:沟通意识问题(相关人员:项目经理、项目组成员)

在项目中一些重要信息没有进行充分和有效的沟通。在制定计划、意见反馈、情况通报、技术问题或成果等方面与相关人员的沟通不足,造成各做各事、重复劳动,甚至造成不必要的损失;有些人没有每天定时收邮件的习惯,以至于无法及时接收最新的信息。

解决方案:制定有效的沟通制度和沟通机制,对由于缺乏沟通而造成的事件进行通报作为教训提醒,以提高沟通意识;沟通方式应根据内容而多样化,讲究有效率的沟通;通过制度规定对由于未及时收取邮件而造成损失的责任归属;对于特别重要的内容要采用多种方式进行有效沟通以确保传达到位,例如除发送邮件外还要电话提醒、回执等,重要的内容还要通过举行各种会议进行传达。

问题五:风险管理意识问题(相关人员:项目经理)

项目经理没有充分分析可能的风险,对付风险的策略考虑比较简单。项目经理在做项目规划时常常没有做专门的风险管理计划文档,而是合并在项目计划书中。有些项目经理没有充分意识到风险管理的重要性,对计划书中风险管理的章节简单应付了事,随便列出几个风险,随便地写一些简单的对策,对于后面的风险防范起不到什么指导作用。

解决方案:通过学习项目管理知识掌握风险识别、量化、对策研究、反应控制的工具和方法掌握项目风险管理所必备的知识。通过加强对项目规划中风险管理计划的审核提高项目组的风险管理意识。总结本行业项目中常见的风险及其对策作为风险管理计划中必要的风险内容,并切实评估相应对策的有效性和可行性。

问题六:不重视项目经验的总结(相关人员:项目经理、管理人员)

项目经理在项目结束时有些是因为自身对写文档工作的兴趣或意识,或

者是因为紧接着要参加下一个项目,总体对项目总结的重视程度不够。有些是项目总结报告一再拖延,有些是交上来的报告质量较低,敷衍了事。

解决方案:在制度上鼓励和加强项目经验总结工作,使得项目总结及时并且具有指导意义而不是走过场。

问题七:项目干系人相关问题(相关人员:项目经理、项目成员、客户)

在范围识别阶段,项目组对客户的整体组织结构、有关人员及其关系、

工作职责等没有足够了解以致于无法得到完整需求或最终经权威用户代表确认的需求。由于项目经理的工作问题,客户参与程度部不高,客户方相关责任人不明确或对范围和要求责任心不强,提出的要求具有随意性,项目前期对需求的确认不够积极;或者是多个用户代表各说各话、昨是今非但同时又要求项目尽早交付;项目后期需求变化随意,造成项目范围的蔓延,进度的拖延,成本的扩大。

解决方案:项目的目的就是实现项目干系人的需求和愿望。项目干系人管理应当从项目的启动开始,项目经理及其项目成员就要分清项目干系人包含哪些人和组织,通过沟通协调对他们施加影响,驱动他们对项目的支持,调查并明确他们的需求和愿望,减小其对项目的阻力,以确保项目获得成功。

问题八:项目团队内分工协作问题(相关人员:项目经理、项目成员)

项目团队内部有时由于各阶段不同角色或同阶段不同角色之间的责任

分工不够清晰而造成工作互相推诿、责任互相推卸的现象,有时各阶段不同角色或同阶段不同角色之间的责任分工比较清晰但是各项目成员只顾完成自己那部分任务、不愿意与他人协作。这些现象或多或少地造成了项目团队内部资源的损耗,从而影响了项目的进展。

解决方案:项目经理应当对项目成员的责任进行合理的分配并清楚地说明,同时应强调不同分工、不同环节的成员应当相互协作,共同完善。

以上对软件开发项目管理中出现的问题的分析还不够深入,也无法列举所有遇到或将遇到的问题,解决方案也要根据实际情况进行调整,希望引起对这些问题更多的思考和改进。

结束语:项目管理虽然没有非常高深的理论,但要真正实施起来,也绝非易事。对于软件开发企业而言,这不是一个小的改变,而是一种变革,企业需要为此付出艰苦的努力,宣传并树立公司范围内的项目管理文化十分重要。从而在实践中锻炼提高,解决各种各样的问题,使项目管理工作越做越好。

参考文献:

吴照云《管理学原理》 经济管理出版社

stanleye.portny(宁俊等译)《如何做好项目管理》新经济工商实务丛书

nealwhitten(孙艳春等译)《管理软件开发项目》(第二版)软件项目管理系列丛书

软件开发项目总结篇5

假如用两个字概括当前社会的特征,那就是“变化”,而这种变化在信息产业中体现得尤为突出,技术创新速度越来越快,用户需求和市场不断变化,人员流动也大大加快。在这种环境下,企业需要应对的变化以及由此带来的挑战大大增加,也给管理带来了很多新问题和挑战。软件行业是一个极具挑战性和创造性的新行业,管理上没有成熟的经验可供借鉴。而项目管理应该说对于软件企业,尤其是那些以应用开发为主的软件企业,是行之有效的管理方法。因此,项目管理在软件开发中的应用日益受到重视。

项目管理的两个新问题

1、什么是项目管理?

项目管理是在一定的约束条件下,以高效率地实现项目业主的目标为目

的,以项目经理个人负责制为基础和以项目为独立实体进行经济核算,并按照项目内在的逻辑规律进行有效的计划、组织、协调、控制的系统管理活动。

2、为什么要有项目管理?

没有项目管理,项目也有可能成功。但没有管理的项目,很难保证项目

的利润空间,对公司来说,亏损的风险就大。所以我们要有项目管理,以保证公司在总体上是盈利的,注重不是每一个项目都要盈利。

另外,有了项目管理,就有了管理改进的基础,无论刚开始的项目管理多么糟糕,只要有管理,就有了改进的可能性,至于能不能得到改进,以及改进的快慢,则取决于两个因素摘要:一个是人,非凡是各级管理者;另一个是利益。关键是“利益”,准确的说是“利益的分配”,在权责利明确的前提下,人才能充分的发挥功能。还需要指出的是“利益”是多元的,这里的多元不仅指利益的具体形式,而且指利益的受众是多元的,包括客户方相关人员个人的利益。

3、项目管理的发展和目前状况。

今天,项目管理作为一种现代化管理方式在国际上已获得了广泛的应用,从最初的国防、航天、建设工程领域,迅速发展到电子、通信、计算机、软件开发、金融等行业以及政府机关的项目管理工作。随着计算机、网络系统的迅速发展,项目管理技术的不断进步,项目管理软件产品层出不穷,其功能、特征、应用对象也各不相同。当前,越来越多的企业和组织在内部推广项目管理的理论方法及管理模式,假如都采用项目管理软件进行管理,效果就更加明显,可以节省大量的资源和财富。国外90%26#37;以上的项目管理都采用软件进行,但我国在这方面的应用还不到10%26#37;。新世纪项目管理在中国的迅速兴起,给软件企业的发展带来了前所未有的发展机遇。

项目管理在软件开发中的应用的成因

随着信息技术的飞速发展,软件产品的规模也越来越庞大,个人单打独斗的作坊式开发方式已经越来越不适应发展的需要。各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。从概念上讲,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小开发风险)。同时,随着软件开发规模及开发队伍的逐渐增大,软件开发不再是向过去那样一二个开发人员即可解决的事情。迫切需要一种开发规范来规范每个开发人员、测试人员和支持人员的工作,每个项目组成员按约定的规则准时完成自己的工作。同时采用规范化管理,专业分工也可以降低对开发人员的要求,从而降低产品研发成本。

软件开发是一项复杂的系统工程,牵涉到各方面的因素,实际工作中,经常会出现各种各样的新问题,甚至面临失败。如何总结、分析失败的原因,得出有益的教训,对一个公司来说,是在今后的项目中取得成功的关键。

早在20世纪60年代中期,人们就发现软件的生产出现了“新问题”,主要表现在生产过程不规范,缺乏管理。后来,人们在软件工程方法学中引入了工程的概念、原理、技术和方法,这种思想在一定程度上解决了软件生产过程中碰到的新问题。但是直至80年代还是没有提出一套管理软件开发的通用原则,软件管理不善的新问题依旧在大范围内存在。

目前的软件开发正逐步趋向于复杂化、多元化,大多数开发团队中都会出现同时开发多个版本、开发/维护工作并存、多地点同时开发等情况,给软件开发管理带来了前所未有的困难。假如管理不善,必将造成版本混乱,各个开发人员的工作相互交叉、干扰,整个开发团队的工作在一种无秩序的不良状况下运行,严重影响软件产品开发的进度和质量。

因此,随着软件开发的深入、各种技术的不断创新以及软件产业的形成,人们越来越意识到软件过程管理的重要性,管理学的思想逐渐融入软件开发过程中,应用开发的项目管理日益受到重视。而项目管理技术的发展和计算机技术的发展是密不可分的,随着计算机性能的迅速提高,大量的项目管理软件涌现出来。它们可以用于各种商业活动,提供便于操作的图形界面,帮助用户制定任务、管理资源、进行成本预算、跟踪项目进度等。

软件项目管理常见新问题及解决方案

对于软件开发项目中,经常出现两种极端情况,一种是创造了新的生产率和质量的纪录;一种则完全是一场灾难,不是被取消就是拖延很长时间。前者如在很短的时间内,为了赶进度,在几乎不可能的时间内开发出一套软件产品,创造了软件开发的记录,满足了上级所要求的上机日期,由于开发时间太短,过于仓促,上机时,新问题百出,试运行时间长达几个月或一年半载的,而且程序一改再改,维护工作量大。

后者,如某套系统未弄清楚需求,或因设计新问题,开发失败。通过提炼这些成功和失败的例子,软件项目成功或失败的根本原因可能会更清楚一些。

目前我国大部分软件公司,无论是产品型公司还是项目型公司,都没有形成适合自己公司特征的软件开发管理模式,虽然有些公司根据软件工程理论建立了一些软件开发管理规范,但并没有从根本上解决软件开发的质量控制新问题。这样导致软件产品质量不稳定,软件后期的维护、升级出现麻烦,同时最终也会损害用户的利益。

分析目前项目管理需要改进的新问题可以从几种相关角色的角度去考虑摘要:项目经理、项目组成员、公司管理人员、市场人员、客户等。

新问题一摘要:缺乏项目管理系统培训(相关对象摘要:项目经理、管理人员)

项目经理在项目管理方面的培训较少或不够系统。项目经理或管理人员不了解项目管理的知识体系和一些常用工具和方法,所以在实际工作中没有项目管理知识的指导,完全依靠个人现有的知识技能,管理工作的随意性、盲目性比较大。在软件企业中,以前几乎没有专门招收项目管理专业的人员来担任项目经理(甚至很少是管理专业的),被任命的项目经理主要是因为他们能够在技术上独当一面,而管理方面非凡是项目管理方面的知识比较缺乏。

解决方案摘要:项目经理接受系统的项目管理知识培训是非常必要的,有了专业领域的知识和实践,再加上项目管理知识和实践和一般管理的知识和经验的有机结合,必能大大提高项目经理的项目管理水平。应实行项目经理知识技能资格考核制度,让项目经理自觉补充学习项目管理的知识和一些常用工具和方法。

新问题二摘要:项目计划意识新问题(相关对象摘要:项目经理)

项目经理对总体计划、阶段计划的功能熟悉不足。项目经理认为计划不如变化快,项目中也有很多不确定的因素,做计划是走过场,因此制定总体计划时比较随意,不少事情没有仔细考虑;阶段计划因工作忙等理由经常拖延,造成计划和控制管理脱节,无法进行有效的进度控制管理。没有计划或者是随意的不负责任的计划的项目是一种无法控制的项目。

解决方案摘要:在高技术行业,日新月异是主要特征,因此计划的制定需要在一定条件的限制和假设之下采用渐近明细的方式进行不断完善。提高项目经理的计划意识,采用项目计划制定相关各种知识、技术、工具,加强对开发计划、阶段计划的有效性进行事前事后的评估。

新问题

三、管理意识新问题(相关对象摘要:项目经理)

部分项目经理没有意识到自己项目经理的角色,从总体上去把握管理整个项目,而是埋头于具体的技术工作,造成项目组成员之间忙的忙、闲的闲,计划不周、任务不均、资源浪费。在软件企业中,项目经理大多是技术骨干,技术方面的知识比较深厚,但无论是项目管理知识,还是项目管理必备的技能、项目管理必备的素质都有待补充和提高,项目管理经验也有待丰富。有些项目经理对于一些不服管理的技术人员,没有较好的管理方法,工作不好布置的工作只好自己做。另外由于工作分解结构设计的合理性,项目任务无法有效、合理地分配给相关成员,以达到“负载均衡”。

解决方案摘要:加强项目管理方面的培训,并通过对考核指标的合理设定和宣传引导项目经理更好地做好项目管理工作。技术骨干在担任项目经理之前,最好能经过系统的项目管理知识,非凡是其中的人力资源管理、沟通管理的学习,并且在实际工作中不断提高自己的管理素质,丰富项目管理经验,提高项目管理意识。

新问题四摘要:沟通意识新问题(相关人员摘要:项目经理、项目组成员)

在项目中一些重要信息没有进行充分和有效的沟通。在制定计划、意见反馈、情况通报、技术新问题或成果等方面和相关人员的沟通不足,造成各做各事、重复劳动,甚至造成不必要的损失;有些人没有天天定时收邮件的习惯,以至于无法及时接收最新的信息。

解决方案摘要:制定有效的沟通制度和沟通机制,对由于缺乏沟通而造成的事件进行通报作为教训提醒,以提高沟通意识;沟通方式应根据内容而多样化,讲究有效率的沟通;通过制度规定对由于未及时收取邮件而造成损失的责任归属;对于非凡重要的内容要采用多种方式进行有效沟通以确保传达到位,例如除发送邮件外还要电话提醒、回执等,重要的内容还要通过举行各种会议进行传达。

新问题五摘要:风险管理意识新问题(相关人员摘要:项目经理)

项目经理没有充分分析可能的风险,对付风险的策略考虑比较简单。项目经理在做项目规划时经常没有做专门的风险管理计划文档,而是合并在项目计划书中。有些项目经理没有充分意识到风险管理的重要性,对计划书中风险管理的章节简单应付了事,随便列出几个风险,随便地写一些简单的策略,对于后面的风险防范起不到什么指导功能。

解决方案摘要:通过学习项目管理知识把握风险识别、量化、策略探究、反应控制的工具和方法把握项目风险管理所必备的知识。通过加强对项目规划中风险管理计划的审核提高项目组的风险管理意识。总结本行业项目中常见的风险及其策略作为风险管理计划中必要的风险内容,并切实评估相应策略的有效性和可行性。

新问题六摘要:不重视项目经验的总结(相关人员摘要:项目经理、管理人员)

项目经理在项目结束时有些是因为自身对写文档工作的喜好或意识,或

者是因为紧接着要参加下一个项目,总体对项目总结的重视程度不够。有些是项目总结报告一再拖延,有些是交上来的报告质量较低,敷衍了事。

解决方案摘要:在制度上鼓励和加强项目经验总结工作,使得项目总结及时并且具有指导意义而不是走过场。

新问题七摘要:项目干系人相关新问题(相关人员摘要:项目经理、项目成员、客户)

在范围识别阶段,项目组对客户的整体组织结构、有关人员及其关系、

工作职责等没有足够了解以致于无法得到完整需求或最终经权威用户代表确认的需求。由于项目经理的工作新问题,客户参和程度部不高,客户方相关责任人不明确或对范围和要求责任心不强,提出的要求具有随意性,项目前期对需求的确认不够积极;或者是多个用户代表各说各话、昨是今非但同时又要求项目尽早交付;项目后期需求变化随意,造成项目范围的蔓延,进度的拖延,成本的扩大。

解决方案摘要:项目的目的就是实现项目干系人的需求和愿望。项目干系人管理应当从项目的启动开始,项目经理及其项目成员就要分清项目干系人包含哪些人和组织,通过沟通协调对他们施加影响,驱动他们对项目的支持,调查并明确他们的需求和愿望,减小其对项目的阻力,以确保项目获得成功。

新问题八摘要:项目团队内分工协作新问题(相关人员摘要:项目经理、项目成员)

项目团队内部有时由于各阶段不同角色或同阶段不同角色之间的责任

分工不够清楚而造成工作互相推诿、责任互相推卸的现象,有时各阶段不同角色或同阶段不同角色之间的责任分工比较清楚但是各项目成员只顾完成自己那部分任务、不愿意和他人协作。这些现象或多或少地造成了项目团队内部资源的损耗,从而影响了项目的进展。

解决方案摘要:项目经理应当对项目成员的责任进行合理的分配并清楚地说明,同时应强调不同分工、不同环节的成员应当相互协作,共同完善。

软件开发项目总结篇6

【关键词】软件项目敏捷方法迭代开发持续改进

1.引言

随着信息化大潮的到来,越来越多的管理工作都走向了信息化,针对油田公司的供用电管理,也急需一套管理信息系统的支持。

油田公司每年电力消耗近20亿千瓦时,用电能效对公司利润影响巨大。电力管理部门负责整个公司的供用电管理业务,需要广泛采集各采油厂的用电数据,并进行统计、分析和挖掘,为决策提供科学、准确的依据。然而,目前我公司的管理工作仍由人工完成,效率低下,难以采集基础用电数据,也难以获得具有时效性的统计报表。为此,与西安工业大学电力miS研究所合作,联合开发油田公司的供用电管理系统。

在系统立项后,遵循软件工程的思想,采用结构化方法进行分析和设计,各项工作有条不紊的向前推进。但很快发现,这种方法存在一系列问题:首先是项目需求不清,软件使用者根本不清楚需要一套什么样的系统,很多用户都提出要先拿出一套系统,看了之后才能提意见;其次是开发进度难以控制,开发中用户不断提出新的需求,已确定的需求又不断的调整,始终不能确定项目工期;最后是项目质量难以控制,很多时候需求的变动会导致数据库结构的调整,这样解决了一个问题,可能会导致引入一系列问题,项目陷入了变化的泥潭。

可以看出,项目陷入困境的根本原因在于需求的不确定性,传统的方法难以适应这种变化,近些年出现的敏捷方法为我们提供了新的思路。

2.敏捷开发和Scrum方法

传统的软件项目开发遵循“瀑布模型”,该模型的基本思想是:将软件生命周期划分为制定计划、需求分析、概要设计、详细设计、编码测试以及运行维护护等六个阶段,并且规定它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。瀑布模型基于严格的“里程碑”划分,每个阶段结束时都要经过评审,并生成相应文档,后一阶段必须建立在前一阶段文档的基础上。

敏捷方法是一种迭代、渐进的开发方法,经常使用反馈进行思考、反省和总结,不停地进行自我调整和完善。敏捷方法的核心价值是:个人交互优先于过程和工具;可用的软件优先于全面的文档;顾客协作优先于合同协商;对变更的影响优先于计划的遵循。

Scrum是目前应用最广泛的一种敏捷方法,该名称来源于英式橄榄球比赛中的争球,强调通过集体的行动,奋力实现同一目标。Scrum方法认为软件开发类似于新产品的研发,过程中需要研究、创意和尝试错误,没有一种固定的规程可以保证项目成功,所以团队要围绕目标,紧密协作,以高度弹性解决各种挑战,确保每天、每个阶段都向目标推进。

Scrum的过程框架如图1所示:完整的开发任务被分解为若干个短的迭代周期,称为Sprint,每个Sprint的工期建议为2到4周;团队使用productBacklog来管理需求,并按商业价值对需求进行排序;每次迭代开始,团队挑选最高优先级的需求作为该Sprint的目标,协作完成该目标,并递交有价值的产品增量;在一个Sprint内,每天又是一个小的迭代,检查每个成员的进度与计划,了解开发中的困难并及时解决问题。

3.Scrum方法在供用电管理项目中的应用

3.1构建团队

为了保证供用电管理项目的顺利实施,根据Scrum团队的配置要求,为该项目配置了一个9人的团队,结构如下:

(1)产品负责人:由甲方的一名主管领导担任,对项目总体负责,协调双方的关系及有效沟通,保证团队的高效工作,并定期组织项目评审工作。同时也负责项目的需求和总体设计工作。

(2)scrummaster:乙方的技术负责人,负责团队的开发工作。他要主持召开sprint会议,划分产品工作任务并,控制软件开发进度,设计软件总体结构,解决团队成员在开发中遇到的问题,保证sprint计划的顺利实施。

(3)团队成员:由3名软件开发人员及1名测试人员组成,接受项目负责人分派的任务,完成目标系统的开发与测试工作。

(4)用户方团队:代表软件的使用者,由3名对供用电管理业务比较熟悉的甲方人员构成,与乙方讨论系统需求,协商需求变更,并在每个sprint结束时参加评审会议,测试产品的功能是否符合需求。

3.2迭代开发

Scrum方法将整个软件交付过程分成多个迭代周期,帮助团队更好地应对变更和风险,实现增量交付、快速反馈。

供用电管理系统的项目开发分为6个迭代进行,如图2所示:

Sprint1:设计软件的基础结构,包括软件架构、功能模块结构、界面及导航结构、用户注册与登录、用户访问控制等,该阶段结束时能看到软件的总体运行效果,但没有实现具体功能。

Sprint2:设计供电管理模块,实现了基层供电电源点管理、计量点管理、计量点费率管理、计量点用电量及电费管理等功能。

Sprint3:设计用电管理模块,实现了基层用电计量点管理、计量点费率管理、计量点用电量及电费管理等功能。

Sprint4:设计查询审批模块,实现油田总部对各采油厂供、用电计量点、计量点费率、计量点用电量及电费等信息的查询和审批功能。

Sprint5:设计报表分析模块,根据基层录入的供用电原始数据,统计并生成基层数据报表,并根据基层报表统计生成油田公司使用的各类数据报表。

Sprint6:系统精化设计,对前面5个Sprint中遗留的问题进行持续改进,增加了数据导入导出功能,并优化了几个常用报表的算法。

3.3过程控制

从图2可以看出,Scrum方法符合戴明环持续改进的理论,引导软件开发过程朝着正确的方向发展。

每个Sprint被划分成4个阶段,如下:

计划:每个Sprint初期要召开计划会议,确定该阶段要完成的任务,标注任务的优先级并分配给每个成员;

开发:在Sprint周期内,每天要召开开发人员会议,汇报前一天的工作内容及存在问题,说明当天的工作任务,对出现的问题由Scrummaster协调解决;

评审:在Sprint结束时将产生阶段性的成果,这时召开评审会议,由产品负责人、用户方团队及Scrummaster参加,观看成果的演示,提出问题和改进方法;

回顾:在Sprint评审后,开发组要召开Sprint回顾会议,对发现的问题进行说明和总结,指导后续开发。

另外,在前面5个Sprint结束时,系统的基本功能已经实现,通过最后一个Sprint对系统进行优化和重构,完成了总体开发过程的持续改进。

4.结论

软件项目最大的风险在于需求变动,延长油田供用电管理系统项目存在明显的需求不确定及易变的特性,采用传统的项目管理方法很难适应这种变化,为此,必须引入敏捷方法。本文以Scrum方法为指导,合理的构建开发团队,以迭代的方式持续交付开发成果,以戴明环理论持续改进系统设计,很好的适应了需求的变动,有效规避了项目风险,缩短了工期,并提高了软件质量。

参考文献:

[1]刘勇,唐东平.中小型软件企业的软件项目管理过程研究.科技管理研究.2006(9)

[2]高歌,王天勇.敏捷项目管理及实施方案研究.项目管理技术.2006(11)

软件开发项目总结篇7

关键词:成本控制;后勤软件;成本核算

目前我军信息化建设也正如火如荼地进行,其中全军被装、给养、油料和物资采购工作,也正大踏步进行信息化建设。软件系统作为后勤信息化建设的重要内容,规划好、建设好、应用好的意义十分重大,这些工作都需要人员、资金和物资的投入,尤其是在市场经济和军费供给相对不足的大环境下,经费的投入问题更是必须慎重考虑的基本方面。在纷繁复杂的各项经费保障中,比较令人困惑的就是软件系统开发的成本控制问题。无形的软件在业务工作中发挥了很大作用,在很大程度上是信息化建设的核心部分,但是它的开发到底有多大工作量、有多大的复杂程度,一直没有一个明确的说法,所实施的大部分都是“拍脑袋”的数字。在大规模建设的情况下,这么粗放管理的情况必须加以改变。

本文在研究成本控制理论基础上,通过对近年来软件成本控制的经历的再认识,结合军队实际工作模式,总结形成了对军队后勤软件系统建设成本控制行之有效的一套方法。其中包括宏观成本控制、微观成本控制和绩效评估3个方面,下面分别加以论述。

1宏观成本控制(规划设计阶段)

从军队后勤软件系统建设的需求出发,研究军队后勤软件系统建设的总体规划,并从总体规划出发,从宏观角度进行总经费盘子的估算和规划安排。

通常规划设计阶段对成本考虑比较粗略,较少对具体项目进行详细的成本评估,大多根据历史经验进行概略估算,这也是很多规划项目流产的主要原因之一。近年来,规划计划作为建设蓝图,法律意义在逐渐加强,其是否科学,是否能实现,在很大程度上决定于各项目的经费估算。在信息技术不断发展应用的情况下,规划计划应该逐步精确化。规划设计阶段的成本控制,就是要做好各项目的经费估算,确保规划设计科学可行。

对军队后勤软件系统建设的经费估算,可以按照如下步骤进行:(1)概略确定项目的范围。分析项目要实现的功能,制作功能和复杂度列表;分析项目需要应用的范围,制作应用单位、人员列表。(2)概略确定项目的技术方案。根据项目的功能多寡、复杂程度、应用单位环境类型和人员素质,确定项目可能涉及的运行模式、支撑平台和开发环境。(3)概略确定项目的开发周期。根据项目的范围和技术方案,确定项目开发周期中需求分析、系统设计、编码实现、测试评估等各阶段需要的时间、涉及的人员,形成概略开发周期表。(4)估算项目经费需求。根据项目概略开发周期表,结合软件行业平均工资水平和相关取费标准,计算得到项目的经费需求。根据经济和工资增长历史数据,结合项目预安排年度,计算获得项目的经费估计。

按这种方式估算的经费需求,结合了经验、历史数据、规模估计等,再考虑到信息技术进步带来的节约和货币贬值在一定程度的相互抵消,相对是比较精确,可操作性也很强。

2微观成本控制

对具体的军队后勤软件系统,需要从规模估计、合同管理和成本核算等方面进行软件成本的微观控制。

2.1规模估计

随着我军后勤业务改革的逐步深入,后勤业务一些功能可能增强、削弱、取消,必须在进行开发进行前再一次精细确认;另一方面,随着编制体制的调整,一些单位、部门和人员可能有撤并调整,这些调整变化直接影响软件系统的运行环境调整,进而影响开发的技术方案;此外,信息技术发展日新月异,这对软件的开发周期将产生很大的影响,这些都是软件规模估计所必须要考虑的。因此虽然在规划设计中,对每个软件项目都有一个概略的经费估算,但是在每个建设年度进行项目建设前,还必须进行具体计算,以便精确控制成本投入。

目前,国际上已有许多软件规模估计方法,如功能点分析(Fpa:functionpointsanalysis)、代码行(LoC:linesofcode)、德尔菲法(Delphitechnique)、CoCom0模型、特征点(featurepoint)、对象点(objectpoint)、3-1]功能点(3-Dfunctionpoints)、Bang度量(Demarco'sbangmetric)、模糊逻辑(fuzzylogic)、标准构件法(standardcomponent)等,这些方法随着各国研究者的不断研究细化又有许多具体的方法。立足建设需求和组织管理能力的实际,总结我们组织软件开发的经验,以为目前比较可行的规模估计方案是综合功能点估计法和Delphi法,主要实施步骤包含:(1)功能点估计。在集中组织业务专家和信息化专家进行的详细需求分析的基础上,由开发单位在指定时间范围内,进行概略设计,统计功能点,提出技术实施方案。(2)初审。由项目组织单位对开发单位提交的材料进行初步审核,①审核技术方案是否符合技术体制,②概略设计和功能点是否符合业务需求。对不符合要求的,应退回开发单位进行补充设计和修改。(3)Delphi评估。按照软件项目的主要功能需求,查找类似软件项目曾经的开发筹划、组织和实施及维护主责人员、开发主责人员、业务专家、财务审计人员,共同组成评估专家组。评估专家先分别研究材料,研究技术实施方案和功能点统计数据。然后集中组织专家进行集中讨论,各抒己见,并在必要的时候向开发单位进行质询或答辩。在充分交流的基础上,填写统一设计的Delphi评估表,按照Delphi规则进行评估,得出项目的规模估计值。

经过规模估计后,软件系统建设经费需求基本确定,把它作为签订开发合同和成本控制的基础。

2.2合同管理

软件项目在列入年度计划并进行规模估计后,应该进行开发实施,这时候一般有两种选择,要么按传统方式下达任务给军队内部的科研院所进行立项开发,要么委托专业软件公司进行开发实施。军队内部开发具有管理方便、费用低廉等优点,但也有诸多缺点,如何进行选择呢?要提高软件开发能力,必要的软件开发环境是基础,必须对软件开发环境投入大量资金。对企业而言,可以将软件开发环境的建设,尤其是软环境的建设(软件开发过程的改进和自动化软件工具)认为是固定资产投资,该投资收益于今后的软件开发工作中,不需要当作即期费用来处理。但在军队,尤其是后勤业务部门,这样的投资数量大、重用度小、经济效益低,而且不符合社会分工的要求。借助开发商,有助于加快开发进程、提高开发质量、规范开发管理、确保后续服务。

选择开发商的方式主要包括公开竞争性招标采购、有限竞争性招标采购、询价采购和直接签订合同采购,4种不同的采购方式按其特点来说分为招标采购和非招标采购。一般而言,在项目采购中采取公开招标的方式可以利用供应商之间的竞争来压低物资价格,帮助采购方以最低价格取得符合要求的工程或货物;并且多种招标方式的合理组合使用,也将有助于提高采购效率和质量,从而有利于控制采购成本。

2.3成本核算

软件开发完成,通过测试验收后,还应该在综合计算管理费、利润、纳税等基础上确定软件开发的最终成本。(1)因为军队后勤软件系统使用覆盖面广,涉及业务、层次、单位比较复杂,初期的需求分析往往很难彻底、精细;(2)军队内部信息技术人才相对缺乏,在软件开发及过程中,开发单位往往要进行一些与软件系统密切相关,但又不应包含开发之中的一些技术和保障工作,这些因软件开发而起的支出在开发单位自然要列入开发成本;(3)由于军方的需要而提出的对技术方案、开发时间节点的调整等,也将影响开发周期和成本投入。这些过程中调整导致对软件开发成本的影响,必须在开发结束后进行审结确定。

成本核算最主要的就是要搞清楚开发单位对软件系统整个开发过程中投入的有效人力、并预测在后续服务中需要投入的人力情况。成本核算的主要依据包含:①提交源代码。源代码是软件系统最主要的成果,也是核算重要的基准。②提交文档。经过软件系统完整的开发周期,按照软件工程标准形成了规范文档。分析这些文档,可以较为准确地确定软件系统开发的工作量,进而确定人力投入成本。③工程监理纪录。项目的监理纪录忠实、公正地记载了开发过程所发生的情况,因此必须分析工程监理纪录,确认过程中的需求变更、技术调整、连带工作等。④开发合同。软件系统开发合同是双方责任和义务的基准,也是成本和争议基准。

基于这些材料,进行成本核算的基本流程可以分为:①源代码统计。统计源代码行数,搜集软件开发环境对应的社会平均生产能力数据,计算得出软件系统初步人力成本。②文档分析。分析提交文档,整理出软件系统最终提交的功能点和复杂因子。视文档的完备、规范和复杂程度,在从文档和源代码的数据中选择一个作为计算基准,另一个作为调节因素。③监理记录分析。分析监理纪录,对比确认开发单位提交的变更人工投入成本,并可从中分析开发单位在各个阶段的实际投入、工程管理水平和诚实程度。④综合平衡。基于上述3个步骤综合获取的人力投入,结合软件开发合同和一些必须考虑的军队特色因素进行平衡,形成项目的最终价格。

经综合平衡形成的开发经费数额,具有公正、精确的特征,但这个经费数目与软件开发合同有差异,还有必要和开发单位进行沟通,以最终确定结算经费数量。因为初期的规模估计和成本核算都是有科学依据和准确数据基础,数据之间不应该有很大的差距,有差距也都能将道理讲清楚。

3绩效评估

每个信息化项目都会有一个具体的成本,包括硬件成本、软件成本、实施的费用、后期使用和维护的成本等,但在还不完全规范的情况下,有相当一部分具体项目的过程中,忽略或轻视了后期使用和维护的成本,从而最终造成拥有总成本的失控。对现有系统进行客观、科学、系统的评估,提出有针对性的升级方案及深化应用方案,是信息化建设的一项必须持续进行的重要任务。

软件开发项目总结篇8

[关键词]项目管理软件需求开发进度成本质量管理模型

一、引言

软件需求开发是软件工程的一个重要环节,在软件生命周期中的需求、设计、编码、测试和维护等各个阶段中,需求开发处于软件工程的开始部分,它提供构建软件项目的根基,决定软件开发成果满足客户需求的匹配程度。软件需求开发环节的失误会随着开发进度的扩大而蔓延,资料表明,软件项目中由于需求开发管理混乱而造成的返工开销几乎占了总开发的50%。本文应用项目管理理论分析软件需求开发阶段的系统构成,并设计管理模型来提高软件需求开发的管理效率。

二、软件需求开发管理过程

由于计算机技术的迅速发展,使得软件需求具有模糊性、不确定性、变化性、主观性等特点,并带来软件需求开发管理的复杂性。软件需求开发是一定的组织利用有限的资源在规定的时间内完成,可以作为项目来进行管理,其管理过程由需求获取、需求分析、编写软件需求规格和需求验证四个阶段构成。

1.需求获取

需求获取是在问题和最终解决方案之间架设桥梁,其主要任务是和用户方的领导层、业务层人员进行沟通,获取用户的具体需求,并了解用户的组织架构、业务流程、硬件环境、软件环境、现有的运行系统等具体情况,同用户建立起良好的沟通渠道和方式。软件需求获取的方法有:与用户交谈,向用户提问题;参观用户的工作流程,观察用户的操作;用户工作的情景分析;现有系统的问题报告和改进要求,事件和响应;市场调查和向用户群体发调查问卷;与同行、专家交谈,听取他们的意见;分析已经存在的同类软件产品,提取需求;从现有产品或竞争产品的文档中提取需求;从行业标准、规则中提取需求;从internet上搜查相关资料等。

2.需求分析

需求分析主要通过建立业务模型的方式来描述用户的功能需求,为客户、用户、开发方等不同参与者提供一个交流的渠道。业务模型可以映射出软件产品的核心需求,即功能需求。功能需求应描述软件提供的功能和服务、对输入的响应,并描述特定条件下的系统构成等。软件产品本身可能还存在与业务无直接关系的非功能需求,具体与系统的总体特性有关,如可靠性、响应时间、存储空间等。非功能需求定义系统提供服务或功能的约束,包括时间约束、空间约束、开发过程约束及应遵循的标准等。通常这两类需求构成软件需求的总集。

3.编制软件需求规格

软件需求规格的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解,使之成为整个开发工作的基础,需求分析完成的标志就是提交一份完整的软件需求规格说明书。软件需求规格说明书以一种开发人员可用的技术形式阐述软件必须提供的功能和具备的性能,以及必须考虑的限制条件。软件项目客户通过软件需求规格了解软件项目能够提供的软件产品,检查软件需求是否满足需要;项目管理人员根据软件需求规格制定项目的开发计划和管理过程;软件开发人员通过软件需求规格理解要开发的产品及具体要开发的内容;软件测试人员通过软件需求规格验证软件。

4.需求评审

编写的软件需求规格说明书还应当进行需求评审,确保需求确定的科学性。可采用下列指标进行评审:(1)正确性:每条需求都正确代表构建软件系统所要完成的事情。(2)无歧义:每条需求只有一种解释。(3)完备性:需求不能发生遗漏,应全面考虑相关问题。(4)一致性:用户需求必须和业务需求一致,功能需求必须和用户需求一致。(5)重要性和稳定性分级:现有资源不足以实现所有需求时,可以根据级别的高低决定实现的先后,舍弃一些级别低的需求以保证项目的按期交付。(6)可验证性:需求分析是可测试的,只有系统的所有需求都是可以被测试的,才能够保证软件始终围绕着用户的需要,保证软件系统是成功的。(7)可修改性:每一条需求都易于完整一致的进行变更,且不改变需求集的结构和风格。(8)可跟踪性:每条需求都是可溯源的,且存在一种机制使得在以后的工作中引用需求是可行的。(9)可理解性:用户和开发人员都完全理解需求集的整体行为、所提供的功能及其中的每条需求的含义。

三、软件需求开发管理模型

1.软件需求开发管理模型构建原则

软件需求开发是一项复杂的系统工程,管理模型的构建应遵循下列原则:(1)程序性原则:软件需求开发管理应遵循固定的业务流程,可将其划分为需求获取、需求分析、编写软件需求规格和需求验证四个阶段,前一阶段的工作完成后才能进入下一阶段。(2)系统性原则:软件需求开发要在限定的时间、成本条件约束下达到一定的质量,实现软件系统的最优,要求管理遵循系统管理原则,实现目标最优。(3)简化性原则:化繁为简,将模糊的、潜在的复杂问题明确化,以图表的形式表示出,并以简化的解决方案解决问题,便于项目管理。(4)平衡性原则:管理软件需求开发的具体事务要有一定的侧重。对于需求开发过程事项,应根据影响大小分清主次,关键的事项或者事项里的某个多发问题点,着重管理,达到在管理上的主次平衡。(5)高效性原则:模型的设计必须以促进需求开发目标的实现为前提,提供给相关人员一个展示需求开发管理和有效解决方案的平台。(6)时时控制性原则:及时控制需求开发过程中影响进度、成本、质量等问题,及时发现解决冲突事件,做到事前、事中、事后控制,保证项目按时保质保量完成。(7)动态性原则:开发中应关注信息技术的发展,将先进的技术应用到软件需求开发中,并学习借鉴相关软件需求开发的成果。

2.软件需求开发管理模型

基于以上分析,本文构建了软件需求开发管理模型,见下图:

该模型遵循了软件需求开发的管理流程。启动阶段,软件开发进行了可行性研究,软件项目已立项,项目正式启动。软件需求开发管理阶段是模型的主要部分,按照项目流程,依次划分为需求获取、需求分析、编写软件需求规格和需求验证四个阶段。总结阶段,对软件需求开发管理进行总结,并进入到软件程序设计阶段。模型的核心部分是应用项目管理的进度管理、成本管理、质量管理,对软件需求开发进行动态管理。进度管理就是制定出经济合理的进度计划,然后在计划执行过程中,检查实际进度与计划进度之间的差异,并及时找出出现差异的原因,采取有效的补救措施,以确保项目按时按质完成。进度管理应加强沟通,掌握可能延误进度的环节,并严格控制进度变更。成本管理就是对项目所需的成本情况进行详细地分析和估算,编制资源需求计划,并编制项目所需的成本估算和预算,在执行过程中,采取相应的措施对项目成本进行控制。成本管理应严格控制加班、浪费等额外支出。质量管理是为了保证项目的可交付成果能够满足客户的需求,围绕项目质量而进行的计划、协调和控制等活动,其具体内容涉及质量规划、实施质量保证和质量控制。通过进度管理、成本管理和质量管理,使软件需求开发成为进度快、成本低和质量合格的有机统一体。

该模型规范了软件需求开发的业务流程,并在整个软件需求开发的不同环节之间建立联系,明确需求开发过程与自身各任务项之间以及项目其余环节所存在的各种联系。模型各环节间的相关性、可追溯性保证了软件项目需求开发过程,可以遵循统一的管理模式。该模型具备可配置性。每个软件项目,都具有个性化管理需求,在进度管理、成本管理、质量管理等方面有不同的要求,可以针对具体的开发团队,项目要求,管理侧重点,扩增相应的管理模块,将此模型推广到任何一个软件需求开发项目。

3.模型应用

由于软件需求开发具有复杂性,其主要表现为需求描述问题,明确表达需求较难确定,并且难以统一;需求完备问题,需求没有遗漏,难以准确划定系统范围;需求的变更问题,需求变化是永恒,需求不可能是完备。模型应用需做好以下工作:(1)文档化管理。需求必须有文档来记录,该文档必须是正确的,是经过验证的,是在受控的状态下变更的。开发或管理人员常常会在含糊的情况下把认为是相对简单的需求忽视而省略文档记录,其实未必简单,只有想清楚、写清楚、说清楚才说明已经真正把需求整理清楚了,同时方便日后维护工作的展开。需求含糊的情况下要进行会议形式处理,并邀请相关人员参加进行需求澄清及确定,需求在进行多方确定后进行归档。同时软件需求的复用率也是相当高的,可以避免升级时重新将需求再次获取,只需要在原来的基础上作为文挡需求复用升级处理。(2)审核评估需求变更,减少变更的影响。在管理软件开发过程中,需求渐变是必然的,无论需求变化的程度如何,只要需求变更就必须进行评估。在需求变更之前必须由项目管理人员审核,再传给开发人员进行评估等工作。管理人员必需依据对整套系统的了解程度分析需求变更过程中可能受影响的系统及受关联的功能模块,并制定积极应对措施。(3)整体管理。应识别、确定、结合、统一与协调软件需求开发管理过程中所需要进行的各种过程和活动,保证进度、成本、质量等各要素的相互协调。

四、结语

软件需求开发在软件项目管理中具有重要地位。本文应用项目管理理论,设计了软件需求开发管理模型。该模型遵循项目管理流程,将软件需求开发划分启动、需求开发过程、总结三个阶段,并将软件需求开发过程划分为需求获取、需求分析、编写软件需求规格和需求验证四个阶段,模型应用项目管理的进度管理、成本管理、质量管理,对软件需求开发进行动态管理,实现软件需求开发项目目标最优。该模型能够提高软件需求开发管理效率,确保软件开发能够按进度,低成本,高质量地完成。

参考文献

[1]景慎艳:软件项目需求管理的探索与实践[J].电脑知识与技术,2008(27)

[2]左怀远:软件项目中的风险管理研究[J].世界科技研究与发展,2008(3)

[3]孙琦龙:加强软件项目管理的实践模式[J].科技信息,2008(7)

[4]潘加宇:软件工程与项目管理[J].程序员,2007(12)

软件开发项目总结篇9

【关键词】质量管理

1前言

2015年6月,作者参与了“XXXX”软件项目(以下简称为S软件)主管一职,任务来源于航天系统外部客户,XXXX应用于航天XX卫星载荷分系统导航任务处理机计算机模块S,主要目的设计支持应用程序的上载和重构功能。由于本软件应用于航天卫星系统,对软件质量、可靠性和安全性要求较高,本软件的开发过程中结合国军标GJB5000a能力成熟度模型三级的框架要求(相当于Cmmi三级要求),以及软件工程学的质量保证策略进行项目的质量保证工作。S软件类型为新研类项目,使用C语言编码。软件的生存周期包括:软件需求分析、软件设计、软件实现、单元测试、集成测试、配置项测试、软件验收交付7个阶段,由于S软件应用于航天系统,可靠性安全性要求较高,需要对每个阶段的工作进行认真的评审和审查,所以整个阶段采用瀑布模型进行软件的研发。2016年1月,S软件已随卫星发射,目前卫星在轨运行,本软件运行正常。

2软件开发平台下的质量保障

下面作者以此软件开发平台项目为背景,论述了如何在公司质量管理体系大环境下,进行项目的质量规划、质量保证和质量控制等项目质量管理工作。

2.1项目初始阶段,对组织级项目管理过程进

行剪裁,制定项目的已定义过程作者所在的公司是一家科研研究所,我所已经建立iSo9000质量管理体系,也通过了国军标GJB5000a能力成熟度模型三级认证。我所具有较为完备的项目管理体系文件,其中包含了质量管理体系。我所制订了相关的质量方针和目标,落实了质量责任。按照我所项目管理流程,项目管理团队在项目启动后需要对组织的质量管理过程以及相关的项目管理过程进行剪裁,剪裁过程依据我所制定的过程剪裁指南执行。为保证用户需求不被遗漏、蔓延,为项目制定了需求双向跟踪矩阵,并根据体系文件《需求管理过程剪裁指南》,将需求双向跟踪矩阵包含在《需求规格说明》中;根据《工程过程域剪裁指南》将《概要设计说明》和《详细设计说明》合并为《设计说明》;过程和产品质量保证过程的工作产品输出为:质量保证计划、不符合项记录、产品评价记录单、过程评价记录单、软件质量保证报告。剪裁完毕后,形成本项目的已定义过程,之后我作为项目经理组织了同行评审,邀请项目组成员、相关专家、以及所epG组成员参与,经过评审通过后,作为本项目执行过程中的指导。并将已定义过程写入开发计划的一个章节,作为制定质量管理计划的输入之一。

2.2项目计划实施阶段,制定质量计划、实施质量保证和质量控制

在完成项目管理的剪裁和开发计划后,作者领导和组织质量保证人员开始制定项目的质量管理计划。在质量管理计划中,明确了组织和资源,人员的分工;明确了质量目标;明确了质量保证活动和进度安排、以及使用的工具;明确了质量控制过程、进度安排、以及使用的工具;明确了工作产品和过程不符合项的解决和处理途径,软件BUG的管理。作者和项目组成员进行了充分的沟通,明确了质量对项目的重要性以及大家如何做才能保证项目的质量,使大家对于如何实现项目的质量目标充满了信心。使大家就以下内容达成了一致:(1)项目的质量是靠规范的项目管理流程和质量保证人员对项目的监管,而不是单靠测试保证的;(2)要十分重视项目的质量成本,越在项目早期发现的错误,纠正的成本越低。(3)项目质量目标的达成需要全体项目成员的参与,而不是个别人的事,质量保证人员在对过程和产品评价过程中指出的问题,项目组所有成员都应予以配合,及时纠正。根据规划,在项目实施期间,质量保证人员对软件工作产品和工作过程进行评价。过程评价依据组织级过程检查单,对工程过程和管理过程进行评价,包含需求分析需求分析过程、软件设计过程、软件实现过程、软件测试过程、需求管理过程、配置管理过程、项目管理过程、同行评审过程、测量分析过程的评价。除配置管理过程由事件促发评价外,其他过程评价每周一次,生成不符合项记录和质量趋势评价报告,对发现的质量问题用excel进行统计分析。工作产品完成后两天内由质量保证人员完成审核,然后开展同行评审。对质量保证过程中发现的不符合项,形成不符合项纪录,及时通报给相关责任人,遇到质量保证人员和责任人意见不一致则逐级上报,先汇报给作为项目经理的作者,对仍不能解决的问题,再汇报给部门领导。考虑到本软件应用于航天系统,对质量要求较高。对本软件的源代码由测试组人员开展了单元测试、集成测试、配置项测试,测试组人员设计了相关的测试用例,单元测试语句和分支覆盖率均达到100%;在集成测试中,制定了模块设计和集成测试用例的双向跟踪举证;在配置项测试中,根据《需求规格说明》,制定了需求和配置项测试用例的双向跟踪举证。除开展单元测试、集成测试、配置项测试外,增加了代码走查,由每个模块的二岗设计师按照《航天软件C语言安全子集》要求对代码进行代码走查,形成走查报告,及时发现问题,修改代码直至符合要求;对关键模块代码进行代码开展同行评审;并请专业测评机构对软件开展第三方测评。对所有工作产品进行同行评审,对需求规格说明和配置项测试报告开展了用户参与外部评审,形成评审报告,对评审过程中发现的问题,有质量保证人员跟踪验证,直至问题关闭。对测试过程中发现的BUG,使用testDirector进行BUG的跟踪、管理,直至问题关闭。对软件源代码和相关技术文档使用SVn<<上接59页系统进行配置管理,工作产品经过评审并对评审问题经质量保证人员验证关闭后进入配置管理系统,对交付用户的工作产品,待验收通过后需入产品库,再交付用户,保证了软件版本的有序性和正确性。

2.3项目收尾阶段,总结经验教训,丰富组织过程资产

在项目交付时,由用户和相关部门领导、资深工程师组成的评审委员会,对项目的成果进行了验收。认为项目的主要交付物已达到用户要求,可以交付用户使用,参与XX卫星载荷分系统的分系统联试。但也提出技术文档和源代码版本的配套说明欠缺,在《版本说明》文档中加以描述,经过评审后,入配置管理受控库。之后,源代码和需交付用户的文档入我所产品库后交付用户。作为软件开发主管,组织了项目组成员开展了项目的总结会议,分析了项目执行过程中的经验和教训,形成项目总结报告,并归入我所资产库,作为历史数据供后续项目参考。对质量保证过程检查单进行了修正,经过评审通过后,也归入组织资产库中,丰富组织过程资产。

3结语

软件开发项目总结篇10

针对上述识别出来的项目风险我们采取了如下措施。1.1高风险应对成立由校方和我项目部成立的项目开发组,对项目目标、项目定义、项目沟通、项目配合、项目基本功能、开发平台、过程控制、审批签字制度工作流程等确定下来,且对各阶段的成果进行评审和确认。对数字化校园平台涉及的问题和主要业务流程,制定出需求调查计划,确定调查的目的和调查内容,形成需求调查报告。根据需求调查的结果,进行整理归纳,确定目标系统的业务流程,形成软件系统需求规格说明书,系统需求规格说明书按照质量管理体系中需求说明书相应模板编写。说明目标系统的业务需求、功能需求、性能需求。形成需求规格说明书后,和客户沟通,让客户理解需求,确认需求。对需求分析、需求调查中和实际应用不符的问题及时予以纠正,使开发过程要以确定的客户需求为基础,避免在开发过程中频繁的需求变更,使目标系统更加符合实际需求,满足客户的需要。在项目开发过程中,需求的变更控制非常重要,项目的开发过程应以需求分析为依据,在开发过程的各个阶段,根据需求说明书,列出系统的软件需求项,根据软件的开况跟踪软件需求的实现情况,保证开发系统实现了系统的全部需求。开发过程中的需求追溯同时在开发过程的各个阶段,及时的根据软件系统所实现的功能回溯到系统需求,保证软件系统所实现的功能和需求说明书的功能要求一致。如果对需求或系统流程有疑义,及时与校方进行沟通。保证开发过程的有序性和有纪律性。由于项目采用第三方的软件较多,这些第三方软件内容都属于项目依赖的内容,而且这些第三方软件不是通过项目自身努力就可以达到和完成。关键依赖能否满足存在诸多的不确定性,这些都是项目实实在在存在的风险。提前进行数据接口的规范,尤其是单点登录统一身份认证的标准制定,尽量减少第三方软件的修改量,并保持第三方软件的完整性和可靠性,方便第三方软件的升级,共同协商联调计划,并一一落实。内部模拟相关的接口数据,提前进行验证和分析。1.2中度风险应对系统设计又是系统开发的第一步,系统设计决定系统的开发流程、系统的数据库设计、软件系统的模块划分,系统设计决定了系统的运行流程、系统的运行效率以及系统的适用性。1.2.1系统设计系统总体业务逻辑、系统总体结构、系统总体功能,系统总体硬件网络结构,软件结构。系统结构设计是根据系统的业务逻辑结构,系统的实际应用情况决定系统的软件系统的架构,和硬件拓扑结构。说明系统的总体功能,这个说明是从整体的角度进行的说明,同时对软件系统的功能模块进行划分。在硬件设备选型时应考虑系统的数据量、响应时间、系统的容错能力、系统的安全性等要求。每一个环节都有严格的质量控制体系,实现了项目的质量控制、工期控制,预算控制,并根据校方要求,按照总工期,进行项目的计划分解,确定项目的关键路径,合理调配各专业人员,确保项目按计划圆满完成。1.2.2需求变更多自项目管理者尽快给用户一个快速原型,启发用户的需求。加强各阶段与用户的沟通,对各个功能逐步完善,架构和设计都要考虑为变更而设计,而不仅仅是满足当前需求。需求人员不仅仅是描述清楚用户需求,而更多的应该是去开发用户需求,去挖掘用户的潜在需求。1.3低度风险应对对参与项目的软件人员和业务人员甚至管理人员、决策者进行项目认知的培训,加强用户方参与项目的技术人员及业务人员的培训,尤其是将业务流程及相关内容能和软件开发人员无缝对接的培训,始终贯彻项目管理的标准流程。引入专家进行咨询和监理。对规避项目需求阶段的实施风险有良好的效果。制定文档标准,建立文档归口管理机制,保证文档及时产生,对所有工作进行细致的记录,并经过项目主管的详细审核,使更多人能够按计划进度完成自己的工作,对每个关键性技术人员配备后备人员,通过岗位互换,项目内培训等多种方式进行风险规避,以确保人员离开后项目仍能继续进行。

2风险监控

项目管理者对风险的排序进行研究,并划分重要和次重要的风险,对次重要的风险再进行一次评估并排序。对重要的风险要进行管理。从管理的角度来考虑,风险的影响及概率起着不同作用,一个具有高影响且发生概率很低的风险因素不应该花太多的管理时间,而高影响且发生率从中到高的风险以及低影响且高概率的风险,应该首先列入管理考虑之中。可以利用风险清单进行分析,并在项目进展过程中迭代使用。项目组定期复查风险清单,评估每一个风险,以确定新的情况是否引起风险的概率及影响发生改变。这个活动可能会添加新的风险,删除一些不再有影响的风险,并改变风险的相对位置。

3风险管理总结

对于影响项目的质量、进度、时间等一系列不确定因素的管理,包括对外部环境因素与内部因素的管理,也包括对主观因素与客观因素、理性因素与感性因素的管理。项目风险管理的内涵体现在:3.1全过程管理。项目风险的全过程管理,要求项目风险管理者能够审时度势、通过有效的风险识别,实现对项目风险的预警预控;通过有效的风险管理、处理方法,对于项目运行过程中产生的风险进行预控、化解,采取有效的应对措施并能够总结经验教训,对项目风险管理工作进行改进。3.2全员管理。项目风险的全员管理并不仅仅是对于项目运行全部参与方或参与人员的管理,而是要求所有的人员均能够参与项目风险的管理。包括项目自身在计划、组织、协调等过程中所产生的不确定因素的管理。人为的主观影响成分较大。项目风险管理既是对项目全部参与方(人员)的管理,同时也是全员共同参与对项目风险的管理。3.3全要素集成管理。从项目风险管理所追求的现实目标或项目风险管理所需解决的根本问题,其主要涉及项目进度、成本以及质量三方面的问题。可见,项目风险管理的过程是一个在可能的条件下追求项目工期最短、造价最低、质量最优的多目标决策过程,且项目风险管理不能仅满足于对单一目标的追求。这是由于项目的工期、造价与质量是三个直接关联和相互作用的相关要素。

4结束语