软件项目管理的主要工作有哪些?
项目经理是项目组织的管理者,负责对项目的计划、组织、领导和控制等工作,因此,一个项目经理必须具备以下几方面的能力 (一)领导能力 项目领导工作包括有效的沟通和有效的激励,要使项目团队成员齐心协力地工作,实现项目目标,必须进行有效的领导。
1.项目经理需要采取民主式的领导方式 对于项目经理而言,采用这种领导方式比主要依靠职权的独裁式或命令式的管理方式更为有效,这是因为项目组织是一个临时性的组织,且由各方面的专家组成,项目本身涉及面广,只有充分调动每位组员的积极性,在遇到问题的时候,与大家共同商量解决问题的方法,授予下属更大的工作自主权,才会实现有效的领导。
2.懂得激励成员的因素,并能设计出一种富于支持和鼓励的工作环境。
项目经理可以通过鼓励全体项目组织成员的积极参与来创造出这样一个环境。
1).使项目组织成员了解项目结果和利益的蓝图 如某一项目目标是对工厂进行全新设计,那么项目经理就应将这一目标生动地描绘出来,把实现这一项目目的的益处向大家解释清楚。
如消除生产上的瓶颈问题,增加产量,减少库存等。
这样,当大家都清楚通过自己的努力,可以达到的美好结果时,就会更加热情地投入工作。
2).授权 通过授权,使成员拥有实现自己工作目标的决策权力。
如让成员拥有制定工作计划、决定如何完成任务、控制工作进程以及解决妨碍工作进展问题等方面的权力,这样的授权,能使每个人的工作内容更有挑战性,能够满足组织成员受尊重、实现自己价值等需求的满足。
3).奖励 奖励是一种动机强化的手段,通过奖励对期望的行为具有激励作用,被认同或得到奖励的行为会重复发生,如项目组成员提前完成了一项重大任务或发明了一种可加快项目进程的工作方法,而受到奖励,这样会鼓励大家在未来的工作中保持和发扬这一良好作风。
奖励的方式很多,如金钱、口头鼓励、表扬、赞赏、奖品等等,应注意奖励的方式,只有能满足成员需求的奖励,才能起到激励作用。
一种最简单有效的激励方式是对项目组中每位成员的工作表现出真诚的兴趣,当成员向你汇报他们的工作时,要全神贯注地听。
然后,向他们提一些有关工作的问题,并用“谢谢”“干的不错”“很好”等语言来表达对他们付出的认同和赏识。
在成员之间创造一种同志式的友谊与忠诚 项目工作应该充满乐趣,项目经理应从工作中获得乐趣,也应鼓励项目团队成员获得同样的乐趣,项目经理应信任每个成员,为大家提供有挑战性的工作。
同时,通过不定期地举行一些聚餐、野餐或庆功会等等方式提供大家交流的机会,建立一种相互信任,充满乐趣又有远大前途的工作环境,创造一种同志式的友谊与忠诚。
3.项目经理要言行一致,身体力行 要为组织成员树立榜样,如果希望成员为赶进度而加班,自己应该首先留下来而不是提前离开。
(二)人员开发能力 有效的项目经理会对项目成员进行训练和培养,使组织成员有机会增加自身价值,使每个人在项目结束时,都拥有比项目开始时更丰富的知识和竞争能力。
1.项目经理应创造一种学习环境,使员工能从他们所从事的工作中,从他们所经历或观察的情景中得到知识。
如尽可能给成员分配全面的任务,使他们丰富知识。
如让一个没用过Excel的人去用Excel处理数据,这就能使他学会使用Excel。
或是让一个阅历不足的成员能跟经验丰富的成员一起工作,使新的成员从经验丰富的人那里学到更多的东西。
2.让他们参加正式的培训课程。
(三)沟通能力 一个项目经理,一定要是一个良好的沟通者,他需要与项目组织成员、承包商、项目业主以及相关的各方面进行沟通,只有通过有效的沟通,才能了解掌握各方面的情况,及时地发现潜在的问题,征求到改进工作的建议,协调各方面的关系。
沟通包括口头沟通和书面沟通。
口头沟通是通过语言来传递信息,在项目早期,面对面的口头沟通对促进项目组织的团队建设,发展良好的工作关系和建立共同目标是特别重要的。
项目经理也应主动拜访项目业主、公司上层管理者、以及项目相关部门,了解他们各自的想法,争取建立良好的关系,也应经常与项目组成员进行口头沟通以增进了解。
另外定期组织会议也是必不可少的,包括: 情况评审会——通报情况,找出问题解决问题会议——针对问题召开有关人员会议技术设计评审会——对提出的设计方案进行评审 书面沟通是通过文字来传递信息。
如,内部备忘录、信件、进度报告、项目总体报告等。
另外,优秀的项目经理会注意倾听项目业主表达的期望和要求,项目组成员的意见和关注所在,听比说获益更多。
(四)处理矛盾冲突的能力 1.项目工作中的矛盾冲突 项目管理中自始至终存在着矛盾冲突,在项目的各层次和全过程中都会产生矛盾冲突,项目经理经常要处理项目运行中产生的各种矛盾冲突,特别是在组织机构重新组合和多个项目都在争取共享有限资源的情况下,矛盾冲突尤为突出,在管理方面主要的矛盾冲突可能来自: 1).进度方面的矛盾围绕完成项目的时间,各项活动顺序安排等方面存在的不一致。
2).资源分配方面的矛盾要保证项目完成,项目组织与职能部门之间...
软件项目管理有哪些呢?
软件项目的目标不仅仅是进度目标和成本目标,更重要的就是质量目标,质量直接决定了软件产品能否生存已经后续的升级和维护等工作量。
这里只谈为了提高软件质量可能采取的各种活动,但前提仍然是我们在做项目计划的时候首先要根据需求确定质量目标和制定质量计划。
1.过程 要提高质量需要强调我们对产品质量的保证不是依靠的团队中一两个重要成员,而是我们有相应的过程和方法论来保证质量,保证产品质量的过程是可以持续的。
对于很多项目我们都不建议采用CMMI里面较为重量级的各种过程,但是对于产品质量提升有帮助的各种过程我们仍然需要去将其规范化和流程化。
与此相关的主要有规范类的文件,比如需求编写模板和规范,设计规范和模板,代码编写规范和模板,数据库设计的规范和模板,界面设计规范和模板,测试用例模板。
对于过程管理方面需要定义的主要有任务和工件的输入输出要求,配置管理和源代码管理,软件生命周期模型,缺陷跟踪和管理,问题和风险跟踪管理,变更管理。
2.培训 最重要的质量意识就是预防胜于检查,强调一次要事情做对,强调上游工序为下游提供合格的中间产出物,尽量减少各种缺陷的泄露。
很多时候质量问题并不复杂,更多是团队成员没有质量意识,没有负责任的工作态度。
提升质量最关键有两个方面,首先是我们都有意愿和意识来提升产品质量,其次是我们要有相应的能力和技能来保证产出物的质量。
第一点我们依靠的团队绩效规则的建立,团队建设,质量文化的组建形成,员工态度和责任感的培养等内容。
第二点我们强调的是培训,以师带徒,自我学习,个人知识管理方法,问题管理,学习型组织,读书会等各种方式来提升技能。
3.评审 评审是软件开发过程中保证质量的一个重要活动,项目软件开发往往会跟踪选择的软件生命周期模型分为多个阶段,对于较大点的项目还有严格的岗位角色划分,每个阶段都是不同的成员在进行工作。
因此如果各个阶段的产出物的质量不能够很好保证的话,将导致缺陷泄露和后续大量的返工,这些都是我们不希望看到的坏质量成本投入。
首先评审不是来检查产出物的各种低级错误的,每个人在思考问题上都有局限性和盲点。
评审是涉及到需求,设计,开发,测试等各种角色的成员共同来从不同的角度来发现工件的各种问题。
比如对于需求问题,测试人员在评审的时候重点关注的是该条需求描述和业务规则的可测试性,而设计和开发重点是可实现性。
评审涉及到正式同行评审,多人复审,单人复审,代码走查等各种方式,需要根据项目的实际情况来选择使用。
我们需要重点防止的就是需求和总体设计阶段的缺陷泄露,对于这种泄露往往都会造成大量的返工。
4.测试 测试是保证软件质量的最后一道关口,是一种迫不得已的行为,根据我们的质量意识应该要尽量做到问题不是到测试阶段才发现和暴露出来。
很多问题在测试阶段才发现返工成本都是很大的。
测试有单元测试,集成测试和系统测试,验收测试等各个阶段。
在某一个功能或模块在交付给测试人员进行测试的时候,开发人员应该根据需求和设计进行较为充分的自测。
这样的话系统测试的重点才能够真正去关注全流程的贯通和各种可能的业务场景组合和编辑,而不是关注某一个具体的实现功能点。
项目管理岗位职责是什么
供参考:1.首先搞清楚“项目经理”的职能,下面提供PMBOK的定义:项目经理是执行组织委派其实现项目目标的个人。
这是一个富有挑战且备受瞩目的角色,具有重要的职责和不同的权力。
项目经理要有较强的适应能力、良好的判断能力、优秀的领导能力和谈判技能,并熟练掌握项目管理知识。
项目经理必须能理解项目的细节,但又能从项目全局的角度进行管理。
作为对项目成功负责的个人,项目经理掌管项目的所有方面,包括(但不限于):○ 制定项目管理计划和所有相关的子计划;○ 使项目始终符合进度和预算要求;○ 识别、监测和应对风险;○ 准确、及时地报告项目指标。
2.从上面定义,希望你能得出些结论。
3.在软件行业,项目经理有一项基本(也许是最关键的)工作:编制产品规范说明书,并要协调与上级、客户及其它职能部门的关系,还需管理项目组内部。
总之,有很多杂事。
...
什么是软件项目管理?
软件项目管理的定义 项目普遍存在于人们的工作和生活中,如何管理好这些项目就是一项需要研究的任务。
例如商品采购、生日聚会等项目,事前在心里(或者纸张上)有个计划,项目实施过程中在有意识地控制这个计划,这其实就是在进行项目管理。
另外,设想一下,让你负责字处理系统软件这样大的项目,这样的系统需要非常高的稳定性、良好的人机交互接口。
显然,这个项目不是几个人几天就可以完成的,有上百人年、甚至上千人年的工作量,需要很多子系统组合在一起,完成一个相互关联的系统,还要考虑系统的架构、安全性、如何协同工作、谁做什么、哪个部分先做哪个后做、如何关联等,出现风险如何处理等等。
同时,一个管理者不可能了解所有的事情,认识所有的人,如何保证所有的项目人员不疲倦,永远有干劲儿。
这一切都要从系统工程的角度进行管理,这就是软件项目管理产生的主要原因。
软件项目管理是组织为了实现其目标,利用各种有效的手段,对软件项目各阶段工作进行计划、组织、协调、指挥、控制,以取得良好经济效益的各项活动的总和。
为了满足甚至超越项目有关人员对项目的需求和期望,项目管理会将理论知识、技能、工具和技巧应用到软件项目的活动中去。
要想满足或超过项目相关人员的需求和期望,我们需要在下面这些相互间有冲突的要求中寻求平衡: 1. 范围、时间、成本和质量 2. 有不同需求和期望的项目干系人员 3. 明确表示出来的要求(需求)和未明确表达的要求(期望) 软件项目是一种特殊的项目,它创造的惟一产品或者服务是逻辑载体,没有具体的形状和尺寸。
它提供的产品或服务是逻辑的,具有独特性、临时性和周期性的特点。
软件开发不同于其他产品的制造,软件过程更多的是设计过程(没有制造过程)。
另外,软件开发不需要使用大量的物质资源,而主要是人力资源。
并且,软件开发的产品只是程序代码和技术文件,并没有其他的物质结果。
基于上述特点,软件项目管理与其他项目管理相比,有很大的独特性。
从概念上讲,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动,软件开发项目管理是以最合理、最有效、最经济的手段保证软件开发项目的成功完成。
软件开发是将思想用某种形式表达出来的过程,它涉及到的多是无形的东西,既看不到质,也看不到量,从而使项目管理的难度极大。
软件开发是耗费资金的项目,但到底投入多少,能达到什么样的地步?都是未知数,从而使得其投资风险系数较大。
软件项目管理不是一件容易的工作,变化、风险、矛盾、冲突等是任何项目都无法回避的现实环境。
所以,项目管理是一项复杂的管理活动,包括:项目范围管理、项目进度管理、项目成本管理、项目质量管理、项目人力资源管理、项目沟通管理、项目风险管理、项目变更管理等多项管理实践,而在一个实际项目的进展过程中,这些管理实践又是相互融合、相互关联的,是复杂的、专业化的,因此要求有专职的项目经理或者专门的项目管理机构来完成。
它对项目经理提出了很高的要求,正如Mulcahy所言,“项目经理的工作是‘奇妙的’、‘伟大的’,但是也是非常技巧的” 软件项目管理的作用 在软件开发中,项目管理起着重要的作用,一方面是提高质量,降低成本的保障,另一方面,也是更重要的一点,它是软件工程化开发的前提。
软件项目与其他项目相比,有着许多管理方面的共性,但同时也有自己的特殊性。
所以,在软件开发中,忽视了项目管理或不按规律去办,往往会导致开发的失败或质量的下降。
实际上,软件项目管理的意义还不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小开发风险)。
项目管理的质量与软件产品的质量有着直接的对应关系。
因此,提高项目管理的能力对于软件组织的软件生产力的提高是最为重要的。
项目管理类似导弹发射控制过程,需要一开始就设定好目标,然后在飞行中锁定目标,同时不断调整导弹的方向,使之不能偏离正常的轨道,最终击中目标。
全球经济对于软件依赖度越来越高,也越来越广泛,这也突显出软件对于现代企业的重要性。
在全球各地,软件快速的进步对全球经济的成长扮演了重要角色。
不论是你所使用的手机、PDA、计算机、金融卡等相关产品,都脱离不了软件,从以上这些观点来看,软件是现代世界上不可或缺的一部份。
而在这些系统越大、越复杂的同时,使得从事软件工业的同仁对于软件开发及管理的知识越显得缺乏,使得有效的执行项目管理更加地重要。
但同时我们也看到了一个非常严重的问题,那就是软件危机。
我们所面临的软件生产能力与业务发展的需求不相适应的这种现象就是一种软件危机。
项目人员,特别是管理层,极其低下的项目管理能力是造成这一现状的根本原因。
对软件项目管理人员而言,除了具备扎实的技术能力以外,还必须要掌握管理尤其是项目管理的知识与技能。
而项目管理则是提...
软件项目管理是什么
首先,项目的定义是:为实现某一特定目的而做出的一次性的努力。
它包括范围管理,进度管理,时间管理,质量管理,成本管理,风险管理,需求管理,沟通管理,集成管理,配置管理,人力资源管理等。
范围管理是基础,成本管理,时间管理,质量管理是核心。
人力资源管理是支持性计划。
九大管理相互协调,共同协助完成整个项目
什么是软件项目管理?
软件项目管理是为使工作项目能够按照预定的需求、成本、进度、质量顺利完成,而对人员、产品、过程和项目进行分析和管理的活动。
我们团队现在使用的是日事清,日事清日报的基础模版是KPTP,四个部分就组成了一份清晰明了的工作记录,这样的记录既能充分体现你当前的工作状态,又能层次分明地向领导传递工作困难与你的工作能力。
项目管理岗位职责是什么
不同行业到不同企业,项目管理岗位职责是不尽相同的。
从整体上看,可以从以下实施层面明确岗位职责:1、对项目进行前期调查、收集整理相关资料,制定初步的项目可行性研究报告,为决策层提供建议。
协同配合制定和申报立项报告材料。
2、对项目进行分析和需求策划。
3、对项目的组成部分或模块进行完整系统设计。
4、制定项目目标及项目计划、项目进度表。
5、制定项目执行和控制的基本计划。
6、建立项目管理的信息系统。
7、项目进程控制,配合上级管理层对项目进行良好的控制。
8、跟踪和分析成本。
9、记录并向上级管理层传达项目信息。
10、管理项目中的问题、风险和变化。
11、项目团队建设。
12、项目各部门、成员的职责、权限制定13、各部门、各项目组之间的协调并组织项目培训工作。
14、项目运行的过程控制15、项目及项目经理考核。
16、理解并贯彻公司长期和短期的方针与政策,用以指导公司所有项目的开展。
项目管理常用什么软件?
现在市场上针对企业办公、项目管理系统的在线软件是很多的,类型也不少。
就自身经验感觉,涵盖各种办公功能模块(比如说公告、审批、签到这类常用的)的,同时在项目管理上开发比较有出色的就比较不错,伙伴项目管理是以任务为单位进行的,管理人即领导者发布任务后,可以选择执行者、时间节点,随时查看项目进度和状态,而且有审核权,能够掌握完成质量,也可把任务关联到日报里,这样查看起来就非常方便直接。
软件项目管理要注意什么呢?
如何在所学的项目管理理论和实际项目实践中找到一条连接的纽带;软件项目管理的度如何把握;为什么项目协调中更多的是貌合神离;为什么自己觉得自己所管理的项目老是失败。
这一连串的问题引起了项目管理者的同感,笔者本人也曾经在项目管理中屡遭挫折,目前的项目管理中依然麻烦不断。
但是,作为一名软件项目管理者来说,在实施项目管理的过程中,笔者觉得在项目管理中,我们的大多数人常常在管理思维中留下一些空白,而这些空白正是我们公正、客观地评判和成功执行软件项目管理的必要途径。
空白1: 为效益而实施项目管理 为什么我们要实施项目管理,是为了提高项目的效益。
这里所指的项目的效益是一个综合性的指标,包括低风险、高产出等。
为此我们不难得出我们在实施项目管理应该掌握的度。
即:引入项目管理后所产生的效益减去项目管理的成本后必须大于未引入项目管理时的效益。
由于引入项目管理后所产生的效益与项目管理的复杂度(项目管理的成本)并非线性相关的,因此项目管理的复杂度必然存在一个最优值,这就是我们应该把握的度。
也许上面的说法比较抽象。
一个实际行之可效的判断项目管理的度规则就是:大家认可并且能够准确地理解和实施。
拿美国项目管理专家James P Lewis的话说就是 KISS原则(Keep it simple and stupid),拿物理学家爱因斯坦的话说就是:Keep it simple ut not too simple. 空白2: 考虑所处环境 任何系统都是建立在一个具体的系统环境中的,一般情况下受上一级系统影响最为显著,这是系统论的观点。
项目管理是企业管理的下属层次,因此在很大程度上项目管理的成功与否常常受企业管理的制度制约(比如说设备采购的批复等待会延误工期),这就是为什么常常会出现计划不如变化来的快的原因。
因为我们在制定计划时根本就没有考虑自身和客户双方的企业管理的环境,所以我们的计划在实施过程中会受到企业管理环境因素的影响。
我敢跟你打赌:在没有人事激励机制常常拖欠或故意克扣员工工资但获得CMM5认证的公司开发效率不会比一个没有实施项目管理的开发团队的效率高多少。
因为恶劣的公司人事制度扼杀了开发人员的天才和积极性。
因此,作为一个项目管理者,审视自身的项目所处的企业环境并做出准确的判断是非常有必要的。
缺少良好的项目环境,项目管理者的心血常常白费。
这往往是我们中的一些项目经理在不同的公司里项目管理表现大相径庭的原因。
此外,正是基于企业环境这样一个观点,目前美国PMI,日本ENAA等提出了项目管理成熟度模型(OPM3和P2M),改变了传统PMBOK的缺陷(忽略外部因素和自身的灵活性)。
有兴趣的项目管理者可以参看有关项目管理成熟度和企业管理方面(建议参看职业经理人方面)的资料。
空白3: 合理评判软件项目管理 我们总是把过多的项目失败归罪到项目经理的名头上。
他们的角色常常是替罪羊而不是领导者,他们拥有的更多的是责任而绝非职权。
实际上项目失败并非完全决定于项目管理,比如说信息系统过低的报价。
一个项目按时在预算范围内完成了而另外一个则没有按时完成,这不意味着第一个项目管理得比较好。
因为前者可能是项目时间和成本宽松的项目而后者根本就是不可能完成的项目。
前者项目管理的意义在于获得较高的项目效益而后者的意义在于避免更大的项目损失。
很可惜,充满了浮躁的软件企业没有诸如此类的意识,一些项目在未开始前注定就是失败的,项目经理们一上手便被扣以一责任人的镣铐。
因此,项目管理有无具体效果,需要合理地进行评判,单纯以出效益为上的观点未必有失偏颇。
空白4: 心理学的必要性 没有一个领域像软件项目管理中人的因素更为重要,在软件领域没有实现自动化之前,一切试图取代人的主要作用的机制都是收效甚微的。
人的行为是心智活动的表现。
开发人员的心理活动决定了其在开发的表现。
合适的压力能够勾起开发人员的成功欲望但是过大的压力却直接影响着项目参与者的身心健康。
特别是后者一直以来都未能引起软件开发界的重视。
很多人曾经有过不明不白的辞职经历,在没有学习《管理心理学》之前,笔者对这些人的"过激"行为有时想想都觉得奇怪。
作为一个软件项目管理者,不了解和掌握管理心理学,很难针对复杂多变的人的因素采取合理的应对措施,同时自身的心理健康也未必能够得到保证。
为此笔者建议有条件的软件企业,可以通过聘用心理顾问来处理员工的心理问题,以此缓和由于工作压力而导致的员工之间矛盾冲突和项目坍塌。
空白5: 尊重常识,系统性考虑问题 这个观点笔者在《软件项目管理原则谈》已经重申过。
就像不要指望人一秒钟跑二十米一样指望项目中有过多的奇迹出现。
可惜我们中的大多项目管理者在进行项目管理时依然实施"***"。
我们的管理者都知道自然规律不可违抗性,但是却很少有人意识到一些社会规律的不可违抗性。
他们总以为唯物的主观能动性能够替代实际,产生奇迹。
加班被认为是解决资源匮乏的唯一途径,通过开发人员"无上"的生产力来达成项目的成功。
很少有人会意识到加班造成的疲劳会再次使工作效率降低...