我从华为身上学到的项目管理经验 -- 概述篇

article/2025/10/12 1:06:58

记录这三年,关于项目管理上的一些心得体会 – 概述篇

这里写图片描述

本文主要目的,是记录我从华为身上学到的一些项目管理上的知识精华,记录在案,一来供个人今后在职业生涯道路上越走越远的时候,不时回来观望一番;二来供奋斗在行业前线又想了解一下的同学一起交流。个人愚见,仅供参考。

大抵是在12年,承蒙外企老板的厚待,给我了一个机会让我开始接触项目管理,踏入这扇大门。

既然是概述篇,具体的知识细节点一笔带过,只描述一下概要即可,对应的知识细节铺开理解,可到博文的其他兄弟章节中 一 一 体会。

  • 外企项目管理崇尚自由、敏捷、高效

  • 初识开发模型

  • 软件生命周期

  • 各个阶段输出件

  • 项目启动会

  • 风险识别及管理


外企项目管理崇尚自由、敏捷、高效

得益于在外企待上的这一年多,完全体会到了外企高管对于企业文化熏陶的重视性。
外企不同于国内中小型企业,大多外企致力于打造专业的团队,提供极度优质的软件服务,打造的是 客户→服务→产品→迭代二→迭代三
而不是像国内中小企业一样致力于 客户→交货→新客户→交货

因而公司给予了博主一个 大概8人的 纯前端工程师团队 进行管理。
在这期间,零零散散的接触到了之前从未接触到的项目管理知识:
项目计划、甘特图、WBS工作分解、PDCA戴明环、Delphi预估方法 等等。

举个例子:

国内中小企业:

之前博主刚毕业之际,在一家小型外包企业谋求得到一份C#工程师的工作,而在这期间,对于程序员的我来说,就是接到领导的单子,然后口头宣讲需求,然后就开始动手做,赶工做完了先交一次客户,不满意,只能利用周六周天或者平时下班时间加班改,正常作息时间是拿来做下一个项目的。如此一直循环的工作方式。
有一次做某项目,由于太赶工期,且需求变更太频繁,到项目发布会当天,验收会上,首页都还在报错,页面下方布局层次不齐,如此质量也得到了某领导的高度评价和赞赏,然后顺利验收交货进入维护阶段。
而这样的情况由于缺乏正确有效的项目管理手段,例子比比皆是。

切身体验来说,可以如是概况:对于这样的小企业,如果未经过合理的项目管理手段,会使得项目毫无章法,毫无规划,而员工处于这样的工作方式,对个人发展很是不利

外企:

在外企工作期间,每一份工作项,需要经过需求分析,需求宣讲,工作量评估,软件设计,再进入开发阶段,力求一步到位,想客户之所想不到,容客户之所看不到,因为有之前的几个环节,所以通常能够使软件交付质量异常的高。
不得不说,做好一款软件,是双方配合的过程:客户表达清楚我想要的,软件工作者做出超出你想要的,这是win & win。
我曾经遇到过一个澳大利亚的客户,在来往的邮件中,切实的体会到客户对于当前的痛点描述的很清晰,并且为了方便我们理解,发来了大量的参考Excel数据集合。最后在双方的合作下顺利交付。

在外企的工作经历,带给我的体会是这样的:由于有之前的中小型企业工作经历,这份外企工作经历更加显得弥足珍贵,双方相形见绌。外企崇尚的敏捷、自由、高效的运行。当然这也需要每一位参与者的能力都达到了一定的高度,才能够有更加快捷的运作效率


初识开发模型

上文提到了项目管理中的开发模型:敏捷
其实运用在软件开发中的开发模型有很多,也因项目性质不同,可使用的开发模型也不同。
随着时代的发展,越来越多更加科学合理的开发模型被发掘和应用,这里简单介绍几种博主使用过的开发模型和不通的适用场景。

  • 瀑布模型:
    循规蹈矩的进行软件开发、从需求到设计到开发到测试,几乎一气呵成,不存在大量的变动,一般适用于大型项目。
    要使用这套模型,我个人总结,需要具备以下条件:
    1、项目变动不大、客户需求稳定
    2、该模型最后才能够输出项目成果,需要客户参与到软件开发过程中,最好设置几个体验时间节点
    3、项目经理能力要求较高,过程管控能力要求较高
    4、各节点负责人需要具备文档能来,来撰写各个阶段输出件

  • 敏捷模型:
    快速吸收客户需求,将项目管理和沟通更多的放在 每日晨会/看板会/站立会上,每个人都是100%的参与者,通过不断的沟通,快速响应需求,并且以一个一个阶段的方式将大型或中型项目进行分解拆分,分阶段达成。
    敏捷开发模型,需要具备如下几个特点,再使用,才能更加高效:
    1、团队人员不在多,而在高、精。 控制在 5~10人团队,精准管控
    2、客户需求存在多变或还未定的情况,项目支持分阶段验收
    3、客户可接收很少的输出件,简化项目开发期间的过程输出

  • 螺旋模型:
    相当于是很多个小的瀑布模型的集合,或者说看成,在客户的需求已经明确的情况下,在初期将超级大型的项目分成了迭代一迭代二迭代三,只不过每一个阶段都加入风险把控分析,然后及时把控停留或推进项目。
    螺旋模式使用超级大项目,通过版本迭代的方式,剥离用户原始需求,拆分实现,要使用这个模型,个人愚见需要如下几个条件:
    1、客户也倾向于分阶段交付项目
    2、项目人员组成相对稳定,角色分明
    3、项目经理具有风险分析及识别能力

其实软件开发模型有很多,只不过不在这里做太多介绍,概述一下项目管理需要用到大概哪些知识即可。需要看更详细的项目开发模型详解,请参看《我从华为身上学到的项目管理经验 – 开发模型篇》


软件生命周期

不同的项目,软件生命周期可能有些许的不一样,但正常的软件项目生命周期应该是这样的:

这里写图片描述

  1. 客户提出明确或模糊的需求
  2. 进入【需求分析阶段】,进行需求分析,项目计划
  3. 进入【设计阶段】,根据需求和客户刚需,进行原型设计和设计初稿设计,后期输出软件概要设计文档和软件详细设计文档
  4. 进入【开发实施阶段】,配合QA进行相关项目管理
  5. 进入【测试阶段】,配合TPM进行测试管理
  6. 进入【发布阶段】,配合售后进行项目维护

大家必须明确的是,在项目管理中,有三点是最关键的因素,也是左右项目,适时调整的最大诱因。

时间、成本、质量

这里写图片描述

成本,是指投入的人力成本和物资成本,都是成本的范畴
时间,是允许的整体时间跨度,如何衡量这个时间,有个小窍门,先拿到最小时间和最长时间,再加上自己预留的BUFFER 来衡量
质量,是指在上述两个条件下所产生出来的软件整体质量,成本大了,时间长了,质量自然就上来了
三者层层嵌套,环环相扣。
但是其中某个环节在某个时间点出问题的时候,如何微调,这个就是技术活了,需要靠不断的项目经验慢慢积累,不方便细说。


各个阶段输出件

各个阶段有明确的输出件,相关名词解释等。
如:
需求阶段输出:《SRS.doc》《FRS.doc》《项目计划.mpp》等
设计阶段输出:《概要设计文档》《设计初稿》等
开发实施阶段输出:《干系人》《周报》《双日报》《日报》等
测试阶段输出:《测试报告》《转测说明书》等
发布阶段输出:《使用说明书》《参数配置表》等
输出件有许多,不能一一拆分将就,详情请参看其他《我从华为身上学到的项目管理经验》章节


项目启动会

这项工作是个技术活,个人认为属于项目管理中的核心范畴之一,也可以从侧面直接反馈出作为项目经理所应具备的风险应对能力和统筹策应能力。

在项目进行到即将启项的时候,需要有一个项目启动会,启动会会需要囊括到项目范围,交付范畴,项目计划,项目干系人等方方面面。

就项目计划而言,需要借助甘特图,来分析什么人,到了什么时候,他应该去做什么事,预留BUFFER有多少,在考虑buffer的情况下做完之后有没有空余时间等等
就项目干系人而言,需要考虑资源的投入产出比,成本,资源稳定性,应急人才备选,资源时间投入比例等

并且在会上,需要明确的阐明交付时间跨度,里程碑,交付件等关键信息给客户或领导做展示。

相关详细的项目启动会输出件demo,会在后面的相关章节中做详细介绍并附上几个不同的项目启动会ppt供参考。


风险识别及管理

风险管理个人看来是个虚活。
这项技术需要更多的量累计,才能达到质的改变。

  • 客户风险识别
  • 业务风险识别
  • 管理风险识别
  • 技术风险识别
  • 决策树

此处不一一赘述,确实太虚了,无法落笔到本文中,看后面能不能花点儿时间把博主所遇到的一些风险案例 撰写出来,才能体会到。

总之一句话:只计算IT行业的项目管理的话,本人只有3、4年的经验,以上只是我个人的一些愚见总结出来的一个概述,具体的精华部分,会花时间,以举例demo,上传附件等方式来详述,落实到各个其他章节中。
项目管理深似海,慢慢泛舟学习吧。


http://chatgpt.dhexx.cn/article/dhF1wixa.shtml

相关文章

华为如何建立以项目为中心的运作体系?

华为一直非常重视项目管理,项目管理在促进公司发展、实现商业价值、推动人才培养等方面发挥了重要作用。 华为项目经理不只是协调员或者执行指挥员,华为的项目经理就CEO,要有责任心和使命感,承担对外代表企业,对内代表…

我从华为身上学到的项目管理经验 -- 需求篇

记录这三年,关于项目管理上的一些心得体会 – 需求篇 对于需求,我们可以根据不同的角色、理解拆分成三个过程: 简单来说就是: 需求分析原始需求、 需求拆分为系统需求、 需求实现为功能需求 ** 需求分析 **: 将…

华为内部经典项目管理体系

华为的项目管理是一种业务运作模式。华为“以项目为中心”的运作不仅仅是一组实践或工具,更是一套相对完整的管理体系,包括政策、规则、流程、方法和IT工具平台、组织运作和评价等要素。这些要素在项目管理实践中集成应用,并通过一套三层的管…

华为是如何从0到1打造以项目为中心运作的项目管理体系的?

本文介绍了华为公司打破传统的功能型组织结构,从弱矩阵项目管理向强矩阵转变的历程。 内容包括如何全面铺设项目管理组织,转向“以项目为中心”。同时,通过一系列的政策、标准和规定统一项目管理语言,建设项目管理流程体系。 其…

项目管理标杆和先驱——华为管理体系(PMP),一文看懂!

项目管理标杆和先驱——华为管理体系(PMP),一文看懂! 要说案例和模板,行业里的项目管理标杆和先驱必看华为! 一起来学习借鉴华为如何进行流程管理。 1.流程管理核心:流程要反映业务 流程要反…

一文掌握华为全过程项目管理的方法步骤和具体动作【墙裂推荐】

项目分析 识别最根本的问题或目标需求,是整个项目管理工作第一个需要完成的步骤。接手一个项目,我们首先要弄清楚这个项目的目标是什么,项目背后有哪些隐藏的需求,然后再来组建一支项目团队,进行项目分工和计划等工作…

一文真正读懂华为项目管理

1 项目关键是沟通 1998年华为花费巨资引进并优化了IBM公司的IPD集成管理模式,正式提出了“以客户需求为导向”的口号,明确了“了解客户需求—传递需求—依据市场需求准确定位创新”的流程,快速对市场做出反应,优化客户服务。如此&…

华为金典项目管理体系

华为的项目管理是一种业务运作模式。华为“以项目为中心”的运作不仅仅是一组实践或工具,更是一套相对完整的管理体系,包括政策、规则、流程、方法和IT工具平台、组织运作和评价等要素。 ​ 1、建设项目管理体系 华为的项目管理体系有效地支撑公司战略…

华为项目管理的方法和精髓是什么?

华为在项目团队管理的精髓可以简单总结为精细化管理与人性化管理相结合的双重效益。 由于华为公司的严格纪律和刻苦的工作风格,如果单单从收入水平和生活质量来衡量的话,可以肯定地说,华为员工的幸福指数是并不算太高的;但是因为华…

linux环境下gedit文本编辑器的安装以及使用

由于服务器是基于CentOS的,所以所有的下载命令应使用 yum -y,而不是apt-get 使用管理员身份下载gedit,使用命令:sudo yum -y install gedit 安装完成: 安装完成后就可以使用gedit 打开文档进行编辑里,之后有可能使用到…

linux系统操作gedit 运行c文件

关于通过在虚拟机上的linux 系统中运用gedit,运行gcc g 基本操作命令: 打开所运行c文件或c文件的操作: 打开终端:如图所示: gedit 其次输入cd /根目录/程序所在文件夹(cd和/中是个空格哦) 编译操作&a…

系统命令终端显示 “sudo: gedit:找不到命令” 以及“Command ‘rpm‘ not found, but can be installed with:apt i”的原因分析与解决方法

“sudo: gedit:找不到命令”的原因分析与解决方法 错误重现: 原因分析: 出现红色字段即sudo: gedit:找不到命令,是gedit文件包损坏所导致的找不到命令 解决方法: ①可以直接重装gedit文件包 sudo apt-…

dig命令(dig命令怎么用)

林肯公园digdeeper是哪首歌 出自专辑《Minutes to Midnight》 nslookup、dig和host这几个命令有什么作用? nslookup、dig和host 这几个命令在UNIX和linux系统中使用,都可以进行域名的解析?nslookup使用交互方式查询域名与IP地址的映射关系?dig的功能是发送域名查…

linux报错:Command ‘gedit‘ not found, but can be installed with/Gedit图形化文本编辑器的启动和关闭

1.任务:Gedit图形化文本编辑器的启动和关闭 2.步骤 3.任务需求 Gedit的启动和关闭 4.报错:Command ‘gedit’ not found, but can be installed with: 1.问题:使用命令gedit创建文件系统时报错:Command ‘gedit’ …

gedit 编辑器使用教程

在线课堂:https://www.100ask.net/index(课程观看) 论  坛:http://bbs.100ask.net/(学术答疑) 开 发 板:https://100ask.taobao.com/ (淘宝)      https://weid…

linux中的gedit配置

Linux迷首先申明,这篇教程不是给VIM控等命令行下的大神们看的,这是给新手们的见面礼,如果是你不是像Linux迷一样的菜鸟,请到其他地方溜达溜达,呵呵,这篇文章我还是和linux菜鸟们共勉吧。命令行下的文本编辑…

Linux系统-gedit的使用

使用之前我们先准备一段代码。#include #include intmain() { printf(“欢迎进入www.dotcpp.com编程网站!”); return0; } 1.Gedit 编辑器的使用过程 1)首先在Linux系统中打开terminal,也可直接在搜索框中搜索terminal。 2)在我们自己的用户目录…

Linux下gedit命令及vim的基本操作

1.gedit命令:图像的文本编辑器 gedit必须在开启图像后使用 (1)gedit #直接编辑文件,文件可以不存在 (2)gedit file #建立和编辑文件 2.vim命令:文本编辑器 (1)vim f…

后台@RequestParam接收参数,js中ajax怎么传参

注意:传的参数类型必须和后台定义的参数类型一致,否则会报400错误。 typepost : post提交 typeget: get提交 get和post提交的区别:get请求的参数会和url拼接起来,当参数较多时,会导致url过长。 所以:…

原生js实现ajax请求(带请求头header)和数据传参过程代码

一、Ajax 概述 Ajax 是 Asynchronous Javascript And XML 的简写 Ajax是一门技术,并不是一门语言 使用XHTMLCSS来标准化呈现 使用XML和XSLT进行数据交换及相关操作 使用XMLHttpRequest对象与Web服务器进行异步数据通信 使用Javascript操作Document Object Model进…