时间:2022-07-20 09:21:34
导语:在软件工程项目管理研究的撰写旅程中,学习并吸收他人佳作的精髓是一条宝贵的路径,好期刊汇集了一篇优秀范文,愿这些内容能够启发您的创作灵感,引领您探索更多的创作可能。
摘要:本文探讨了在大型软件项目的实施过程中,如何有效的管理团队成员,如何可控的推动项目进度,从实践的角度上,给出了一种加强软件项目管理的有效模式。在SCRUM敏捷开发过程的基础上,该模式从计划、组织分派、控制纠偏及团队建设四个方面介绍了软件工程项目管理的有效经验。
关键词:软件项目;管理实践;SCRUM
1 引言
Scrum被认为是目前全球最流行与最有效的敏捷项目管理理念与方法之一,在软件业发达地区被众多知名企业广泛采纳。TFS(Team Foundation Server)是集成的团队管理工具,能够实现团队成员之间更好的交流与协作。本文所介绍实践经验是以Scrum及TFS的实施为基础的。
2 项目管理实践模式
现在从SCRUM每一个迭代周期中的目标与计划制定、工作的组织分派、过程中的控制与纠偏这三个方面介绍,最后介绍团队建设。
2.1 目标与计划
计划的制定分为阶段性工作计划,以及周工作计划。
阶段性工作计划以里程碑时间点为界,时间跨度根据项目的大小而定,对于一个大型的项目,可以季度末作为里程碑时间点。
周工作计划在每周一制定,确定本周每人的具体工作。
制定目标与计划时,要尽量做到项目细分。项目细分得越小,则说明计划考虑得越周到,实施过程中也会使得偏差越少,是做得较好的。最好能够对每一项任务做一个时间上的大概安排。
2.2 组织与分配工作
(1)每周工作认领会。每周一,周计划制定之后,团队召开“周工作认领”会议。Team Leader将本周所有工作项写在纸片上,并将所有纸片贴在墙上,大家依次认领各纸片上的任务。每认领一项任务,认领者需要预估一下所需时间,其他成员评估一下此时间是否合理。当然,如果有人认为可以用更少的时间来完成此项工作,那么这项工作可以转交给此人。
(2)每日立会。每天早上前10至15分钟,大家一起站到任务看板前进行立会。立会中,每人发言。发言的内容主要有三个方面:总结前一日的工作;反映前一日工作中遇到的问题,必要时,Team Leader需要安排人协助;承诺今日的工作内容。承诺很重要,它会给开发者带来“必须完成”的压力。
(3)任务看板。任务看板上主要分为两块:左侧用于张贴任务条,分为计划中的任务、进行中的任务以及已完成的任务;右侧绘制燃尽图,反映进度情况。所有的工作项都写在纸片上并贴到任务看板上,每日立会时需要对首任务看板讲解,同时任务看板上能够一目了然的反映出各项工作的进展。
(4)TFS中为每个工作立项。所有的工作项,都应该在TFS中立项。这样便于工作的跟进,以及开发人员之间的协作,另外,也有利于工作量的统计。
2.3 控制与纠偏
(1)TFS持续集成。我们将TFS的集成模式设置为持续集成,生成的结果将会立即返回给提交者,以保证服务器上的代码是最新的、可用的。(2)工作项细分。每项工作要细分为2~16h。较小的工作项,便于跟踪并及时精准的调整进度。实践经验证明,工作项细分之后,相比宠统的工作项,更能够有效的保证进度。(3)每工作项?时间点检查。每工作项进行到预估时间一半的时候,Team Leader应检查执行情况。如果此项工作进展不顺利,要分析原因,或安排人员协助,或改变技术方案,及时调整进度。(4)经常性的演示,及时发现问题。安排尽可能多的演示,目的有二:第一,让用户、领域专家参与到开发过程中,避免开发人员迷失在代码丛林中;第二,谁做的工作谁演示,这会缎带演示者“演示成功”的压力,从而做好做细工作。(5)推行代码审核制度 每天工作快结束时,留下约15分钟的时间,相互之间进行代码审核。建议不要固定某两位互审,而采用交叉循环的方式。(6)最有效的沟通方式:面对面+白板。技术讨论或工作安排时,把相关人员一起叫到白板前,边解说,边绘制草图,这种方式是十分有效的。不建议大家采用文档的方式进行沟通。(7)技术总结文档十分重要。把个人的经验总结写成文档,可以供团队其它成员,以及后来的成员学习,从而让大家都掌握。另外,有些问题的解决过程比较复杂,如果能够把其形成文档,可以依照此文档即可解决相同的问题,这样可提供工作的效率。
2.4 团队建设
(1)不定期的培训。条件许可时,可以参加培训机构举办的培训,或者邀请培训老师到公司来进行培训。即使条件不允许,我们也可以进行内部培训。Team Leader可以组织开发类、专业类及测试类的专题讲座,也可以请团队成员各自讲授自己所善长的技术。(2)经常鼓励团队成员。当团队中某成员工作上取得了突破,或攻克难题时,大家都给他(她)祝贺,不一定非得物质上的奖励,其实,即使发个邮件、拍拍肩膀等方式,也可以取得很好的效果。(3)优先考虑团队总体进度。对于新工作的成员,往往只想到把自己的工作及时完成了,保证了自己的进度就好了。其实这是不够的,团队的进度才是第一位的。团队总体进度,往往卡在进度最慢的成员那里。所以大家要及时协助遇到困难的同事,这一点上,Team Leader尤其要有表率作用。(4)双向沟通优于单向沟通。交待工作时,最好采用协商讨论的方式进行,让接收者也尽可能发表自己的看法,不要强制性分派工作。
[作者简介]
陆中元,中国建筑科学研究院深圳建研软件有限公司,主要从事技术工作领域:BIM软件开发、计算机应用。
摘要:计算机软件是用各种电脑语言编写而成的,本文旨是先探讨了关于计算机软件和工程项目管理的基本概念,接着探讨了计算机软件从此项目管理存在的问题,最后探讨了计算机软件工程项目管理的对策。
关键词:基本概念;计算机软件;工程项目管理;问题;对策
1 计算机软件和工程项目管理的基本概念
1.1 计算机软件的基本概念
计算机软件的英文名是computer software,计算机软件是指计算机系统中的程序及其文档,程序是计算机任务的处理对象和处理规则的描述,文档是为了便于了解程序所需的阐明性资料。程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。计算机软件的分类有:(1)总述;(2)系统软件。系统软件是负责管理计算机系统中各种独立的硬件,使得它们可以协调工作;(3)应用软件。应用软件是为了某种特定的用途而被开发的软件。
1.2 工程项目管理的基本概念
工程项目管理是指从事工程项目刮泥的企业受业主委托,按照合同约定,代表业主对工程项目的组织实施进行全过程或若干阶段的管理和服务。工程项目管理企业不直接与该工程项目的总承包企业或者是勘察、设计、供货、施工等企业签订合同,但可以按合同约定,协助业主与工程项目的总承包或勘察、设计、供货、施工等企业签订合同,并受业主委托监督合同的履行。
1.3 软件工程项目管理内容
(1)组织管理人员进行项目计划。在计算机软件工程项目中,人员的管理是贯穿于整个工程项目开发过程始终的一项工作,从某种意义上说,人员的组织与管理是影响软件工程项目能否成功的关键因素。一方面,要根据工程项目的工作量以及涉及的专业知识对人员进行科学的配置,组成一个高效的开发小组;另一方面,小组内的人员要进行分工合作和密切配合,对工程项目的实验范围进行确定,对项目实施过程中的风险进行正确的评估,同时制定科学的人力资源计划以及成本控制方案,同时对整个项目的进度进行有效的组织,确保工程项目的顺利进行。(2)软件质量和配置管理。软件质量管理是在总体管理功能中决定着质量方针与责任的所有活动,通过保证手段在质量体系范围中得以实施,主要有质量计划编制、项目质量保证和项目质量控制等过程。项目质量保证就是定期对项目总体绩效进行评估,考察工程项目是否达到质量标准。项目质量控制是从总体上监测项目的结果,还要对不合格的找出解决的方法。软件配置管理是记录软件产品的演变过程,进而保证开发者在软件生命周期的各个阶段能够获得精确的产品配置。(3)风险分析及管理。风险管理包括风险的识别与评估,并且根据评估结果采取适当的解决措施,对计算机软件工程项目的风险进行有效的预测与管理,能够避免或者是降低风险产生的几率,最大限度的减少由于风险对项目所造成的损失,也能够有效的保证项目相关利益主体的权益不受影响。
2 计算机软件工程项目管理中存在的问题
2.1 计算机软件工程项目管理中存在管理团队的协作的问题
目前,我国是处于一个信息化的时代,因此,很多工作都需要团队一起合作完成的,就如计算机软件工程项目管理的工作,更是需要团队的力量,大家一起合作完成的。但是目前,我国计算机软件工程项目管理的团队合作和沟通都存在着一些问题,如下:
(1)计算机软件工程项目管理的团队中存在分工不清的问题。计算机软件工程项目管理中如果团队之间的分工不清楚,那么就会导致了时间已经到了,工作却还没有完成,团队之间就会相互推卸责任的现象出现。(2)计算机软件工程项目管理中团队的不合作问题。如果做到了第1点团队之间的分工比较清楚了,但是如果团队之间每个人都是各做各的工作,不理会其他人,发现问题了也不和其他人合作,那么就会导致了计算机软件工程项目管理的工作效率不断的下降。
2.2 计算机软件工程项目管理中存在需求分析和实际中的业务存在差距的问题
由于,计算机软件工程项目管理在需求的工作中,没有对实际生活中需求的实体和实际活动要求,以及实际的数据进行有效的调查,这项工作很多计算机软件工程项目管理的工作人员都觉得没有必要对实际的需求实体和实际活动要求,以及实际的数据进行调查,因此,导致了计算机软件工程项目管理最后的工作中出现设计完整的产品和实际的业务有很大的差误。
2.3 计算机软件工程项目管理中存在风险管理的问题
众所周知,如今的社会不论做什么样的项目都会存在着一定的风险,如果风险管理没有做好,那么发生风险的话,就会给企业带来严重的损失,由此可知,风险管理这一工作对企业来说是非常重要的。但是在计算机软件工程项目管理中,很多工作人员都不知道风险管理的重要性,对风险管理的工作都只是敷衍了事,对风险管理的内容没有充分的掌握,最后变导致了一旦发生风险的话,企业就会遭受巨大的损失。
3 计算机软件工程项目管理的对策
3.1 计算机软件工程项目管理的对策有对风险管理和工作进度进行有效的管理
(1)建立一个完善的风险管理制度。计算机软件工程项目管理的工作人员,应对风险管理的知识、风险识别的知识、量化的方法,以及风险控制的方法进行有效的掌握和认知,为计算机软件工程项目管理做好有效的风险管理报告,并且做好有效的风险预防工作。(2)定期的对计算机软件工程项目管理进行风险控制和识别。在一个完整的项目中,不是只做一次风险管理工作就可以的,因为,在整个计算机软件工程项目管理的过程中,随时都可能出现风险,因此,需要定期的对计算机软件工程项目管理进行风险管理工作。对于风险处理的方法有以下几点:减缓、规避、转移等处理方法。(3)不断的加强计算机软件工程项目管理工作的进度。首先,制定好一个完整的计算机软件工程项目管理的工作表,有效的监督计算机软件工程项目管理工作的进度,以及严格的、有效的、合理的控制好计算机软件工程项目管理所有工作的任务状态。
3.2 计算机软件工程项目管理的对策有建立完善的管理体系
(1)建立一个完善的计算机软件工程项目管理的人才管理体系。计算机软件工程项目管理的体系要先对人才进行有效的管理,建立一个完善的、合理的人力资源管理体系。(2)不断的加强计算机软件工程项目管理的知识学习。要不断给计算机软件工程项目管理的工作人员就进行有效的培训计算机软件工程项目管理的知识学习,有效的将经验和实践,以及知识结合在一起,不断的提高计算软件工程项目管理工作人员的管理水平和素质。(3)严格执行计算机软件工程项目管理的奖惩制度。严格的执行计算机软件工程项目管理的奖惩制度,才能激发工作人员的积极性和主动性,为企业带来更好的效益。
3.3 计算机软件工程项目管理的对策有建立合作的团队
(1)建立完善的、有效的沟通制度。采取不同的、多种的、有效的沟通方法,不断的增强计算机软件工程项目管理工作团队的沟通意识,让团队达到合作的目的。(2)分工清楚。对计算机软件工程项目管理的工作进行合理的、有效的、清楚的分工给每一个工作人员,让他们认识到自己的职责,做好每一项工作。(3)不断增强团队的积极性。不断的增强计算机软件工程项目管理团队每个工作人员的积极性,才能有效的激发工作人员的动力,激发团队的合作能力,最终才能把计算机软件工程项目管理工作做的更好,并且有效的给企业带来效益的提高。
4 总结
计算机软件工程项目管理是一项系统的、复杂的工作,其根本的目标在于保证软件工程项目能够在计划的进度、成本以及质量的要求下,顺利的完成并且交付使用。在当前的计算机软件企业中,软件工程项目的管理效率对于企业的发展有着重要的影响,只有保证软件项目管理的科学、有效,才能够保证软件工程项目的成功,进而实现企业的持续发展。
摘要:在当今的软件工程时代,每个项目涉及众多的人力和物力,随着软件规模的不断增大,开发人员也随着增多,管理问题日益突出。而计算机软件项目开发又是一项极为复杂的系统工程,其涉及面广、风险大,因此加强对软件工程项目管理就显得尤为重要。文章从计算机软件工程项目的特点、管理内容及存在的问题出发,探讨了软件工程项目管理的对策。
关键词:计算机软件;管理特点与内容;问题;对策
一、 计算机软件工程项目的特点及管理内容
1、特点
1)软件产品具有不可见性。由于软件不是直接可见的,需专业软件工程方法结合有效测试才可感知其存在。2)软件类产品具有不确定性与多样性的特性,更加没有标准软件编辑过程。3)大型软件工程通常是一次性工程,其需求用户源不确定、结构复杂、工作量大、风险大,而且应用国际先进新技术较多,如多维分析(OnLineAnalysiSProcess)、数据挖掘 (DataMining)等。
2、软件管理的内容
目前软件开发的自动化程度很低,在研究与开发过程中,人是最重要因素。因此,软件工程管理绝大程度上是对工程开发人士的管理。我们首先需根据软件工程的个别特性,来分析安排软件工程管理的具体事项,具体内容包括对开发工程人员、组织部门、用户需求、档案资料等等方面的管理。
1) 工程开发者。 工程开发者一般分成:项目负责人、系统分析员、高级程序员、初级程序员、资料员和其他辅助人员。根据项目的规模大小。有可能一人身兼数职,但职责必须明确。不同职责的人,要求的素质不同。如项目负责人需要有组织能力、判断能力和对重大问题能做出决策的能力;系统分析员则要有概括能力、分析能力和社交活动能力;程序员需要有熟练的编程能力等。人员要少而精,选人要慎重。
2 ) 组织部门。组织部门一般分为三种部门。其一,主程序员组织部门。他的目的是为保证全部门协调与统一。其二,专家部门。即由许多计算机软件专家组成的专业开发部门。这种部门能发挥大部分人员积极性。其三,民主部门。民主部门由从事各方面工作的人员轮流担任部长。它对调动大家积极性有着具大作用。
3)用户部门组。身为一软件工程管理项目负责人,与用户保持良好沟通关系,善于了解用户心理是必不可少的工作。要意识到在需求领域,对计算机持消极态度的客户的心理辅导工作非常重要,通过业务骨干,切实了解其用户需求。使其认识到:计算机发展与应用是现代化必然的趋势,应早日学习了解熟计算机软件的应用。而对那些盲目期望早日用上计算机软件的客户来说,必须让他们了解到开发一个软件工程不是一朝一夕就能完成的,我们需根据现有的条件量力而行,通过一系列的团队配合,深入交流,取长补短,加强合作,才能够确保软件设计工程按预期计划完成。
4)、档案资料。开发软件过程的各种活动都需以档案的形式显示标明。每阶段档案资料不仅是前各阶段工作备案复审,更是后各个阶段工作的坚实地基。软件工程管理优缺点在于很大程度上可以用档案资料管理的好坏来反映的。因此,在每一次的开发过程中我们必须都要把初步设计、中间过程、最后结果这三个方面建立起一套完整的档案资料。并使其文档管理都有着一定的细致化、标准化。
二、计算机软件工程项目管理存在的问题
1、软件工程需求分析与实际业务之间的差距。这是软件工程中最令人头疼的问题,其原因是软件工程在需求分析阶段,对业务需求的实体、数据及实际活动要求进行调查,而这些工作往往被研究业务认为是表面的工作,作出的档案资料对详细设计单单具有框架式的作用,但是作为研究业务的本质,即研究业务规则被严重忽略了。这便使软件设计工程师在后续设计中,凭空想象研究业务规则,导致最后设计的产品与实际业务有大偏差。
2、软件工程项目管理的工作量是难以预计的。众所周知,软件工程实际工作量具有很大弹性,开发过程中的人为因素对其开发进度具有很大的影响。如开发者的投入程度、业务员的管理水准、用户积极配合的程度等等。若撇开人为因素,则在确定业务规则的基础下,软件开发的工作量必然是很好估算的。
3、风险管理意识较弱.。任何项目都有风险,风险一旦发生便会产生难以预计的损失,项目风险管理特别重要 。但是某些项目负责人没有充分认识到风险管理在软件项目管理中的重要作用,对计划书中风险管理章节部分敷衍了事,对项目风险管理所必备的知识不能充分掌握,以至于对事后的风险防范起不到较好的抵御作用。
4、项目团队内部沟通、协作问题
在当今信息时代,任何项目都离不开人的协作,只有这样,才能确保开发工作井然有序地进行,计算机软件项目更是如此。有时,项目团队内部会出现各阶段各角色间责任分工不清晰,导致推卸工作、推卸责任的现象常有发生;但是即使这种不同角色之间责任分工比较清晰,若各项目开发成员闷头各做各的事,不愿意主动与他人合作,最终导致工作效率下降。另外,由于系统各部分人员只关注自己工作还可能造成系统集成难以运行,产生不必要损失。
三、工程项目管理对策
1、以重视人才为根本,完善人力资源管理体系
人才是根本。若想占领市场,做好软件项目管理,企业必须坚持以人才为核心的理念,拥有一支高素质项目管理人员队伍,需懂得进行人力资源优化管理。首先,加强软件项目管理方的知识培训。软件项目经理必须接受系统的项目管理知识教育,需重视人力资源管理与沟通管理方面的学习,将实践与知识、经验有效结合,用以提高自身项目管理水平;其次,严格的奖惩规定,建立软件开发人员升职途径。逐步进行人事制度改革,设置与行政职位平等的技术职位,为开发人员升职创造更好的条件,激发他们的主动性、积极性与创造性,更好地为项目工作服务。
2、有效地对项目进度、风险管理控制与调整
第一,加强工作进度管理 ,严格控制任务与跟踪管理。制定项目管理运行表,定期举行项 目状态会议,监督进程的进度 ,严格控制动态调整。第二,建立有效的风险管理制度。项目经理运用风险管理的知识,熟悉掌握风险识别、量化和控制的方法,在项目启动后能对风险进行识别。第三,风险在整个项目的生命周期中都有可能出现,所以要定期做出识别和处理。处理风险时一般要按风险等级采取不同的手段进行控制,可 以采取规避、减缓和转移等处理策略及时进行调整。
3、加强沟通协作,建立高效团队
首先,制定有效的沟通制度,采取多种沟通形式,改善员工的沟通环境 ,以增强沟通意识,提高沟通的有效性。如通过制度规定,对于特别的信息要采用多种方式进行有效沟通,以保证消息及时、准确地传达到位。其次,进行合理分工。在软件开发行业,人是创造力的主体。因此,合理分工必须建立在人的基础上,不仅要按人员职位划分工作任务,更要根据每个人的特点、专长进行分工。再次,培养团队的积极性。一个组织能否成功,其团队情绪的培养发挥着重要作用。团队积极性的激发是保证项目开发工作顺利进行的重要前提。针对具体的对象提倡激励、完善的解决方案,“动之以情晓之以理”,加强感性与亲情的融合,能有效激发人员潜在动力,更好的投入到计算机软件工程之中。
四、结束语
综上所述,计算机软件工程项目管理的目标就是保证软件项目能够按照预定的成本、进度、质量按期、顺利地完成并交付用户使用。在计算机软件企业中,软件工程项目管理起着至关重要的作用,成熟而有效的软件项目管理才能确保工程的成功,进而提高企业的核心竞争力。