程序员是这样炼成的(8)-1+12

2024-02-15 11:38
文章标签 程序员 炼成

本文主要是介绍程序员是这样炼成的(8)-1+12,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        今天加班到10点才回家,最近整个项目组闹闹哄哄的,原因是出现了不水产的声音。原本的安排的是 A,B两组人分别完成两个项目,却因为开始工作任务分配的不合理,终于惹出了麻烦。


        A组的任务是:做一个客户的项目,计划是6月份完成,人员投入工作量60%。
        B组的任务是:开发出一个平台,用来支持一系列A组未来的客户项目,计划是8月份或者更晚完成,开发出来的平台未来给A组使用和维护。人员投入工作量为90%.我们可以理解成,A组的项目算是B组的平台的一个子集。


        但是因为开前一段时候B组的项目经理不够给力,结果A组的项目进度远远跑到前面去了,构思设计都成套的出台了,B组没有一点起色。B组的惰性思想开始作怪,一直followA组的设计和创意。A组开始的时候也很乐意为B组提供支持和帮助,希望自己未来的使用的开发平台软件可以更完善。希望B组在自己开发的已有的功能的基础上完善其它功能,完成一个稳定的平台软件,方便A组以后使用。就这样两个项目组就走到一块,相互之间都还比较融洽。但是好景不长,突然在这个周一矛盾爆发,导火索是:B组决定用另外的编程语言重新沿着A组开辟的道路再实现一次,完成自己的任务。A组共同开发的愿望破灭,之前为B组支持和培训的时间流失。而且A组投诉B组完全是拿公司的资源在浪费。


公司现在面临的选择有四:
1.让A、B组继续完成开始计划的已经开发的任务,都不需要多管事。楚河和汉界给两组画清楚。
潜在风险可能是有:

(1).公司的程序员开发有重叠,会给公司带来冗余的工作量。
(2)A组程序员以后面对同类项目,可能更喜欢在自己原有的项目上修改满足新的需求,B组开发出来的平台可能会脱离需求,可能会没有使用者,开发的平台A组不会接受。


2.A组停止现有的项目,跟B组一起开发平台,在开发的平台过程中,完成A组的项目,接着两组人一起完成B组的任务。
我比较支持这种,但是潜在的风险是:

(1)B组项目经理的坚决反对。B组的地盘B组做主。
(2)如果A组和B组谁来统一管理?A组长orB组长。A的积极性是否会受挫?
(3) A组的精力会被平台项目花费,如果B组可以发力,迎头赶上双赢的结局是最后,如果A组被B组拖住了后退,项目延期,客户那边就交代不过去了。


3.A组开发完成现有项目,继续开发平台,反正A组以后自己也要使用。B组人员调离,开始其他的项目。
潜在风险:

(1)本来两个组的任务压到一个组的身上,A组的队员能否承担重任?
(2)B组的士气如何恢复?


4.让 B组的人员回到共同的开发的道路上去。公司不需要两套平台。
这个问题要是作为一道项目管理的题目应该非常不错,之所以我在这里提及,是因为我觉得我们在日常的项目开发中也会遇到诸多不可调和的矛盾,不可能让所有的同事都按照你的思路去开发。我们应该学会如何面对。聪明的你如何你是:A组或者B组的一员,你会怎么做呢?如果你是项目管理者你又会怎么做呢?


        哎~这件事的前因后果大概如此,种什么因得什么果。最开始给A组和B组的任务分派就有问题,现在从一个错误的起点去寻找一个正确的答案真难。


        我的想法和选择,肯定不是最好的,不过还是要和大家分享下, 24小时前,我的观点一直是支持第4种选择,既然A+B度过了一段蜜月期~不然让他们把蜜月进行到底。但是A、B项目经理水火不容,就像两头牛拉不到一个方向去,多次交涉也无果。经过星期一的论战后,现在我的观点变了,将错就错吧,我支持第3种选择的改进版本,A组开发完成现有项目,然后继续A组认为正确的,开发平台,反正A组以后自己也要使用,不如让他们放手去干一场。B组人员暂时不调离,仍然他们自己的开发平台项目。就像革命时期,老毛说要北上抗日,老张说要南下救国,两支革命军走不到一块去,那就各自为战吧,谁最后成功了,谁就是胜利者。对公司而言这样下去的结果是,无论A组最后的平台出不出的来,A,B的项目都按时的完成不了,都是无法找到任何借口和理由的,如果都完成了,那么基本的要求是达到了。如果运气好,A组争气 最后还可能意外的收获了两个软件平台,我们还可以从中选择最好的一个。两个组既然喜欢在技术上比武,我们这些和事老也别劝了~那就让他们是骡子是马都拖出来看看。顺便刺激一下B组的积极性,落后就要挨打,是千古不变的道理,要是B组真的败了,也锻炼了开发队伍,也可以正好找个理由整顿,何乐不为之。A组最后的平台要是落选,他们肯定也是输的心服口服。 从结果来看公司层面是可以接受的,再看看时间方面,A组6月完成计划项目后,继续开发平台所花费的时间是公司额外需要支付的开发成本。但是既然双方都叫上劲了,我觉的A、B两组的实际开发时间要比预计要少一个或者半个月。也就是说从时间上来说,公司的资源浪费也不会大。还有可能会比以前短。


        在我们平日的开发过程中,这样的事情,我相信会经常遇到,我觉得大家有必要多从公司层面去思考问题,做为一名技术人员,不要太多的在乎自己的得失,功劳,项目组长,项目经理,这些挂名的都是虚的。首先要考虑的是,我们能给公司带来什么?能给我们的团队带来什么,我个人有能学到什么。其实今天我遇到的这件真实的事情,从项目计划,到启动,到监控,每个环节都有人在犯错。如何团结队伍,节约资源,让每一位同事在项目有所收获,就是在挽救程序员的青春和生命,如何实现1+1>2是我们在日常工作中,任务分工,为人处事应该懂的道理。

这篇关于程序员是这样炼成的(8)-1+12的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/711286

相关文章

LabVIEW程序员是怎样成长为大佬

成为一名LabVIEW编程领域的“大佬”需要时间、实践、学习和解决复杂问题的经验。尽管LabVIEW作为一种图形化编程语言在初期可能相对容易上手,但要真正成为精通者,需要在多个层面上深入理解。以下是LabVIEW程序员如何逐步成长为“大佬”的路径: 1. 打好基础 LabVIEW的大佬们通常在初期会打下非常坚实的基础,理解LabVIEW编程的核心概念,包括: 数据流编程模型:Lab

程序员必备心理学——心流

心理学之心流 前言一、“心流”是什么?二、心流的好处二、如何进入心流心流状态的四个阶段第一个阶段:挣扎第二个阶段:放松第三个阶段:心流第四个阶段:巩固 进入心流的技巧 总结题外话 前言 你是否常常感觉自己明明学习了一整天,但是就是感觉没有太多的收获。这个时候除了你的学习方向等问题之外,也可能是你的学习方法太低效了。作者本人就经常有这种情况,好在偶然间在b站刷到一个大佬的这个心

程序员都在使用的画图工具

大家好,我是袁庭新。 程序员都在使用的画图工具,你一定没用过这款画图工具吧!我教程中的架构图都是用它来画的。 比如我编写的RDB工作原理图就是用draw.io绘制的,如下图所示: 再例如Redis集群故障恢复原理图我也是通过draw.io工具绘制的,如下图所示: 是不是觉得draw.io绘制的图形特别简洁、美观。它的官网是: https://www.drawio.com dra

GitHub:代码是程序员沟通最直接的手段

如果不是 Andreessen horowitz 的投资,估计 GitHub 很难被福布斯、CNN、纽约时报等传统媒体注意到。普通大众之前不了解这个工具,是因为它距离记者的世界太远了——GitHub 是一个程序员所使用的托管项目的服务。 但在一些程序员眼里,它不仅是托管项目的地方,还是“开源”项目的大本营,而且是提高程序员“技术水平”和“技术品味”的地方,更是一个程序员社交的地方。

黑马程序员---银行业务调度系统

模拟实现银行业务调度系统逻辑 需求分析: 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。 有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。 异步随机生成各种类型的客户,生成各类型用户的概率比例为:         VIP客户 :普通客户 :快速客户 =  1:6:3。 客户办理业务所

黑马程序员---空中网面试题

空中网4k/5k月薪挑选大四实习生的线程题     两年前,我们一个大四的学员去应聘空中网的实习生职位,空中网只给他出了三道线程题,拿回家做两天后再去给经理讲解,如果前两题做好了给4k月薪,第三道题也做出来的话就给5k的月薪。这样的实习薪水和招聘要求,不需要有工作经验的限制,纯粹是技术功底的比拼和考核,而不像许多其他公司非要招两年工作经验的人,逼得那些刚毕业和未毕业的大学生不得不去撒谎,不得不去做

黑马程序员---线程并发库

软件包 java.util.concurrent 在并发编程中很常用的实用工具类。 请参见:            描述 接口摘要BlockingDeque<E>支持两个附加操作的 Queue,这两个操作是:获取元素时等待双端队列变为非空;存储元素时等待双端队列中的空间变得可用。BlockingQueue<E>支持两个附加操作的 Queue,这两个操作是:获取元素时等待队列变为非空,以及

黑马程序员---多线程

TraditionalTread 传统线程技术回顾 创建线程的两种方式: thread3中,同时创建了Thread的子类和Runnable,那么会优先执行Thread的子类,因为Runnable的代码被当做参数传到了Thread类里,Thread子类的run方法又覆盖了父类的方法,所以会执行Thread子类的代码。 package cn.itcast.heima;public class T

黑马程序员---代理

分析代理类的作用与原理及AOP的概念 代理的概念与作用  1.已经写好一个类,现在要为这个类增加一些功能,例如,异常处理、日志、计算方法的运行时间、事务管理、等等,你准备如何做? 现在我们写一个代理类: 保持了原来那个类的功能,又增加了你现在需要的功能。 主函数调用的时候,直接调用代理类就行了。 这就是代理类的功能。   2.编写一个与目标类具有相同接口的代理类,代理

黑马程序员---类加载器

------- android培训、java培训、期待与您交流! ----------   简要介绍什么是类加载器和类加载器的作用 Java虚拟机中可以安装多个类加载器,系统默认三个主要类加载器,每个类负责加载特定位置的类:BootStrap,ExtClassLoader,AppClassLoader   类加载器也是Java类,因为其他是java类的类加载器本身也要被