【IoT】项目管理:如何做好端到端的项目管理?
今天主要来谈谈项目管理这个话题。
首先来看一个我在网络上看到的一个关于项目管理的案例或者是段子。
将项目管理的作用及意义非常直观地展示了出来。
有一个植树搞绿化的企业,在公司内部设置有五个部门,分别是:
- 运输部门;
- 挖坑部门;
- 植树部门;
- 封土部门;
- 浇水部门。
在植树节前,公司总经理把各部门负责人召集在一起,召开了植树项目动员大会,要求各部门紧密配合把这个项目高质量完成。
各部门经理回到部门后,又分别把任务分配给了部门中的小赵、小钱、小孙、小李、小周,也就是说在植树项目中:
- 小赵的职责是负责运输;
- 小钱的职责是负责挖坑;
- 小孙的职责是负责植树;
- 小李的职责是负责封土;
- 小周职责是负责浇水。
在植树项目现场,虽然部门之间人员配合存在着这样或那样的问题,如:
- 小孙抱怨挖的树坑太浅影响了植树;
- 或者植树的小孙没有把树放直;
- 封土的小李对植树的质量不满意,爆发了诸如此类的各种问题。
但大家最终还是能够配合起来,项目能够缓慢向前推进直至结束。
几个月后,公司发现所种的树大面积枯萎死去,把死去的树拔出来后发现,树根上包的塑料布没有被去掉,树根最终因为吸收不到足够的水分而死亡。
出了这么大的问题,公司要追究责任,为什么花了那么大的人力、物力、财力,种的树还没有成活?
企业开始实施项目复盘,复盘是指企业在项目中后期通过回溯的方式,总结成功经验或失败教训,为以后项目运作提供借鉴,防止以后项目再发生类似问题。
在项目复盘会议上,各负责人陈述了职责与实际工作情况:
- 负责运输的小赵说辛苦地把树从购买地运到了植树现场,摆放得很整齐;
- 小钱说我的职责是负责挖坑,我把坑挖得又圆又深,质量合格,出了这种事我没有责任;
- 小孙说我的职责是植树,我负责把树在坑中立得直直的;
- 小李说我按要求把土封上了,而且还用力踩上几脚,出了这种情况我没有责任;
- 轮到小周发言了,他说我的职责是浇水,我已经按照要求浇了水,出了这种事我也没有责任。
植树现场的每个人都没有问题,但结果是树没有成活。
在企业项目过程中,类似的现象也时有发生,项目结果是失败的,但各个部门都能够把自己成功“洗白”。
就上面植树的案例而言,往常情况下,运到现场的树没有包裹塑料膜,所以在以往的部门职责中,也没有明确要求哪个部门要把塑料膜解下来。
因此,各个部门按照原来定义的各自清晰的职责去种树,树是种上了,但由于塑料膜的原因,成活率大打折扣。
项目管理是“端到端”的管理,在起点就要明确终点的目标。
例如,种树的终点目标是把树种下去、并且要成活。
“端到端”管理的对立面是“段与段”,所谓“段与段”就是马路警察,各管一段,虽然每段都不错,但结果就是有问题。
项目管理端到端的思想就是要指定端到端的项目管理人员,而不仅仅是指定段与段的负责人。
就上面的种树,如果公司以项目管理模式管理此事,就会指定一个种树的项目经理,这个项目经理就是“端到端”管理者。
其重要目标是种上树、并保证树的成活率,而且会作为一项绩效管理目标,甚至作为对其绩效管理的依据。
在项目实施过程中,由于项目是创新性的活动,就会出现这样或那样不可预知的现象,因为项目经理的职责是保证项目最终目标实现。
作为端到端管理者,项目经理在项目现场,会根据项目现场出现的新情况进行管理和决策,直至最终目标实现。
优秀项目管理的标准首先是一定可以高效地协调各方资源。
并且是反馈及时、调整迅速的,这句话是什么意思呢?
一提到项目管理,一般会涉及到多方的管理,比如研发、产品、生产、采购等不同部门的协调。
及时反馈,以及出问题后的迅速调整就显得尤为重要。
以我个人的经历为例,在以往产品从试产转量产之后,我一般都会将产品的生产控制权交给PMC负责,我个人就会去负责新项目。
这里的PMC一般负责统筹生产事宜,类似于产品开发过程中的项目经理角色。
这个时候问题就出现了,由于生产工厂是异地的,PMC通过远程遥控来管理生产。
同时,由于PMC对于前期的试产细节、技术细节等了解不够深入,这就导致PMC获取信息时就会出现偏差。
最终导致输出的信息就完全对不上了,管理上也随即陷入混乱,导致一些关键时间点的严重延期。
继续回到项目管理上来。
优秀的项目管理可以做到让参与各方在整个项目过程中张弛有序、愉快合作,最终实现产品项目的效益最大化。
那什么是项目呢?
首先,项目是一项临时性的任务。
这项任务的目的是向客户提供独特的产品或服务。
项目有两个重要的特点:
第一,项目是一次性的活动,项目有明确的开始和结束日期;
另一个显著的特点是独特性的活动。
交付的结果是独特的,所以其过程中需要创新性的活动来保证交付这个独特性的结果。
因此:
- 修建一栋楼房是项目;
- 开发一个新产品是项目;
- 植树也是一个项目。
通过有效的项目管理,你将获得更多的时间和更少的花费。
产品开发项目不能孤立地被优化,这些项目在资源方面往往会存在着依赖关系,也可能共享可以降低成本的协同效应。
而项目管理是指在企业有限的资源下,通过项目经理和项目团队的共同努力,运用系统的理论和方法,对项目所涉及的全部工作进行有效的管理。
项目管理是一项技能,用于管理项目以及项目之间的联系,以优化整个项目。
也就是说,在整个项目生命周期内进行计划、组织、指挥、协调、控制和评价等管理活动,以实现项目的目标。
确定谁在跨职能团队的项目中做什么是非常基本的。
具有明确职责和截止日期的明确任务是项目管理的 101,101是指百里挑一的意思。
这里推荐给大家一个圆点图工具。
圆点图是对 RACI 图的优化,是矩阵框架中的一组相互连接的圆圈。
那什么是RACI图呢?
RACI 包含四方面的内容:
- 谁负责(R = Responsible),即负责执行任务的角色,该角色具体负责操控项目、解决问题;
- 谁批准(A = Accountable),即对任务负全责的角色,只有经他同意或签署之后,项目才能得以进行;
- 咨询谁(C = Consulted),拥有完成项目所需的信息或能力的人员;
- 通知谁 (I =Informed),即拥有特权、应及时被通知结果的人员,却不必向他咨询、征求意见。
分清谁在项目中做什么是最基本的要求,明确的任务、明确的职责和截止日期,是项目管理的基础。
RACI 图表有助于定义哪些角色是负责人、咨询人和知情人。
随着项目开发复杂性的增加,创建一个清晰的图表,标明谁负责什么。
这有助于防止任何类型的项目失败,如,开发、设计、IT、人力资源或变更管理。
什么是圆点图呢?
可以看这张图表。
在横轴上标识关键可交付成果,在纵轴上标识关键角色。
绿色圆圈表示活动涉及某个职能,而深蓝色圆圈表示给定可交付成果的直接责任人 (DRI)。

优点:
- 提供角色和职责的清晰可视化表示;
- 通过澄清谁做什么来帮助防止错过可交付成果;
- 防止因两个人在同一任务上工作而浪费资源;
- 帮助团队在项目开始时就角色职责达成共识。
创建圆点图的步骤:
- 项目经理填写图表的草稿;
- 与团队举行了一次审查会议;
- 团队从项目计划中确定关键任务(大约 5-15 个),并将它们按时间顺序放在图表顶部;
- 团队列出负责交付流程的关键职能,重要的是要将参与任务与交付任务的责任区分开;
- 用空心圆圈表示参与特定任务的任何功能组,用实心圆圈表示最终负责完成任务的一个功能组;
- 所有任务都必须有一名且只有一名直接负责人 (DRI)。
团队应在计划的早期审查圆点图,在审查会议结束时,职能代表签署他们的各种任务。
将此文档存储在项目团队文件库中,以便于访问和查看。
当关键任务即将到期时,可以快速查看谁负责交付这些任务。
最重要的是,这是一份动态文档,如果职责发生变化,你必须更新图表以反映这些变化。
该图表的最大价值在于团队讨论,并就可交付成果以及由谁负责的审查会议。
你需要根据项目大小或类型,修改工具以匹配手头任务的范围。
对于大型项目,你可以有两个级别的圆点图,一个是整体级别,其他几个子系统级别。
例如,一个大型软件平台项目可能总共有四个圆点图:
- 三个二级图表,涵盖网络、客户端和设备;
- 一个涵盖整个项目。
有时需要更加明确任务和角色,在这种情况下,只有不参与、参与和负责三个级别是不够的,你可能需要添加其他角色,例如,批准和咨询。
项目管理的成功不等于产品的成功,项目管理的成功表现在进度满足要求,开发费用降低,企业获得了必要的知识、经验。
但对于产品开发项目来说,最终的目标是实现产品的市场成功、财务成功。
相关文章:
【IoT】项目管理:如何做好端到端的项目管理?
今天主要来谈谈项目管理这个话题。 首先来看一个我在网络上看到的一个关于项目管理的案例或者是段子。 将项目管理的作用及意义非常直观地展示了出来。 有一个植树搞绿化的企业,在公司内部设置有五个部门,分别是: 运输部门;挖坑部…...
渲染十万条数据就把你难住了?不存在的!
虚拟列表的使用场景如果我想要在网页中放大量的列表项,纯渲染的话,对于浏览器性能将会是个极大的挑战,会造成滚动卡顿,整体体验非常不好,主要有以下问题:页面等待时间极长,用户体验差CPU计算能力…...
编程学习的心路历程和困惑回顾
回首入行9年的经历,从大一开始学习C语言和数据结构,老师一直是在用IDE演示程序的编写和运行,我们也就一直在跟黑乎乎的命令行窗口打交道。 后来在一些课程的实验环节,接触到了一些别人编写好的工程代码,知道了Makefile…...
请介绍类加载过程,什么是双亲委派模型?
第23讲 | 请介绍类加载过程,什么是双亲委派模型? Java 通过引入字节码和 JVM 机制,提供了强大的跨平台能力,理解 Java 的类加载机制是深入 Java 开发的必要条件,也是个面试考察热点。 今天我要问你的问题是࿰…...
Navisworks编辑材质和Revit快速切换材质问题
一、如何在Navisworks2016中编辑材质 初次使用NW2016-2017时发现,原来用于创建编辑材质的小地球不见了,如图1所示,在各大技术群里求助没有回应,度娘搜索也总是摇头。 经过仔细排查可能出现的地方,终于找到了可以编辑材…...
Object对象键值的输出循序到底如何排列的?
1.日常摸鱼看八股 今天又是复习八股文的一天,发现还是彻底懂得原理才好和面试官吹牛批呀。 接着来看看我chat大宝贝的回答: 在现代浏览器中,Object 对象的键值输出循序是比较稳定的,通常是按照如下顺序输出: 所有的数…...
气泡式水位计的安装方法详解
气泡水位计的安装实际上就是气管的安装,气管的安装是否正确将直接影响到仪器测量数据的结果,气泡水位计它由活塞泵产生的压缩空气流经测量管和气泡室,进入被测的水体中,测量管中的静压力与气泡室上的水位高度成正比。那么接下来就…...
求“二维随机变量的期望E(X)与方差D(X)”例题(一)
离散型 设随机变量(X,Y)的联合分布律为 X\Y0100.10.210.30.4 (1)求E(X) 先求x的边缘分布律,表格里x0的概率为0.10.2,于是我们可得 X01P0.30.7直接求E(X)即可,得到结果 (2)求E(XY) 直接x与y相乘就行。 记得别乘多了,别的算了又…...
MySQL 搞定行转列,列转行
行转列方法总结1、使用case…when…then2、使用SUM(IF()) 生成列3、使用SUM(IF()) 生成列 WITH ROLLUP 生成汇总行4、使用SUM(IF()) 生成列 UNION 生成汇总行,并利用 IFNULL将汇总行标题显示为 Total5、使用SUM(IF()) 生成列,直接生成汇总结果,不再利用…...
正点原子裸机开发之C语言点灯程序
一. 简介 本文针对 IMX6ULL 的裸机开发的(即不带Linux操作系统的开发)。 主要分两部分的工作: 1. 配置 C语言运行环境 2. C 语言编写及运行 二. 配置C语言运行环境 配置 C 语言运行环境的工作分 三部分。如下: 1. 设置…...
cv::阈值分割OTUS原理+代码
opencv库的阈值分割分为全局分割和局部分割全局分割:普通分割ret1,th1 cv2.threshold(img,127, 255, cv2.THRESH_BINARY) #127为阈值 #cv2.THRESH_BINARY |cv2.THRESH_BINARY_INV | cv2.THRESH_TRUNC|cv2.THRESH_TOZERO|cv2.THRESH_TOZERO_INV局部分割:…...
Postgresql-12.5 visual studio-2022 windows 添加pg工程并调试
pg内核学习,记录一下 文章目录安装包编译安装VS添加Postgresql工程调试源码安装包 (1)perl下载 https://www.perl.org/get.html (2)diff下载 http://gnuwin32.sourceforge.net/packages/diffutils.htm (…...
长沙学院2023 第一次蓝桥训练题解
每道题都在洛谷上,每个题都有很详细的题解,可以先自行做,不会再看题解。 题目解析思路都写在代码中,中文题面就不单独解释题意了。 P2440 木材加工(二分答案) 链接:P2440 木材加工 解析 代码…...
云端Docker搭建ABY库以及本地CLion使用
文章目录ABY的搭建以及使用前言ABY库的下载、安装及测试CLion配置后续杂项项目改名使用其他的库最后ABY的搭建以及使用 前言 仅做记录,仅供参考,不同人有不同的使用方式命令手敲,可能有错,自己辨识勿问,我懂的也不多…...
ES6-箭头函数、解构赋值、对象简写
箭头函数特点 1、 (只有1个形参) 可以省略() 2、 {} 可以省略 只有一句代码 或 只有返回值的时候,省略return 3、arguments 不可用,arguments在没有形参的时候可以拿到调用函数拿在的实参 获取伪数组通过Array.from转为真数组。 4、 箭头函数没有this, …...
【CSS】CSS 背景设置 ② ( 背景位置 | 背景位置-方位值设置 )
文章目录一、背景位置1、语法说明2、注意事项二、背景位置-方位值设置1、效果展示2、完整代码示例一、背景位置 1、语法说明 如果 盒子的大小 大于 背景图片的大小 , 默认的 图片 位置是 左上角 ; 设置背景位置的 CSS 语法如下 : background-position : length length backgro…...
HTML 扫盲
✏️作者:银河罐头 📋系列专栏:JavaEE 🌲“种一棵树最好的时间是十年前,其次是现在” 目录前言HTML 结构快速生成代码框架HTML 常见标签注释标签标题标签: h1-h6段落标签:p换行标签:br格式化标签…...
项目中用到的责任链模式
目录 1.什么是责任链?它的原理是什么? 2.应用场景 3.项目中的应用 传送门:策略模式,工作中你用上了吗? 1.什么是责任链?它的原理是什么? 将请求的发送和接收解耦,让多个接收对象…...
C++复习笔记--STL的string容器和vector容器
1--string容器string 本质上是一个类,其不同于指针 char*,string 类的内部封装了 char*,用于管理字符串,是一个 char* 型的容器;1-1--string构造函数string 的构造函数原型:string(); // 创建一个空的字符串…...
第一章 软件项目管理概述
项目(Project)是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力。项目的特征PMBOK(A guide to the Project management Body Of Knowledge:项目管理知识体系指南)五大过程组和十大知识领域从时间角度出发,项目管理分为五大过程组:启动…...
《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
uniapp 小程序 学习(一)
利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 :开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置,将微信开发者工具放入到Hbuilder中, 打开后出现 如下 bug 解…...
