如何向pipe理层certificate,平庸的开发者正在伤害团队
我处于“pipe理”一个小公司的开发团队的危险境地。 我说“pipe理”,因为虽然我分配工作,并提供他们的performance反馈,我实际上没有惩罚个人的追索权。
我的一些团队我不知道该怎么做,他们无法独立工作,需要大量的手持,一般情况下通常会给项目造成严重的破坏。 当失败发生的时候,我会留下来挽救这个项目,并把它推到终点线上(有时是一瘸一拐的)。
这些开发人员不仅缺乏编程概念的技能,而且通常还有能力为代码中的问题制定解决scheme。 简单的事情,比如编写循环对于他们来说很难,更不用说devise和实现一个问题的解决scheme。
我们尝试了结对编程,提供课程付款,购买书籍,在工作日内分配时间进行培训,甚至花费整整一天的时间来培训团队。
另一位高级开发人员和我不知道该怎么做,但是我们的日常生产力却因为不得不面对这些人而受到限制。 pipe理迫使我们给他们工作,他们主要的抱怨是事情没有做得很快。
我们的pipe理团队没有一个直接与除我和其他高级开发人员以外的任何开发人员合作。 pipe理是非技术性的,相信每个开发者都是平等创造的,而且我们显然需要更多的人来完成这些项目,以使他们更快地完成任务。
我已经准备了一个文件,内容是“神话人月”和“代码完整”部分,发送给pipe理层,希望能够用统计数字说明,真正阻碍我们的是拖拽平庸的人在整个开发周期。
还有哪些其他资源? 书籍,文章,一般build议任何东西都会有所帮助。
问题是由于缺乏技能或能力,程序员的态度问题,还是源于不能促进良好职业道德的企业文化?
如果是技能,你已经知道有一些你不能教的东西。 如果公司愿意(看起来是这样),并且可以改善,我会加强培训,看看哪些开发商能够迎头赶上。 那些不是你的人将不得不放手。 除非你知道你会放弃现有的一些,否则我不会雇用更多的开发人员。
如果程序员的懒惰或其他态度问题,你将不得不说服你的pipe理层支持你的纪律处分。 如Scott Vercuski所述,logging所有问题。 逐渐淘汰那些不能上来的程序员。 让其余的程序员知道,他们希望学习好的编程技术和最佳实践,并使用它们。
有代码审查,如果你还没有这样做。 有足够的资源解释如何正确地做到这一点。 他们不应该大声疾呼,而应该将其视为战略会议来产生预期的结果。 讨论代码。 如何改进? 如有必要,在评论中写一些新的代码。
如果pipe理是问题,告诉他们他们是问题,并告诉他们如何解决问题。 但你一定是雄辩的,有说服力的。 你一定是他们的倡导者。 写一篇关于这个问题的文章。 做一个演示文稿,并显示它。 呼吁盈利动机。
最后,成为你的人最好的领导者,你可以。 帮助他们。 保持畅通,以便他们能够完成工作。 你工作的一部分是保护你的员工不受高层pipe理人员的政治影响,保持一个体面的工作环境,使他们能专注于做最好的工作。 换句话说,确保你的员工可以信任你。
有趣的是没有人告诉过你,也许你缺乏pipe理技能。
有一次,我结束了与一年半培训后无法编码循环的人一起工作。 我训练他们,直到他们能够使用一个完整的functionWeb框架,并且只用了一个月。
也许你应该接受培训。
也许你应该阅读关于你的报告。
我不是说攻击你。 一点也不。 我非常了解这个问题,因为我以前也没有pipe理好球队。
但是不要躲避球,不pipe你在自己的生活中阅读了多less好的练习文献,你主要负责你团队发生的事情。
在这种情况下,停止抱怨并开始工作。 不是作为一名编码员,而是一名经理。
最后,我可能是错的。 也许你做得对。 在这种情况下,你可以,也可能应该辞职。 不pipe你有多强大,试图防止飞机撞击而移动你的手是无用的。 有很多休闲队会用你的技能来创造奇迹,使自己的最好的。
文档是你最大的资源……我的一位老经理告诉我:“如果你不把它写下来,那不会发生。” 如果你的开发人员给你一个完成任务所需时间的书面估计,并且不断地(严重地)错过那些最后期限,那么它应该被logging下来。
你有什么计时系统? 还是开发者logging他们的时间? 如果他们声明一个问题需要X天,而X天之后还没有完成,你可以质疑为什么没有完成。
重申…文件是关键,如果你突然终止某人,而你没有足够的文件certificate你可以进入诉讼领域的理由。 你拥有的文件越多,pipe理层就应该很清楚地看到初级开发商不会减重,应该更换。
祝你好运,恐怕你走在一条非常崎岖的道路上,虽然我去过那里,这是一个漫长的过程。
我以前一直在这种情况下,当然可以同情。 我所做的是削减一个小型的,独立的任务,这个任务应该让我或者其他高级开发人员不超过2天左右。 对于这个任务,我会创build大量的文档来识别解决scheme应该如何实现,数据库的变化等。然后,我会和开发人员坐下来,给他们一个高层次的任务演练,并分配给他们截止date为1周。 在本周结束时,你有一些有形的东西,你可以比较他们的工作:他们是否符合规范? 他们做得如何? QA发现了多less错误? 他们是否以任何方式打破了build立或者中断的过程?
一旦完成,假设他们失败了,你就直接和他们会面,解释他们不履行职责。 做一两次相同的事情,只要你logging和沟通链条,你应该能够推出它们。 这可能是苛刻的,但听起来你需要人们加强,而你却没有合适的人去做。
另外,请确保你参加面试的新候选人。
我的build议是这样的:
如果你是一名经理,那么你必须拥有与你的责任一致的权利。 这些权利包括在你之下的人的纪律。 如果高层pipe理人员拒绝给予您这些权利,拒绝承担责任。
你不一定非要对你的主pipe那么严厉,但这是必然发生的事情。
我的build议是实施一个错误跟踪器和分配任务。 这将显示团队中任何人的生产力。 我们第一次使用它,我们实现了组织团队,并衡量我们在任务上花费的时间。 我喜欢的事情之一是,当有人分配任务时,它发送一封电子邮件给工作人员,一份副本给其他人检查任务。
顺便说一句,我们使用了BugTracker.Net 。
我不知道这些人是如何进入公司的:
这些开发人员不仅缺乏编程概念的技能,而且一般也有能力为代码中的问题制定解决scheme。
简单的事情,如写循环,对他们来说很难…
毫无疑问,企业需要在招聘劳动力方面投入更多的时间和精力,正如那句老话:快速造成浪费。
现在,一旦你处于这种情况,就像你所描述的那样,完成你的报告(正如别人所暗示的那样),简明扼要地强调这会给公司造成多less金钱,提交并等待最好的结果(正如你所说的“没有实际上是在惩罚一个人“)。
我前一段时间阅读了这个内容,鼓励程序员想要成为最好的。
书呆子
你提到你的团队你“提供他们的performance反馈”。
所以:
- 坐下来与你的团队。
- 把他们打印出来的这个页面,告诉他们你把它贴出来。
- 让他们读它。
- 请他们帮助你解决问题。
- 听着写下来。
- 把这个交给你的pipe理团队。
Peopleware是另一本应该join你的清单的书。
然而,当我读到这本书时,我并不觉得这是实际的,因为公司里没有人想要尝试它的build议。
听起来你是正确的。
如果你向他们展示数字很难,他们会看到更清晰的事情 – 创build一个编码,分配给几个不同的程序员,由他们自己来完成。 让它自己testing。
保持每个人花多长时间的细节,代码产生多less缺陷。
向高层pipe理人员展示这些数字,他们现在应该被说服了。
书
代码完成:一个实用的软件build设手册由史蒂夫麦康奈尔
是一个很好的来源,可以帮助学习最佳实践。
要求每个开发者阅读和学习这个讨论可能会有所帮助,但最重要的是量化结果。 拿你自己和团队的其他成员的薪水,然后计算你有多less额外的时间,你必须花费修复其他错误,开发人员搞乱了开始的额外成本。
然后展示一个更好的开发者团队如何提高投资回报率。
保持报告简洁。 不要让它罗嗦。 把它在这一个失去了多less钱。
我们现在有一个工具来衡量代码模块的复杂性。 它运行在我们的PL / SQL模块上,但我相信在其他环境中也有可用的工具。
整个过程都有不同的部分,但是当我们的几个关键模块被标记为“不可testing”的时候,对于pipe理层来说是相当让人大开眼界的。
我们结合了一个有助于突出重复function的图像分析工具,并将其作为对“技术债务”的评估进行打包。
正如我们可以逐个模块地介绍这一点,可以很容易地找出肇事者(我们曾经这样做,但没有报告过)。 事实上,这个组织比指责更加适应前进的步伐。
(顺便说一下,所有的代码现在都提交了审查,并且必须提供附带的代码分析,事情在这里肯定会变得更好。)
除非你对pipe理层有很好的吸引力,否则这是不可能的。 根据我的经验,如果你试图强迫它,你可能会遇到麻烦。
只是一个想法。
我假设你使用SVN等源代码版本控制系统。 因此,制定审查提交和拒绝提交的政策。 然后向其他pipe理者显示被拒绝承诺的统计数据,以certificate平庸的开发者对于公司来说是非常昂贵的。
这是你的另一个想法:不要解决他们打破。 通过告诉他们什么是错误的以及如何解决(只在一般条件下)和ccpipe理,把它寄回给电子邮件返工。 请务必注意pipe理层的理解究竟如何影响您的最后期限。 这将为您创build性能问题的文档,并且当它们必须修复自己的混乱时,其中一些可能会停止。
- 从另一个或从提示调用Windowsbatch file的几种方法。 哪一个在哪种情况下?
- 鉴于jdk1.6及以上版本中的HashMaps导致multi = threading的问题,应该如何修复我的代码