在这个社交媒体时代,我经常对我在网上说的话感到惊讶。 通常这不是对我所说的反应,而是缺乏反应。 我忘记了写我认为是杀手博客文章或超有意义的推文的次数,并以极大的期望将其推出。 好…。 没有。
只是说明一下:您认为是好的和您的“客户”认为是好的可能是两件事。
有时会发生相反的情况。 我推出了一些我认为很好奇,没什么大不了的东西,无可厚非的东西! 一两周后,我发布了我认为是微幽默的推文,许多人都可以接受:
“如果您的经理不知道您在使用什么技术,那么他们可能不应该成为您的经理。”
砰! 人民–专家! –例外并急于为经理辩护–通常这是我的工作!
从某种意义上说,令我如此高兴的是,有这么多人争先恐后地为经理辩护,并说管理与技术无关。 大多数IT社区对经理们都一无所知。 谢谢你们!
好吧,我觉得有必要更充分地回答和解释自己。 首先让我们弄清楚我的意思,然后再解释为什么我认为它很重要。
我的一个朋友最近向客户提供了“敏捷入门”课程。 在课程开始之前,团队负责人/经理无法告诉他团队正在使用什么技术。 那就是:哪种语言(C#?Java?PHP?Scala?),哪种操作系统(Windows?Linux?MacOS?)或哪种数据库(SqlLiite,MySql,SQLServer,Oracle?)。 当然可以猜测,因为我们知道这是一个Web开发,但除此之外……。 无论如何,并不重要。
在课程过程中,这种困惑继续存在。 除了编码人员(可能还有测试人员)以外,参与这项工作的其他人员都不知道正在使用哪种技术。
我对这种情况的解释是:那些没有编写代码的人与技术人员的工作脱节了。 存在差距,如果他们不了解中央技术,那么他们可能还不知道什么? (我曾经听说过一个英国政府/ BigConsultancy项目,在被问到“编码员在哪里?”时,一位项目经理回答说:“我不知道,我认为班加罗尔。”后来又发现他们在泰恩河畔纽卡斯尔。)
我还以此为标志,表明这些人员没有技术(特别是编码)背景。 我无法想象以前的编码人员对所使用的技术不感兴趣。
情况清楚吗?
那为什么重要呢?
让我们指出:我不是一分钟就声称经理或需求分析师等需要使用这些技术。 对技术的欣赏可能会很有用,如果他们可以编写代码,他们也许可以提供帮助,但是,过多的知识可能很危险。 这可能会导致非编码人员尝试再次猜测编码人员,并过多地告诉他们他们需要做什么。
我曾经管理过一个C#团队:作为一名以前的C ++和Java编码人员,我可以理解和参与对话,但是如果我感到渴望接触键盘或告诉他们如何完成工作,我就知道我会傻瓜我。
我认为管理类型应该了解该技术的第一个原因就是我上面已经说过的:它表明他们了解正在发生的事情。 当今面临的主要问题之一是经理之间的脱节。 这与微观管理相反,这就是亨利·明茨伯格(Henry Mintzberg)教授所说的宏观领导 :“试图通过远程控制进行管理的高级职位的人,除了“大局面”之外,都没有联系。 (2013年,《简单管理》)
这就是我在原始推文中看到的内容。 如果管理人员不知道正在使用什么技术,那么他们就太与世隔绝了,无法进行管理。 但是我会更进一步…。
第二个原因是,我认为管理类型如果要管理此类工作,则绝对需要了解编程和技术。 我喜欢说:“在软件开发工作中,细节在于魔鬼。”
如果管理人员不了解编码过程的性质,我认为他们将无法对其进行管理。 如果他们从未编码过,我很难理解他们如何知道编码工作的本质。
如果管理人员不了解在现实世界中如何开发软件,那么他们将强加破坏工作的开发和管理模型。
如果管理人员不理解软件开发中可能出现的困难,那么他们将无法利用自己的权限来帮助技术人员。 实际上,如果他们缺乏知识,甚至与他们的技术人员交谈也可能会遇到问题。
我不相信“如果您能管理就可以管理任何事情” –这是一个谎言。 这样的建议是我们在IT世界中经常看到的那种管理不善的良方。 事实是:如果您正在开发技术,则需要掌握技术。 弗雷德·布鲁克斯(Fred Brooks)的话长期以来一直指导着我:
“在许多方面,管理大型计算机编程项目就像管理其他大型企业一样,其方式比大多数程序员认为的要多。 但是它在许多其他方面有所不同–超出了大多数职业经理人的期望。” (布鲁克斯,1975年)
(的确,我选择了这些词来打开《 盼盼2:生产资料》 。)
当我学习管理时,我发现许多建议和良好实践非常适用于软件开发。 确实,我的硕士学位论文是对一些管理思想如何直接映射到敏捷软件开发中的研究。 (是的,论文的开头是布鲁克斯的话, “软件开发即组织学习”可下载并构成了“改变软件开发:学习敏捷”的开端。)
那里有许多良好的管理实践和建议,IT和软件开发领域的许多人将从中受益。 但是,要求通才经理管理软件开发工作(总是很复杂的工作)会导致问题。
让我再次引用亨利·明茨伯格的话:
“经理们处理的都是杂乱无章的事情-棘手的问题,复杂的问题。 ……将大量的手Craft.io品与正确的艺术手感结合起来,再加上对科学的一些运用,最终得到的工作首先是实践,要通过经验学习并扎根于环境。” (《简单管理》,亨利·明茨伯格,2013年)
如果您正在管理软件开发团队,那么如果您没有编写自己的程序,那么我将看不到如何获得必要的经验和背景。 管理本身并不存在,所有管理都植根于被管理的事物中。
翻译自: https://www.javacodegeeks.com/2015/03/how-much-does-your-manager-need-to-know.html