浅谈软件工程项目管理的原则-研发项目管理

>>浅谈软件工程项目管理的原则-研发项目管理

浅谈软件工程项目管理的原则-研发项目管理

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

  在软件工程飞速发展今天, 软件项目管理 ,与其称之为一项工程,倒更不如说是一门艺术。在这个过程中,不仅要根据软件项目的具体环境中巧妙整合软件技术、经济学和人际关系较好地考虑了在很长一段时间内可能出现的风险和问题。最近,根据对600多家公司的调查,35%的公司至少有一个失控的软件项目。一方面,顺序的、经典的过程驱动瀑布模型使人们在了解需求规范和风险影响之前,提出了绑定需求规格说明书的软件功能。另一方面,代码引导的开发过程常常使企业过于关注功能复杂性和代码实现,而忽略了需求、持续时间、质量、资源等因素之间的平衡。当工作,而不是用户的需求,结果是不可避免的,因为目前的媒体“程序员的生活条件”说,牺牲了开发人员在牺牲时间,为项目的结束。众多软件开发的残酷现实告诉我们,软件开发过程中不可预知的过程只能是难以预料的结果。如何提高我们的软件开发和管理水平,其实有许多原则和经验值得我们参考。

第一.平衡原则 scrum

我们可以讨论为什么软件项目失败的时候,有很多原因,如管理、技术、人才的问题,但有一个根本的思想问题是最容易忽视的,也是软件系统的用户、软件开发商、销售代理商不想面对的,那就是:需求、资源四要素之间的平衡、工期和质量。结合实际情况,我们可以很容易理解彼此的联系四,需求的增长,将不可避免地带来更多的长期消耗资源和时间;与用户需求和紧密连接的持续时间,用户不希望项目交货太晚了;相反,高追求质量,我们需要投入更多的人力物力资源,甚至更长时间;同样,一个高质量的产品,不要盲目赶工期,多输入就可以完成。这就要求我们在各个方面考虑需求、资源、时间、质量和最佳解决方案的平衡。在软件项目中,我们不仅关注项目进度、质量、范围和成本四要素之间的平衡。还需要注意人员角色分工的平衡、冒险与保守的平衡、内外部的平衡、纪律与灵活性的平衡等,在任何一个环节失去平衡,都会危及到项目的安全。

这就要求我们在软件开发之初制定一个长期的发展和管理计划,平衡元素的分布。没有计划,就没有办法知道何时控制和改变。详细制定详细计划,以了解开发人员能理解的程度。这个计划可以告诉你该做什么。因为没有太粗糙和不切实际的计划或计划,许多项目,1/3甚至1/2,都花在返工上。因为计划错过了一个关键的任务,或者因为计划过于简单,会出现在实际开发过程中,一旦出现问题将急于解决的过程使需求,原有的设计资源、时间和质量的平衡被打破,它带来的,无论是质量或延长时间缺陷,可能会导致项目的失败。 软件项目管理

两。高效性原则

我记得看到一位脸谱网创始人扎克伯格回忆起他早期的生意。一句话给我留下深刻印象。”决定你生活高度的是你工作的速度。在开始的时候,扎克伯格已经从产生想法到一个简单的应用与比较得分Facemash实现仅用了6个小时。在很短的时间内,他自己完成了产品的设计、开发和上线。那可能是一个小公司每天两天的工作量。他对Haversian的Winklevoss兄弟,都说扎克伯格抄袭了他们的想法和后来的脸谱网,而事实上呢?当Winklevoss兄弟毫不犹豫地投资在社交网站上,扎克伯格的脸谱网已经覆盖了29所学校和7万5000注册用户。他们之间的差距是两者之间的差距。只有在这样短的时间内完成高质量的任务,才能称之为高效。 敏捷开发流程

浅谈软件工程项目管理原则

研发项目管理

  在实际情况中,软件项目的人力资源分配大致符合Norden-Rayleigh曲线分布。①区域代表开始阶段,人力过剩;②区域表示开发的中后期,人手不足;③区域表示后来的补偿时间过晚,反而会出现Brooks定律的情况:“向一个已经拖延的项目追加新的开发人员,可能会使这个项目完成得更晚”。因为作为新加入的员工来说,相关培训、环境熟悉和人员之间的沟通通路的增加,迫使项目的工作效率急剧下跌。工作效率下降需要加班来进行弥补,但加班造成的疲劳会再次使工作效率降低。同时工作成本却不断的向上攀升。

  基于高效性原则,需要对项目管理考虑以下几个方面:1.选择精英成员,虽然现实中开发人员不可能,也做不到像扎克伯格那样拥有天才般的速度和执行力,但总可以从现有人力资源中挑选出其中精英,对不同专长的人安排不同分工;2.目标要明确,范围要清楚,明确开发目标和功能的覆盖范围,并在实际操作过程中坚定地保持始终如一;3.沟通要及时、充分,沟通管理是对项目过程中产生的各种信息进行收集、存储、发布和最终处理,由沟通计划编制、信息发送、性能报告和阶段的结束构成。沟通,不仅包括项目组内部程序员和项目经理的沟通,还需要客户与项目组的沟。沟通的不足会导致效率的降低;4.要在激励成员上下工夫,通过评估我们可以激励人员,保证绩效。良好的绩效管理可以一目了然地反映项目成员的业绩,一切以数据说话,更能体现公平。绩效考核分项目绩效和个人绩效两个部分,项目绩效从项目成本、利润、完成计划情况、项目质量、规范程度、文档水平、技术、产品化和共享度方面评价项目效果。

三。
优先原则

  在软件工程中存在这样的PARETO定律:在实际中企业80%的问题可以用20%的投资解决,而20%的次要问题则需要花费80%的投资的。在软件项目中,如果出现了过多的需求,通常会导致项目超出预算和预定进度,最终导致软件项目的失败,此时需求的优先级可能比需求本身更为重要。仔细分析一下,这些项目要求分为必须的非必须的,因此我们建议是压缩非必须的部分或是暂时将其放在一边不必太重视。软件项目开发事实告诉我们,开发人员在非必须的项目要求上耗费了太多的精力,用户的需求变更的大部分出现在”最好有”这一部分,实际上用户并不看重这些需求(即使去除这些需求),而我们所做的,往往是舍本求末。

  在实际情况中,软件开发负责人员往往会面临需求方提出的一系列繁复的需求,在实施过程中一定要将需求划分为不同的优先级,建立项目开发的需求优先级队列,对于一个管理良好的软件工程必不可少。反之,盲目追求对细枝末节的全覆盖,反而会极大拖慢工期进度,甚至影响产品质量。

  四.分解原则

  “分而治之”是计算机领域的一个重要思想,对于软件项目来讲,可以将大的项目划分成几个小项目来做,将周期长的项目化分成几个明确的阶段。在需求管理中首先要进行分类管理,将软件需求分出层次,不同层次需求的侧重点、描述方式和管理方式是不同的。对于管理层而言,提出的需求可能会更加偏向于全局性的目标需求,对于底层实现和分工并不关心;而中层需要将具体的操作,代码分配给不同部分,人员进行实现,同时需要考虑各部分之间的相互衔接。项目越大对项目组的管理人员、开发人员的要求越高,参与的人员越多,需要协调沟通的渠道越多,周期越长,开发人员也容易疲劳,将大项目拆分成几个小项目,可以降低对项目管理人员的要求,减少项目的管理风险,而且能够充分地将项目管理的权力下放,充分调动人员的积极性,目标会比较具体明确,易于取得阶段性的成果,使开发人员有成就感。

  五.风险原则

  某家知名软件公司曾总结出排行前几的为软件管理埋下风险的罪魁祸首,分别是:

  1.人为缺陷;2.不切实际的时间表和预算;3.开发错误的功能和属性;4.开发错误的用户交互;5.画蛇添足;6.持续的需求更改…..

   软件项目管理 的过程中,唯一不变的就是”变化”。风险管理也是始终贯穿于 软件项目管理 之中的重要元素,在项目中不考虑可能发生的变化是不可思议的。不过在面对项目可能发生变化而带来的项目风险时,项目管理人员往往会怀有逃避的态度。经济学里大名鼎鼎的风险规避原则便是项目管理人员心理的有效描述。作为项目管理人员来说,应该及早预测可能出现的风险,做好风险储备。虽然风险储备不能解决所有的问题,但预防胜于治疗”。通过学习项目管理知识掌握风险识别、量化、对策研究、反应控制的工具和方法,掌握项目风险管理所必备的知识。通过加强对项目规划中风险管理计划的审核提高项目组的风险管理意识。

  小结:

  随着软件开发的深入、各种技术的不断创新以及软件产业的形成,人们越来越意识到软件过程管理的重要性,管理学的思想逐渐融入软件开发过程中,项目开发的管理日益受到重视。然而,实施切实有效的 软件项目管理 在实际操作中绝非易事,了解和运用上述原则是不够的,若要达成软件工程管理的最终目标——保证软件项目能够按照预定的成本,进度,质量按期,顺利地交付用户使用,还必须深入学习项目管理、管理心理学、质量管理学、组织变革、系统论等方面的知识,并在工作中不断的总结和实践。

参考文献:

[1]BARRY W. BOEHM,SENIOR MEMBER.Theory-W Software Project Management: and Examples,IEEE

[2]Software project management,维基百科词条

[3]BARRY W. BOEHM,Defense Advanced Research Projects Agency.Software Risk Management: Principles and Practices,IEEE

[4]曾祥鹏.浅谈 软件开发项目管理 ,今日科苑

[5]孙鸿飞,武慧娟.浅谈 软件开发项目管理 的意义和原则,商场现代化

  

  

请输入文本或站点地址,也可以直接上传文档。你想取消:文件:/ / / C:/用户/张杨/桌面/软博客/软件20men % % % % 20examples.pdf 20and 20principle
在软件项目的特定环境中巧妙地集成软件、经济和人际关系不是一件容易的事。
请输入文本或站点地址,也可以直接上传文档。你想取消:文件:/ / / C:/用户/张杨/桌面/软博客/软件20men % % % % 20examples.pdf 20and 20principle
在软件项目的特定环境中巧妙地集成软件、经济和人际关系不是一件容易的事。jqiao

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

【网址】www.effapp.com

2018-03-04T16:36:40+08:002018-03-04 16:36:40|Categories: scrum项目管理|