我是一位相当有经验的 C# 开发人员(大约 5 年经验),最近被任命为我的第一个开发团队的技术主管(其他开发人员数量不等,数量不等,数量从 3 到 5 名不等)。在担任该职位的过去 4 个月中,不断出现的一个困境是试图找到项目经理、客户经理、客户、设计师、首席执行官和我自己之间沟通的适当程度的共享意识(尤其是通过电子邮件) 。

一方面,我知道每个开发人员对项目总体方向的了解越多,他们就越能理解其特定功能在全局中的范围。

然而,另一方面,我的很多时间似乎都浪费在了所有不同利益相关者和经理之间的大量电子邮件中,所以我喜欢认为将开发人员隔离到“他们需要完成当前的工作” “将使他们免受干扰。

我考虑过密件抄送所有开发人员,以便他们可以过滤这些电子邮件,并本质上“选择加入”所有电子邮件,但我担心一些开发人员只会将此视为需要处理的额外噪音。如果所有开发人员都想参与过多的讨论,则可能会导致“厨师太多”。但另一方面,其他意见可以帮助我做出更好的决定(即House MD 风格)。

呼……需要考虑的事情太多了。有人在这方面有一些明智的指导吗?

有帮助吗?

解决方案

这听起来像你这样的技术我会给你这样的建议:对管理者做什么计划按照乔尔斯波斯基的建议。基本上,试图尽可能地隔离您的开发人员,使他们能够尽可能高效。

他只是这个最近的一篇文章,如何成为一个程序提到这个简单经理的,但他之前已经为更深入这个话题。通过看他过去的作品更多的信息:

  

在该规范已经完成,开发团队开始认真工作,我有两个职责:解决想出了关于设计的任何问题,并且与所有其他球队,这样的开发商并没有

如果你不是技术,那么你需要从你的团队选择的人来帮助他们进行设计工作,他们将与客户的一个小接口,以找出最佳的设计是什么的要求是什么。

编辑: 在乔尔的主页有标题为技术主管和项目经理两个部分。在文章看看那里的项目经理一些更多的信息,尤其是人的任务切换是有害的

其他提示

虽然回复晚了,但仍然相信到目前为止给出的极好的建议还有一些可以补充的地方。为了回答你的问题,我们需要更高的水平,因此回复很长。

您已被任命为负责团队的技术主管,尽管您日常工作的许多方面可能看起来与您的开发日相似,但您需要处理这些问题的方式已经发生了变化。在软件开发环境中,当您任命技术主管时(您可能仍然坐在同一张桌子上,穿着相同的衣服),与成为建筑工地或工厂的工头相比,通常不会有太大的实际变化。不过,令人高兴的变化是,您现在被邀请参加所有这些会议,并开始收到来自开发团队之外的人的所有这些电子邮件和电话。

缺乏切实的改变可能会欺骗你的思维,让你认为你只需要继续以基本相同的方式对待你的工作。情况并非如此,您需要对自己在新身份下的行为和反应保持警惕。看起来你现在在外部似乎“更受尊重”,而你可能倾向于在内部分享一些“尊重”,发挥一点民主,总体上是公平的。

好吧,这与公平或尊重无关,新工作是:

  • 指导开发团队(主要通过个人示例并创建描述目标的图像)。

  • 成为团队和其他组织单位之间的抽象层。

就像在编程中一样,您经常创建一个抽象层来封装和隐藏复杂性,组织中也会发生同样的情况。您是必须封装开发团队的层、界面。从局外人的角度来看,任何好的封装:

  • 对外部观察者隐藏与当前任务无关的内部复杂性(例如算法的具体实现)。

  • 使可能影响外部用户的事情变得明确(可以抛出的异常、任何限制和约束等)。

  • 始终提供有意义的反馈。

  • 行动一致。

这些原则同样适用于团队的对外沟通。遵循这些原则并不是一件容易的事;实际上,它涉及很多具体工作,例如决定哪些细节是内部的,哪些事实需要沟通,何时沟通,如何最好地构建反馈并以一致的方式呈现,以及应该向外部通知谁什么内容,以及谁需要跟进以及何时跟进。这是一项繁重的工作,即使其中一些看起来只是微不足道的管理工作。

现在进行内部、内部的沟通。一种方法是广播。但它会堵塞内部网络,每个人都必须花时间来决定通信是否与他们相关。这就像有一个非常通用的算法,无论输入如何,总是执行完全相同的工作量。这当然是可能的,但你为什么要这样做呢?显然,更有效的方法是根据输入调整处理,这里必须有人的工作来决定团队应该如何处理某事、调度或转换输入:

  • 决定需要采取什么行动顺序,

  • 或者只是确认并存储以供将来参考,

  • 或跟进,

  • 或者将问题推迟到以后进行审查,然后确保对其进行审查并反馈到决策循环中。

这也不是一项小工作,必须有人来做。显然,现在管理向外和向内的沟通是你的工作,你必须花费一些大脑的处理能力才能做好这件事,所以其他人不需要这样做,开发人员可以专注于他们的任务。

无论您的职位是什么,还有一些其他的充分理由不应该抄送或密件抄送所有人:

  • TO 表示“采取行动”,CC —“记下以供将来参考”,BCC —“窃听或群发邮件”。当您使用一个或另一个电子邮件向一群人发送电子邮件时,应该小心:

    • 向一个人发送电子邮件是直接的“收件人”,而向一群人发送电子邮件时,仅“向”您需要采取行动的人(包括简单的致谢)。这是默认含义,在任何其他情况下明确告诉他们期望什么(即仅供参考,无需采取任何行动等)。

    • 仅抄送那些您想要记下的信息以供将来参考。如果您预计在达成协议或问题解决之前会收到大量电子邮件,请不要“抄送”,最好稍后向需要通知的其他方发送确认摘要。除了节省每个人的时间并避免由于有人记录非最终沟通而产生误解之外,这将有助于使交流更加个性化,更加自然,并减少形式主义和繁文缛节。通常抄送电子邮件会被正式处理,这并不总是一件好事(但有时正是您想要的)。

    • 使用密件抄送几乎是行不通的。如果有人窃听你的谈话,这种情况一旦曝光,很容易就会毁掉你的可信度。这只是一个“何时”的问题。那么您的团队是否应该担心您可能会将他们的对话密件抄送给其他人?在大多数情况下,通过密件抄送进行群发邮件也是错误的,它会造成电子邮件是专门发送给收件人的印象。

  • 转发、CC-ing 和 BCC-ing 不需要太多努力,但会增加噪音并稀释信号。在撰写信息之前,值得思考一下您到底需要一个人做什么,以及他们应该知道什么来对您的信息采取行动。

  • 有些对话最好完全“离线”进行(电话或更好的是面对面),因为它给你更多的回旋余地。广播或以书面形式形式化就像把自己逼到了一个角落。您可以随时以书面形式确认。

转到技术主管职责的第二部分(通过个人例子和描述目标的图像来指导团队)。为了实现这一目标,您不需要将收件箱中的每一条信息传递给团队。你必须创造一个故事,任何好故事都是对真实事件的抽象,仅包含与特定受众相关且有趣的细节。根据你的日常经验创建这个简短的故事,判断什么是相关的和有趣的,然后定期向团队展示也是一项艰巨的工作。

但不要忘记,通过指导团队并充当抽象层,您可以帮助开发人员和外部世界更有效地交互,完成更多任务并解决更大的复杂性,这项工作是有意义的。

在工程团队需要理解为什么他们被要求做一个宏观层面的物联网业务的原因。工程团队将获得从这种认识和动机。但过多的唠叨是一个没有没有,因为你注意,你的工作的部分过滤,然后那部分表示不暴露他们吨的噪音。你可能开发商有意见和见解,至于怎么做特定的事情,或者为什么挑选特定的技术,而且应该派出其在这些领域的专业知识。

绝对不创建BCCing的培养物。

一种选择是有兴趣的各方可以订阅不同的邮件列表,当然,并不是所有的喋喋不休会在这些名单。

当然,正规公司会是必须的。让工程家伙知道为什么的业务依赖于交付稳定的,完整的产品(或任何即将到来的里程碑需要)的。 20分钟后,没有幻灯片,不说废话是什么对我的作品。你的团队和情况可能会有所不同。

我会用一个Wiki,你不希望添加到邮件风暴,你的开发人员还可以促进和改变的东西。它也是共享文档真正有用的,如果做得好,将成为自支持。

BTW剪切/粘贴从电子邮件到维基似乎是一个奇怪的事情必须做,没有人知道一个lightwieght净维基,我可以通过电子邮件发送的内容吗?

一个办法可能是不转发所有的电子邮件和每周一次编译所有相关信息,设计变更等为每周1次。我绝对不会给您发送电子邮件的攻势给开发商。当然,如果一些关键的讨论,那么就应该放了他们的注意。然而,尝试每周要闻及相关细节的讨论。

我在发布一年后看到这个问题,但是我可以添加我的经验以及针对我的案例的一些具体数据。对于项目中的 2-3 名开发人员,我主要进行一对一的交流。很多时候我通过即时消息或电话来完成此操作,因为我的团队大部分时间都在家庭办公室度过。时不时的会议是不可避免的,主要是在项目开始时(1-2 次开发人员会议往往足以启动相当复杂的项目),但通常情况下,与公司其他部门的所有沟通都通过我进行,开发人员得到摘要。唯一的例外是当我直接将开发人员与用户(而不是管理层!)联系起来以制定项目的详细信息时。

我倾向于避免定期会议(每周或每天),并且仅在至少发生其中两种情况时安排会议,按以下顺序:

  1. 重要信息即将到来(根据紧急程度,最多可能需要等待一周)
  2. 开发人员在办公室,最好是出于其他原因(开发人员与开发人员的会议)
  3. 客户端可用(那里没有太多选择,但我尝试召开会议,并稍后将开发人员与客户端的单一实践专家联系起来)
  4. 我需要设计建议(因为我是技术主管,所以我负责大部分高层架构决策)

对于 4-8 人的团队(8 人通常意味着两个团队),我发现每周大约一次 30 分钟的简短会议足以让每个人了解最新情况。当然,这是我每天为初级开发人员进行的一对一交流以及每周为高级开发人员进行的大约两次的一对一交流之外的活动。

对于一对一的交流,我更希望开发人员在需要做更多事情或对刚刚开始执行的任务有疑问时与我联系。这也是我关注事情进展情况的好方法,而开发人员不需要考虑让我了解最新情况。当即时消息足够时,我倾向于避免使用电子邮件,否则在以下情况下改用电话(当有事情需要解释或讨论时)并发送电子邮件:

  • 客户通过电子邮件报告错误
  • 有很多重要的小细节,开发人员在实施过程中可能会多次查看该电子邮件

当开发人员需要协调某些事情时(例如,当 Java 和 Javascript 开发人员需要制定界面细节时),也会召开开发人员之间的会议。

这种工作方式意味着我必须尽快响应 IM,并且我通常会处理很多中断,以便开发人员只需为我或其他开发人员处理中断。这没关系,因为我工作的重要部分是提高开发人员的效率。

如果我需要安静地编码(并且负担得起),我发现将客户沟通委托给非技术项目经理甚至 beta 测试人员(他们比程序员更能处理干扰问题)。

问问他们,他们会喜欢什么。我认为他们宁可不上的每个电子邮件抄送并会选择定期短口头更新。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top