项目管理之高效合作

news2025/3/11 16:00:03


    一件事能不能做成,和你有什么关系?靠的是你的努力吗?还是说靠的只是一个运气?

    就像买彩票一样,你觉得中奖和个人努力有没有关系;就像和高考一样,你觉得考上北大清华和个人努力有没有关系?

项目管理之管人

    有个朋友说,如果想做成一件事,不得罪人是不可能的,每个人如果都想做好人,那这件事就不用做了。

    项目管理的目标是什么?是按时按质按量的交付产品,在限定的资源限定的成本限定的时间下进行交付。如果大家没有这个统一的目标,事情的进度将远远落后于制定的目标。

    A 在上文中,我们提到了开发者的三个缺点,一个是进度延误,承诺的功能无法按时上线;一个是bug修复的时间长,每次都不能在短时间进行修复;一个是极强的表演能力,甩锅能力一流。

看起来这些问题都不是主观而有之,不是故意的拖延进度,那么我们如果去解决呢,首先找当事人沟通,到底是什么样的原因导致的。例如,承诺的功能无法上线,而为什么要承诺?你猜他的内心是怎么想的?年轻的开发者有野心表演是好事,想在所有人的面前表现一把,从而即可承诺,并且大大压缩时间,但是没有考虑到自己的能力是否达到了这个要求,其实也从侧面提醒我们自己,在没有完全的把握面前,不要随意承诺时间,要用最快的时间,写一个demo,写一个mvp程序来验证方案,然后才能正式的承诺时间,否则,个人信用就慢慢的变成了一张烂纸,打上了一个不靠谱的标签。

BUG的修复时间长,其实也是一样的,开发者的能力不足,导致在写代码的时候,很多关键的日志没有打印,从而导致无法查询问题产生的原因,只能进行复现,同一个BUG,修复了三次,每次都是加日志,这种代码质量只能说,又不是不能用?

个人甩锅能力和表演能力,其实这是人之共性,而造成这样的原因,也可能和过往的经历有关,也有可能是我帮他们培养成了这种特性,因为这个项目出现的所有的问题我抗,这个项目出现的故障我都来背,所以他们无法感受到那种风险和压力,导致代码质量失控。

3fba957279b0e05456e5133cbf22a2db.png

碰到了这种开发者,你觉得是你的努力导致的吗?还是觉得是运气导致的?

这种事情碰到的多了,就在想,是不是要自己去写代码?时间和能力不允许,那是不是可以换人去写?无人可换,限定的资源。

那么就只能花费更多的时间在过程把控上,从而尽量确保结果是可以用的。首先,在任务分配的时候,讲清楚价值,背景,时间,功能,这个是为了让开发者理解我们为什么要做这个功能,然后再是讲述具体的实现方案,让开发者自己过一遍整体的逻辑,从而在脑海中,能大致形成一个代码的实现路径;然后代码提交测试后,尽量覆盖所有的场景,不断进行回归测试;最后,找一个经验比较足的大佬,进行代码指导,思路指导,保障开发的过程中出现问题能立即解决,例如,所有的操作全部加上日志,各种级别的日志,debug的,info的,应该告警的warn和error,监控图表的绘制。

做了那么多,你觉得可靠吗?不可靠,因为是一个表演者,从而需要评估风险,一个不能担当的开发者,那么产品就不能完全依赖这个组件,如果这个组件挂了,运维能做什么?如果这个组件出现问题,无法排查,运维能做什么?从而我们做了应急预案,如果出现BUG,直接卸载这个组件,手动进行系统组件的配置维护,其实我们就是做了两套方案,一套方案依赖组件的自动化,一套方案就是手动命令进行各种配置,去除依赖才是最好的依赖。。。又不是不能用?如何将低质量的代码造成的风险变得稍微可控一点,也就是去除依赖了。

其实如果时间没有那么紧张,我们可以培养这个开发者,而不是单纯的说换一个来解决问题。我想换个老婆,你觉得换一个老婆就能解决你当下的问题了么?并不能!!!

在进行处理和开发者的矛盾的时候,来回的回归测试的确让人很崩溃,但是要记住,不要扰乱了自己的心态,记住自己的目标,要确保这个事能按时按质按量的进行交付,否则出现问题都是自己的责任。

时时刻刻问问自己,我能做什么?我如何改变目前的困局?我还有什么办法来搞定这种事?

B 在上文我们提到了应用运维,主要负责业务迁移,那么就会和业务沟通,具体的配置,业务验证割接上线。

应用运维无法排期,说明他并不知道他自己需要做什么,到底怎么做,他很明确他的目标,但是他没有一个具体可实现的路径。我们能做的也是先去问问,到底是什么原因导致无法排期,例如说研发很忙,没办法配合,那么如果和研发说只要10分钟,能不能配合?那么如果是研发的老大说你去配合,那么他能不能配合?

应用运维,表面的积极,但是只想动嘴,不想动手,那么原因是什么?是因为怕抗风险,一切涉及到的生产都会有风险,那么我们是不是可以减少风险,提供迁移的步骤,详细说明,重要的关注点,回滚措施。还有一种就是,就是不想动,没有风险也要造出一些风险,那么我们是否能换个人来干?或者是我们自己来干?步骤能不能优化,提供简单而可靠的方式?

   应用运维在背后诋毁项目?其实当我知道这件事的时候,我啥都没做,一个项目有其存在的价值,好的产品应该是自己传播的,而不是靠区区几个人从而造成产品口碑的崩塌,但是最后其实也产生了一个困扰,例如有些研发不信任,要出具各种压测报告,需求承诺开发时间等,但是这也让项目更加正规。

d3d19dba1fe073edb17f8cbaceef9774.png

应用运维的资源比较好找,从而。。。我想换个老婆,你怎么知道下个老婆行不行。。。不知道,开盲盒吧,没准行呢???

换了个老婆,感觉生活得到了新生,那是真的释放出强大的生命力,不用管,事情就全部做完了,真的是很爽,别人做了6个月没做完的事,他两周搞定。

换人其实是下下策,只有没有办法了,才会去做,因为代价太大,要总监报备,要重新培训,要重新沟通,要重新确定时间,不同的人会挑战项目价值,会挑战项目难度,会挑战你行不行。。。男人怎么能说不行?

换老婆的时候,你能说,劳资就要她,至死不渝?自己选的,跪着也要做完。。。切,当初你的前任老婆也是这么说的。。。

 C 上文我们也说过了,附属依赖的一些问题,看看这个怎么玩

28cac21eb53cac59dc0799935426b515.png

    附属依赖,一般属于基础设施了,是强依赖,很难去除的依赖,听说你想换老婆,但是你老婆的背景很强,你是否有能力换?还是自己再去找个小妈妈?

理念之争,其实就很难了,每个人想法不同,很难统一,只能说达到共存,涉及到个人的包容和开放心,等有时间,或许可以去掉这种依赖。。。等?为什么要等。。。因为太忙了

当吃到的投诉太多,那就不是投诉了,可能也是一种赞美,可能也是对产品的诉求,但是无视的结果就是,如果碰到了不支持你项目的人,会造成致命打击,要很清楚的知道,哪些人会支持你的项目,尽量让更多的人支持你的项目。

魔法攻击,最容易搞心态,其实还是一句话,记住你的目标,你是来解决问题的,其他的都可以忽视的,重要的正轨是如何解决问题,其他的可以认为是娱乐。都是一群臭打工的,还学会了魔法攻击。。。哎哟,这个时候你不说换老婆啦。。。说一些话的时候,也反映了自己的心态喔,两种心态一种是强势,另外一种是假装弱势。

这种其实还是更多的从合作共荣的目标出发,将两个产品绑定,才能更好的发展,不然的话,依赖方要做的事情很多,例如换一个,代价会非常非常大,而且不一定有那么多的资源来做这个,可能是吃力不讨好。

疯言疯语

    碰到什么样的项目,碰到什么样的人,能做成什么样的事,你觉得靠的是你的努力吗?

    可能不止于努力,而更加取决于你的信念,如果你真想做成,那么就靠这个必须做完,无论是谁,都不能阻挡,其他的就是想如何解决问题,哪些资源我可以利用,有没有可以优化的地方,能不能更加可靠。

    会遇到不支持的,但是同样会遇到支持的,从而可以更加依赖支持的,从而做大做强,再创辉煌。没事干的时候,多反思一下自己,看看哪里还能做的更好。。。但是实际情况是,如果你还是根据原来的经验来,没有新的输入,其实这种反思,可能只是一种浪费时间。

    碰到了不如意的人,战况焦灼,你能在短时间内调动士气吗?然后一鼓作气拿下?

    有的风只能让落叶飞舞,有的风是龙卷风,不可抗拒。有的事情靠的是运气,有的事情靠的是人才。

    在一个项目中,你做了什么,带来了哪些改变?如果进度失控,质量失控,你能做出什么改变让一切在可控的范围内?没有一帆风顺的项目,不断解决问题才是常态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1056135.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IDEA git操作技巧大全,持续更新中

作者简介 目录 1.创建新项目 2.推拉代码 3.状态标识 5.cherry pick 6.revert 7.squash 8.版本回退 9.合并冲突 1.创建新项目 首先我们在GitHub上创建一个新的项目,然后将这个空项目拉到本地,在本地搭建起一个maven项目的骨架再推上去&#xff0…

两条链表相同位数相加[中等]

优质博文IT-BLOG-CN 一、题目 给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字0之外,这…

一文带你掌握 优先级队列

🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻强烈推荐优质专栏: 🍔🍟🌯C的世界(持续更新中) 🐻推荐专栏1: 🍔🍟🌯C语言初阶 🐻推荐专栏2: 🍔…

Leetcode.965 单值二叉树

本专栏内容为:leetcode刷题专栏,记录了leetcode热门题目以及重难点题目的详细记录 💓博主csdn个人主页:小小unicorn ⏩专栏分类:八大排序汇总 🚚代码仓库:小小unicorn的代码仓库🚚 &…

【算法练习Day9】用栈实现队列用队列实现栈

、​ ​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 用栈实现队列用队列实…

代码随想录算法训练营第五十一天 |309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费、总结

一、309.最佳买卖股票时机含冷冻期 题目链接/文章讲解:代码随想录 视频讲解:动态规划来决定最佳时机,这次有冷冻期!| LeetCode:309.买卖股票的最佳时机含冷冻期_哔哩哔哩_bilibili 思考: 1.确定dp数组&…

创建型设计模式 原型模式 建造者模式 创建者模式对比

创建型设计模式 单例 工厂模式 看这一篇就够了_软工菜鸡的博客-CSDN博客 4.3 原型模式 4.3.1 概述 用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象。 4.3.2 结构 原型模式包含如下角色: 抽象原型类:规定了…

FFmpeg 命令:从入门到精通 | ffmpeg 命令视频录制

FFmpeg 命令:从入门到精通 | ffmpeg 命令视频录制 FFmpeg 命令:从入门到精通 | ffmpeg 命令视频录制安装软件:Screen Capturer Recorder查看可用设备名字音视频录制录制视频(默认参数)录制声音(默认参数&am…

计算机竞赛 深度学习疲劳检测 驾驶行为检测 - python opencv cnn

文章目录 0 前言1 课题背景2 相关技术2.1 Dlib人脸识别库2.2 疲劳检测算法2.3 YOLOV5算法 3 效果展示3.1 眨眼3.2 打哈欠3.3 使用手机检测3.4 抽烟检测3.5 喝水检测 4 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习加…

AJAX--Express速成

一、基本概念 1、AJAX(Asynchronous JavaScript And XML),即为异步的JavaScript 和 XML。 2、异步的JavaScript 它可以异步地向服务器发送请求,在等待响应的过程中,不会阻塞当前页面。浏览器可以做自己的事情。直到成功获取响应后&#xf…

1558. 得到目标数组的最少函数调用次数

1558. 得到目标数组的最少函数调用次数 原题链接:完成情况:解题思路:参考代码: 原题链接: 1558. 得到目标数组的最少函数调用次数 https://leetcode.cn/problems/minimum-numbers-of-function-calls-to-make-target…

毛玻璃用户卡交互

效果展示 页面结构组成 从效果展示可以看到&#xff0c;此效果都是比较常规的。主要的核心就是卡片的悬停效果。 CSS 知识点 backdrop-filter 回顾transitiontransform 页面基础布局实现 <section><div class"container"><div class"card&q…

Academic accumulation|社会创业研究:过去的成就和未来的承诺

文献来源&#xff1a;Saebi T, Foss N J, Linder S. Social entrepreneurship research: Past achievements and future promises[J]. Journal of management, 2019, 45(1): 70-95. 一、文章介绍 &#xff08;一&#xff09;文章主要包含什么&#xff1f; SE越来越受到学术界的…

凉鞋的 Unity 笔记 104. 测试所涉及的窗口

104. 测试所涉及的窗口 在上一篇&#xff0c;笔者简单介绍了检视器窗口&#xff0c;如图所示&#xff1a; 我们接着介绍上图中的最后一个部分内容&#xff0c;测试部分。 测试部分我们只做了一件非常简单的操作&#xff0c;就是点击了一下运行按钮&#xff0c;查看结果&#…

【浅记】分而治之

归并排序 算法流程&#xff1a; 将数组A[1,n]排序问题分解为A[1,n/2]和A[n/21,n]排序问题递归解决子问题得到两个有序的子数组将两个子数组合并为一个有序数组 符合分而治之的思想&#xff1a; 分解原问题解决子问题合并问题解 递归式求解 递归树法 用树的形式表示抽象递…

JAVA面经整理(4)

一)Volitaile关键字的作用: volatile的使用:常常用于一写多读的情况下&#xff0c;解决内存可见性和指令重排序 JAVA内存的JMM模型:主要是用来屏蔽不同硬件和操作系统的内存访问差异的&#xff0c;在不同的硬件和不同的操作系统内存的访问是有差异的&#xff0c;这种差异会导致…

C. Best Binary String

题目&#xff1a;样例&#xff1a; 输入 4 ??01? 10100 1??10? 0?1?10?10输出 00011 10100 111101 011110010 思路&#xff1a; 根据题意&#xff0c; 题目意思是 ‘&#xff1f;’ 字符 该替换何值&#xff0c;使得原字符串&#xff0c;最少操作 翻转任意区间&#…

贪心算法+练习

正值国庆之际&#xff0c;祝愿祖国繁荣昌盛&#xff0c;祝愿朋友一生平安&#xff01;终身学习&#xff0c;奋斗不息&#xff01; 目录 1.贪心算法简介 2.贪心算法的特点 3.如何学习贪心算法 题目练习&#xff08;持续更新&#xff09; 1.柠檬水找零&#xff08;easy&…

QT:鼠标画线(双画布)

widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QPoint> //点 #include <QMouseEvent> //鼠标事件 #include <QPaintEvent> //绘图事件class Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent 0);~Wi…

论文笔记:TMN: Trajectory Matching Networks for PredictingSimilarity

2022 ICDE 1 intro 1.1 背景 轨迹相似度可以划分为&#xff1a; 非学习度量方法 通常是为一两个特定的轨迹距离度量设计的&#xff0c;因此不能与其他度量一起使用通常需要二次时间&#xff08;O(n^2)&#xff09;来计算轨迹之间的精确距离基于学习的度量方法 利用机器学习…