软件项目管理过程综述-研发项目管理

>>软件项目管理过程综述-研发项目管理

软件项目管理过程综述-研发项目管理

引言:当今社会市场竞争激烈,软件开发企业想要占据前列需要在研发管理上下功夫,“向管理要效益”已经成为软件开发企业的共识,研发项目管理在软件企业中的普及也是大势所趋。国内做软件项目管理工具的开发商翼发云近几年发展十分迅速,越来越多的软件开发企业认识到研发项目管理的重要性,能切实有效降低成本,规范软件开发流程,提高软件产品质量。国内研发项目管理系统、敏捷开发管理工具的领导品牌翼发云敏捷项目管理系统采用可视化业务流程技术,支持瀑布模型等传统软件研发项目管理,同时也支持scrum等敏捷开发流程,是理想的敏捷开发管理工具,涵盖软件项目管理工作的整个生命周期。为提高国内软件开发企业的项目管理水平,分享一篇企业管理相关的知识文章。

一、有意识的顾客;

二、客户预定;

三、风险评估;

软件项目风险是指在整个项目周期中所涉及的成本预算、开发进度、技术难度、经济可行性、安全管理等各方面的问题,以及由这些问题而对项目所产生的影响。项目的风险与其可行性成反比,其可行性越高,风险越低。软件项目的可行性分为经济可行性、业务可行性、技术可行性、法律可行性等四个方面。而软件项目风险则分为产品规模风险、需求风险、相关性风险、管理风险、安全风险等六个方面:

1、产品规模风险;

项目的风险是与产品的规模成正比的,一般产品规模越大,问题就越突出。尤其是估算产品规模的方法,复用软件的多少,需求变更的多少等因素与产品风险息息相关: scrum

(1) 估算产品规模的方法

(2) 产品规模估算的信任度 软件项目管理

(3) 产品规模与以前产品规模平均值的偏差

(4) 产品的用户数 敏捷开发流程

(5) 复用软件的多少

(6) 产品需求变更的多少 研发项目管理

2、需求风险;

很多项目在确定需求时都面临着一些不确定性。当在项目早期容忍了这些不确定性,并且在项目进展过程当中得不到解决,这些问题就会对项目的成功造成很大威胁。如果不控制与需求相关的风险因素,那么就很有可能产生错误的产品或者拙劣地建造预期的产品。每一种情况对产品来讲都可能致命的,这些的风险因素有:

(1) 对产品缺少清晰的认识

(2) 对产品需求缺少认同

(3) 在做需求分析过程中客户参与不够

(4) 没有优先需求

(5) 由于不确定的需求导致新的市场

(6) 不断变化需求

(7) 缺少有效的需求变化管理过程

(8) 对需求的变化缺少相关分析等

3、相关风险;

许多风险都是因为项目的外部环境或因素的相关性产生的。控制外部的相关性风险,能缓解策略应该包括可能性计划,以便从第二资源或协同工作资源中取得必要的组成部分,并觉察潜在的问题,与外部环境相关的因素有:

(1) 客户供应条目或信息

(2) 交互成员或交互团体依赖性

(3) 内部或外部转包商的关系

(4) 经验丰富人员的可得性

(5) 项目的复用性

4、技术风险;

软件技术的飞速发展和经验丰富员工的缺乏,意味着项目团队可能会因为技巧的原因影响项目的成功。在早期,识别风险从而采取合适的预防措施是解决风险领域问题的关键,比如:培训、聘请顾问以及为项目团队招聘合适的人才等。关于技术主要有下面这些风险因素:

(1) 缺乏培训

(2) 对方法、工具和技术理解的不够

(3) 应用领域的经验不足

(4) 对新的技术和开发方法应用不熟悉

5、管理风险;

尽管管理问题制约了很多项目的成功,但是不要因为风险管理计划中没有包括所有管理活动而感到惊奇。在大部分项目里,项目经理经常是写项目风险管理计划的人,他们有先天性的不足——不能检查到自己的错误。因而,使项目的成功变得更加困难。如果不正视这些棘手的问题,它们就很有可能在项目进行的某个阶段影响项目本身。当我们定义了项目追踪过程并且明晰项目角色和责任,就能处理这些风险因素:

(1) 计划和任务定义不够充分

(2) 对实际项目状态不了解

(3) 项目所有者和决策者分不清

(4) 不切实际的承诺

(5) 不能与员工之间的进行充分地沟通

6、安全风险;

软件产品本身是属于创造性的产品,产品本身的核心技术保密非常重要。但一直以来,我们在软件这方面的安全意识比较淡薄,对软件产品的开发主要注重技术本身,而忽略了专利的保护。软件行业的技术人员流动是很普遍的现象,随着技术人员的流失、变更,很能会导致产品和新技术的泄密,致使我们的软件产品被它公司窃取,导致项目失败。而且在软件方面关于知识产权的认定目前还没有明确的一个行业规范,这也是我们软件项目潜在的风险。

7、规避风险的方法;

(1) 以开发方诱导能保证需求的完整,使需求与客户的真实期望高度一致。再以书面方便形成《用户需求》这一重要的文档,避免疏漏造成的损失在软件系统的后续阶段被逐步地放大。

(2) 设立监督制度,项目开发中任何较大的决定都必须有客户参与进行的,在该项目中项目监督由项目开发中的质量监督组来实施。

(3) 需求变更需要经过统一的负责人提出,并且要用户需求的审核领导认可,需求变更应该是定期而不是随时的提出,而且开发方应该做好详细的记录,让客户了解需求变更的实际情况。(此点在一般公司可以,但是在类似ZZGA的行政单位则必须要求把一个项目中不同的功能模块(其实质就是子系统模块)负责人进行沟通并把最终定案给项目对口总负责人备案,做到有理有据)

(4) 控制系统的复杂程度,过于简单的系统结构,对用户来使用比例会有明显的折扣,甚至造成软件寿命过短。反之,软件结构的过于灵活和通用,必然引起软件实现的难度增加,系统的复杂度会上升,这又会在实现和测试阶段带来风险。适当控制系统的复杂程度有利于降低开发的风险。

(5) 从软件工程的角度看,软件维护费用约占总费用的55%~70%,系统越大,该费用越高。对系统可维护性的轻视是大型软件系统的最大风险(这个是目前公司高层领导比较忽略或者还未引起注意的地方,目前我们公司这方面整体欠缺)。在软件漫长的运营期内,业务规则肯定会不断发展,科学的解决此问题的做法是不断对软件系统进行版本升级,在确保可维护性的前提下逐步扩展系统。

(6) 设定应急计划,每个开发计划都至少应该设定一个应急预案去应对出现突发情况和不可遇知的风险。(目前ZZGA的测评项目就是因为有我当初这个意识引导才能避免去年年底测评给交流或者单位测评不能用的谣传及时制止,给我们上了一个生动一课。)

二、成本预算;

1、成本预算;

(1) 自上而下的预算方法

自上而下的预方法主要是依据上层、中层项目管理人员的管理经验进行判断,对构成项目整体成本的子项目成本进行估计,并把这些判断估计的结果传递给低一层的管理人员,在此基础上由这一层的管理人员对组成项目的子任务和子项目的成本进行估计,然后继续向下一层传递他们的成本估计,直到传递到最低一层。

使用此预算方式,在上层的管理人员根据他们的经验进行的费用估计分解到下层时,可能会出现下层人员认为上层的估计不足以完成相应任务的情况。这时,下层人员不一定会表达出自己的真实观点,不一定会和上层管理人员进行理智地讨论,从而得出更为合理的预算分配方案。在实际中,他们往往只能沉默地等待上层管理者自行发

现问题并予以纠正,这样往往会给项目带来诸多问题。(目前ZZGA的项目的根源就在于此)

自上而下更适用于项目启动的前期,与真实费用相差在30% ~ 70%之间。

scrum 使用自上而下的成本预算方式,它不会立即精确地确定成本,而是以最大限度容纳客户对未来产品要求所

产生的变更。

(2)自下而上的预算方法

自底向上的方法需要WBS(工作分解结构、工作分解结构)仔细检查项目的所有时间和预算。首先,预算是为项目经理提供的资源(团队成员的工作时间和硬件配置),加上适当的间接成本(如培训成本、管理费用、不可预见的费用等)和项目,以实现项目整体预算的利润目标。自下而上的预算方法要求全面考虑所涉及的所有任务,这更适合项目的初始阶段和中期阶段。它可以对项目的成本进行评估,实际成本与实际成本之间的差异在5%到10%之间。(后来,没什么要强调的是,解决项目合同不是盲目按照合同要求,只要有这种想法和错误意识,就会在需求的过程中进行研究,不能让客户知道,畅所欲言,结果就是我们累了。”。由于系统的修改对程序员来说比开发系统更昂贵,要求也更高。所以我的建议是,要求与客户紧密地研究和开发所有的需求,你是实现他们核心的关键。这样,顾客的实际需求就可以减少到最大限度。合同内外的具体要求可以事后核查。而不是在早期合同,它会造成不利影响的客户。最终,客户的需求无论如何都要实现,否则验收是空的。在功能实现后能否增加合同金额是公司经营管理的问题。开发集团的主要功能是引导客户创造需求,满足客户的合理需求。

注释:WBS

WBS是基于提交结果的项目分解,从提交结果列表中确定每个提交结果需要执行的活动。scrum将进一步细化WBS分解成更小的工作包的每一次迭代。

2。确定项目支出

2.1,营销支出(公司整体的宣传,一些项目的促销信息)

2.2,

2.3,

业务支出开发成本

总成本预算结合以下多个成本预算的方式,整体开发成本:

(1)&nbsp

;零基预算应该用在成本预算的早期阶段零基础原则计算,不能超过一年,类似的整体l成本加20%工程成本的粗略计算。

(2)软硬件成本、商品

成本是指商品的成本,类似于服务器(RAM磁盘RAID网卡CPU集群)成本,维护成本,房租,成本,光纤通信的软件成本。

计算成本时,我们需要考虑硬盘组件的长度,使技术人员的需求的质量,供应商是否能提供质量保证,以及是否有额外的管理者在管理多因素。

(3)软件许可成本

(4)&nbsp

;外包成本时,使用类似的视频,短信,移动通信服务,门户网站和其他子项目,系统更加成熟或表面可以考虑外包的形式,为降低开发成本。

(5)人力资源成本

;计算人力资源成本时,我们应该使用最高和最低的工作效率估计的平均效率,并计算出人力资源的平均成本。

(6)维护成本。

(7)制定激励成本。(工作、按劳分配,而不是公司目前的分配由主管判断,是合理的,我们心服口服。)

三,与客户的沟通方向

客户沟通过程中,软件项目可以分为:需求识别、方案定制、项目实施,如4个不同的阶段,每个阶段都有不同的通信密钥。

1。

(1)需求识别阶段要求在早期识别文本通信

,应全方位、多角度的分析,通过问卷调查、原型显示,界面显示、逻辑处理显示,标准化文档模板等,在任何时候都不会明确的反馈给客户,为了回答客户。我们还需要通过文字记录建立分析书,并要求顾客检查需求分析书,以达到分析的目的与顾客的真实期望高度一致的结果。

(2)业务逻辑通信

,做商务沟通时,要了解客户的行业语言,从而促进业务分析过程和克服的应用需求和发展差距。沟通过程以草图或视觉信息的方式提倡,为不同层次的企业用户提供最合适的操作界面。要多角度地思考问题,必须着眼于需求的重点,特别是客户领袖的创新和实际需要。

(3)在软件开发中的需求变更

规范化管理需求变更的项目是可以理解的,但必须改变需求的规范化管理,以避免无休止的需求变化的风险。需求变更必须由一个统一的领导提出,并由审核组长根据用户的需求进行批准。需求的变化应该是规律的,而不是任何时候。开发人员应该做详细的文本记录,让客户了解需求变化的实际情况和开发人员的成本成本。该

2主要任务。

方案定制阶段这一阶段的项目与客户共同开发一个初步的明确需求,资源项目的开始阶段,在约定的时间执行,项目成本约束的基础业务项目计划,从一开始就为客户充分参与项目管理,和双方的共同利益来考虑具体项目实施计划和风险规避。

3。项目实施阶段

在这个阶段,软件项目团队应该领导项目的实施与客户一起。同时,项目团队应通过不断改进,实时评估客户满意度,提高客户满意度。它还要求客户参加必要的培训,并在必要时检查产品。在改变客户需求之前,我们应该积极与客户沟通,使客户能够充分了解项目的各个环节以及变化带来的影响,并减少需求的变化。如果客户需要改变,我们应该与客户一起解决由变更引起的成本、进度和质量的变化。(行政机关或单位,必须考虑其他事项。)。客户可能已经签订了合同,无法修改合同,因此项目组及时向公司领导汇报,公司领导决定是否先推进成本开发,然后在后续项目中收回成本。或是客户需求的排斥和为什么)

4。终末期

项目交接阶段,和系统交付给维修人员,帮助客户实现业务目标,结算。完成这些任务后,应该对项目进行评估,对项目的结果进行评审,并总结项目的经验。

5。售前人员注意事项;

,当产品型项目作为发展的结果,相关人员应注意:产品的销售不应该竭尽全力。如果承诺太多,将给后续项目的实施带来困难;一旦承诺不到位,也会降低客户满意度,影响未来合作。如果有额外的承诺,则必须用文字编写,以便执行项目经理知道并传达给项目组成员。

笔记:在软件项目中,需要明确以下四种作用

明确最终使用部门和用户了解他们现有的工作,让他们知道项目的目标框架,项目就会知道困难,但并不是所有的困难,这样你就可以更好的控制项目的范围。为了明确演讲者的需求,他或他们能够代表最终的客户群体。客户对产品的需求具有一定的技术、业务能力和权威性,能够真正代表最终客户团队的愿望和想法,最好的基础是它,可以用IT语言来描述问题和需求,以方便双方的沟通与合作,避免歧义。要明确中间领导的要求确认,他必须把握方向。软件开发项目是解决实际生产和管理中存在的问题,但也导致系统的建设实施,对客户需求的LED确认,不仅要了解系统建设和高层领导方向的关键点,还要熟悉具体业务和实际生产管理。如果是这样的客户领导去把握和决策,那么企业软件开发项目的成功进展是非常重要的。有必要对成品做出明确的意见,由谁来接受。项目验收是项目的收尾部分。如果验收人不了解项目的初始需求,就会对产品的态度和实际使用效果产生负面影响,对产品关闭项目非常不利。实践证明,需求方和确认人对项目的接受能够促进项目的顺利完成,避免延误。四、1,需求分析;在需求分析包括2个部分的需求开发和需求管理过程

需求:

(1)需求发展是管理发展的早期,和房间的通信过程可以分为4个阶段:需求获取、需求分析、

写作要求和需求验证。

(2)需求管理:活动,控制和维护要求公约杜

文章从互联网整理而来,旨在传播scrum、软件项目管理、研发项目管理、敏捷开发管理工具的知识与应用,帮助软件开发企业真正了解研发项目管理的价值和意义,如果本文侵犯了您的权益或者您需要具体了解更多国内做研发项目管理系统的公司翼发云敏捷项目管理系统的相关信息,欢迎和我们联络:

【网址】www.effapp.com

2018-03-06T14:47:46+08:002018-03-06 14:47:46|Categories: scrum项目管理|