我喜欢人们承认他们是彻头彻尾的蠢驴。我知道,如果我对自己的错误吹毛求疵,我将会表现得更好。这是一个值得学习的妙招。
---- 查理·芒格
大家好,今天来聊聊技术团队管理中常见的一个问题:程序员在工作中犯了错误,要不要罚款呢?
首先,来说我的结论:程序员犯错误出事故,要看情况处理。
犯错不可避免
为什么要看情况呢?这个不是耍滑头,因为在团队管理中,任何问题,都需要根据具体的情况来做判断,才能不脱离实际,而没有绝对的真确,只有这样,才能真正的促进团队的共同的成长。
我们都知道,软件开发是一个创造性的工作。如果程序员在开发中没有Bug、没有问题和错误,就不可能交付软件的。
从团队管理上来说,我们能做的是,通过流程、规范等机制,尽可能的减少程序出错的概率、或者确保在出错后可以快速的修复问题,但无法避免错误的发生。
所以,在工作中,程序员只要参与软件开发,犯错误和出事故,是早晚的事情,任何人都不可避免。
犯错就是财富
如果在技术团队管理上,程序员出了任何事故,都要做出惩罚,那导致的结果会是两个:
• 无人主动承担责任,能推则推,能逃则逃;
• 出事故不主动上报,尽可能做遮掩和隐瞒;
这种情况,对于整个团队是伤害最大的,破坏了整个团队的信任基础。
但也不能走向另外一个极端,出事故后没有任何影响,这样也会让团队对事故没有了敬畏感。
我的管理原则:将犯错和事故作为团队的财富。
我们不可能不犯错,但我们避免重复犯同样的错误。
无论是个人,还是团队,经验都是通过犯错误得到的回报。
经验对于所有人都是有价值的财富,通过对错误的正确应对,处理和总结,每一个人都会变的更好。
避免重复犯错
犯错出事故,对于优秀的程序员来说,已经是比较有负担的事了,错误就是一种痛苦和鞭策。
他们会承认错误,汲取教训,总结和分享经验,当做很好的一次学习机会。
在团队管理上,当然也需要例外,通过一些事件,来引导团队风气的改变:树立典型,治病救人。
譬如,对于简单错误的重复发生,或对线上事故的缺少足够的敬畏,那通过抓个典型,立个规范也是有必要的。
做惩罚的背后,本质目的:还是要团队和个人能够吸取教训,做出改变和成长。
当然,立典型不能成为常态。并且,对于被立典型的人和事要做慎重的选择,要做好善后的工作。
除此之外,在管理上更多的是要在流程和规范上,建设其有效的错误兜底机制,避免个体犯错误,或者犯严重的错误。
譬如:自动化测试、方案审查、Code Review、事故复盘等方法。
写在最后
在团队管理上,面对程序员的错误和事故,要不罚款的惩罚呢?
相信人性,程序员都会犯错误,优秀的程序员不犯两次同样的错误。
所以,我的原则是:团队管理者要看情况处理。
管理上,要将非主动的错误,当做团队和个人的财富;主动性重复错误,或者需要立典型的错误,要做好沟通和善后。
将错误视为团队和个人的财富。
通过错误来学习、提升和改善经验;从管理上来建立有效的流程和机制,预防犯错误,做好兜底的机制。
—————— THE END ——————
行动进化自己,输出赋能他人
我是 熵减黑客(公众号)
与你一同终身成长
网友评论