首页 > 代码库 > 软件工程管理的44个教训(译)

软件工程管理的44个教训(译)

看到一篇文章,讲的不错,颇为实用,粗略翻译一下共享之。

原作:http://www.defmacro.org/2014/10/03/engman.html

======================================

Do. 可为

  1. 吸引、教养、训导、留住天才。和工程师们聊天,让他们早些将自己的关注吐出来,如果可以就及时弥补。
  2. 要跟每一个工程师就他们的下个重要事项进行沟通。
  3. 当开发团队未能达成一致意见的时候你要做一个破局者。
  4. 成为信息中心,你要知道每个工程师在做什么,帮助他们处理遗漏事项。
  5. 提供管理支持,安排需求,配合发布,让整个机器正常运转。
  6. 强制行为与效率标准,开掉霸道的人和不合格的人。

Don‘t 不可为

  1. 自己修正bug或者处理需求,那样你得自己写代码维护,但是编码不是你的职责。
  2. 管理质量和人员工作量,软件工程不是生产线。如果你发现自己管的太多,那就是你没有找到合适的人或者没有给他们合适的激励。

Motivation and Culture 动机与文化

  1. 你是决定是否雇佣或者解雇的人,你的团队里面发生的所有事情都是你的责任。
  2. 软件工程是一个卖方市场:人们帮你干活是因为相信你,而使用他们的天才是你的特权。
  3. 不能随意授权,需要保持正确的决策。
  4. 非不得已,不作决定。只要可能,就让团队去寻找idea,并且作出自己的决定。
  5. 当必要时应作决定。没有比停滞的团队更让人沮丧的了。
  6. 除非必要,不要打击idea。要创造一个环境让所有人都觉得可以安全地分享和探索idea。写代码的人有很多你不知道的东西。信赖你的团队,你能做更好的决策。
  7. 想着如何作出好决策以及和你的团队保持良好关系,者通常能让你有95%的机会达到这些目的。组织一个软件工程团队的概念框架很多,但是基本差不多,可能让好的管理者略好,而让差的管理者略差。

Emotions and people 情绪与人

  1. 我们的文化崇拜管理,但是管理和其它东西一样,都是一种技能。崇拜是盲目的--它浮躁而且任意。坚信自己比任何人都好,你越快超越崇拜心理,你就能越快将注意力集中在你的工作上。
  2. 管理同样也带来轻蔑。忽略它--相信管理无用论的人不懂得创建一个赢者团队的过程。
  3. 如果你觉得哪里错了,那可能是真的。不要让任何人搞到你忽略自己的感觉。
  4. 如果发现自己在责怪别人,你自己可能是错的。没有人一觉醒来想着去搞坏一件事情的。95%的情况你可以通过和它沟通来解决这个问题。
  5. 大部分人不轻易和别人分享自己的感情,可以通过经常性的非正式谈话,以及对可能错误的事情开开玩笑等来弥补。
  6. 你的团队唯你所指,要有勇气说出大家都知道是对的却没有说的事情。
  7. 老板请你是让你发现和弥补你的团队里面可能没有注意到的文化上的问题。要有勇气说出大家都应该知道却没有人知道的事情。
  8. 聘请牛人,然后充分地相信他们。每个月或者每个季度做评估,如果碰到必须开掉的那就开掉。不要每天都去评估一个人,那会让每个人(包括你自己)发神经的。
  9. 大部分的思想争论都是带有情绪的,如果你能将这些情绪化的争论区别出来你的效率可以令人惊奇地提高。

Tiebreaking and conflict 破局与冲突

  1. 不要太快给出结论。自以为是是人的通病,在任何情况下,即使你确信自己是对的,你也应该先听取每个人的意见。
  2. 听取完所有人的意见之后,总结所有观点,让每个人都觉得自己清楚了。将每个观点的同意情况都列出来,标明你从每个人那里了解到的东西,然后再作决定。
  3. 一旦作出决定,就强力推行。不要让团队为了安抚不和谐的声音而浪费时间。
  4. 如果有重要的新情况则可以重启讨论。
  5. 当有人不同意,或者大家不能接受一个理由充分的决策时,这时的情况已经转为冲突了。
  6. 大部分的冲突是因为觉得自己的意见没有被听取。这时应该坐下来跟每个人进行谈话,询问他们的感觉,仔细聆听,询问,再询问,然后给他们所说的作总结,并反馈给他们。大部分情况下这能解决问题。
  7. 如果进行了合理的倾听和弥补之后,还是有冲突,这个时候应该是僵局了。

Difficult conversations 僵局

  1. 僵局的破解应该尽快进行,等待只会更糟。
  2. 永远不要假设或者直奔结论,永远不要在心里将别人魔鬼化,永远不要责怪、吼叫或辱骂。
  3. 使用非暴力沟通--这是我所知的批评一个人的行为而不伤害到他的最好的方法。这像是管理的时尚,但是它的确有效(我保证)。
  4. 要有勇气说出你的感受以及你需要什么。人们彼此被别人的弱点所吸引,却抗拒自己的弱点。弱点并不是软弱。
  5. 让别人和你一样开阔谦恭。如果有人因为指出了你所需要的以及感受而让你觉得不爽,这更多的是他把自己的情况告诉了你。

Rough edge 立场

  1. 别人会刺探你的边界,这种情况自己知道什么时候退以及什么时候坚守就已经赢了半场。
  2. 有时候有些人会玩过头,这个时候应该表明立场,让他急刹车,否则在你的团队里面你会失去威信。
  3. 通常一句“那个我不同意”就足够了。
  4. 不要对你内心不觉得可以一笑置之的事情一笑置之,要有勇气表露你的真正感觉。
  5. 如果你要某个人说了太多“那个我不同意”,你应该开了他。
  6. 除非你是反社会的,你会发现开除一个人是多么难,以至于自己都寻找理由不做。如果你经常为某人是否适合工作而犹豫太久,要有勇气去做你知道是对的事情。
  7. 不要在别人的压力之下作出自己都不信的决策。事后他们就会让你承担这个责任,而他们总是对的。决策是你的责任
  8. 相信自己。如果你认为自己骑在马上很搞笑,那你是不能带领骑兵冲锋的。

软件工程管理的44个教训(译)