将25条成人准则应用到软件开发

前言

25条成人准则是美国知名诗人、评论家、词作家John Perry Barlow在30岁时为自己制定的行为准则,网络上流传很广,非常有知名度。

软件从业者Glenn Goodrich创造性将这些准则联系到软件开发,希望借助它们打造健康的团队文化和氛围。的确,大型软件开发活动充满未知和挑战,牵涉着多方利益,是一个复杂的系统工程,也是社会关系的一个缩影,利用一些成熟的处事原则和技巧,可以帮助我们构建融洽的团队关系,为项目成功奠定良好基础。

如果您不是软件从业者,也可以概览一下标题,看看是否认同这些准则,看看这些准则是否对自己有所启发和触动。

不论情况如何,总是保持耐心

Be patient. No matter what.

耐心很重要,不是吗?有一句话叫“守得云开见月明”,在生活和工作中,保持足够的耐心可以让我们坚持正确的东西,从而走向成功,也可以帮助我们抑制不良情绪,避免事态走向恶化。

在软件开发领域,如果因竞争激烈等内外因素而不惜一切地追求更快,往往会牺牲软件质量,最终导致员工和客户都不满意。而如果保持耐心和定力去克服不确定性,按照应有的节奏,就可以在整个过程中获得更好的决策、更好的工作环境和更高质量的交付。

软件开发过程由很多角色参与,大家职责不同,诉求自然各有侧重,沟通交流过程中难免会过于站在自己的立场上说话,忽略他人的利益和感受,这种时候,也是非常容易引发情绪和冲突的时刻。作为一个成年人,此刻就要保持耐心,通过换位思考理解他人的感受和利益诉求,双方卸掉角色包袱,共同寻找第三种解决方案,尽量通过双赢的方式解决问题。

将25条成人准则应用到软件开发

杜绝恶言相向:分配责任,而不是责备,不在背后说那些你不会当面说的话

Don’t bad mouth: Assign responsibility, not blame. Say nothing of another you wouldn’t say directly to them.

良言一句三冬暖,恶语伤人六月寒。人无完人,难免犯错,责备只会滋生和扩大恐惧,而恐惧会损伤创造力,恶言相向只会让事情变得更糟。健康自信的孩子都是被鼓励出来的,成年人也是一样。

软件开发过程中,常说的一句话就是“对事不对人”。在代码评审时,在测试发现Bug时,在迭代回顾时,在发生生产问题时,在问题复盘时,我们唯一需要做的就是更好地解决问题,避免问题再次发生,要把焦点放在问题本事上,而不是把矛头指向人。

将25条成人准则应用到软件开发

永远不要假设别人的动机(对他们来说)不如你的高尚

Never assume the motives of others are, to them, less noble than yours.

当发生某事时,我们习惯性地往坏里想,习惯性地把他人想得很坏,在心里贬低他人,而事实往往会一次又一次狠狠地打我们的脸。

作为一名开发人员,你是否有过在接手别人代码时,立刻在脑子里冒出“这是谁呀?代码怎么写得这么垃圾?”,甚至都要破口大骂。但是,你有没有想过,你的代码就写得完美无缺吗?是否有人有更好地解决方案?这种事情是不是也会反过来发生在你的身上?是的,这种情况几乎天天在上演。要知道,我们都是在尽自己所能,利用我们当时所知道的,在当时的限制之下行事而已,要像理解自己一样理解他人。

将25条成人准则应用到软件开发

扩展你对可能性的感觉

Expand your sense of the possible.

吾生也有涯,而知也无涯,这世界有很多我们不了解的东西,不要让自己被各种条条框框所限定住,保持思维的开放性,不轻易放过任何可能性,你将看得更清,收获更多。

创新就是要跳出思维定势,去寻找旧问题的新解决方案。当你在工作中听到,“我们一直以来就是这么做的呀!”,这就是一个很好的信号,好好地把握这个机会吧,去学习,去实验,去尝试各种可能性,最终你的认知可能会被刷新,甚至颠覆。

将25条成人准则应用到软件开发

不要用你真正无法改变的事情来困扰自己

Don’t trouble yourself with things you truly cannot change.

专注于无法改变的事情,只会空耗精力。这一点,活在过去的人最有体会了。过去的事情已经永远地过去,无法再改变。我们不要因为这些无法改变的事情而整天黯然神伤,扼腕叹息,这样除了滋生不良情绪之外,毫无益处。

作为软件开发人员,不要在社区抱怨某某语言、某某平台、某某库缺少某些功能,或者有这样那样的坑,有些东西我们是很难改变,甚至是无法改变的,我们只需要专注于我们可以控制的事情上,为迎接各种问题做好准备,做好我们自己的事情。

将25条成人准则应用到软件开发

不要对任何人抱有过分期望

Expect no more of anyone than you can deliver yourself.

己所不欲,勿施于人,不要苛求别人去完成自己都很难做到的事情。比如,我们作为家长,常常要求自己的孩子要这样、那样,但是,扪心自问,我们自己又是什么样?我们要求的那些,我们自己能做到吗?

在软件开发过程中,要以人为本,要像对待人一样对待每个人,而不是把人简单冷漠地作为资源来看。很显然,过度的劳累会大大降低产出,不要让团队成员在总是在很紧迫的情形下工作,该休息就休息,每个人都一样。

将25条成人准则应用到软件开发

容忍模糊性

Tolerate ambiguity.

模糊是一种生活哲学,我们常常讲“难得糊涂”,就是有些时候要糊涂一下,这是生活的艺术。

对于开发来说,需求通常有很大的不确定性和复杂性,我们需要利用敏捷这种方法来应对它们,我们需要在开始时,容忍一些模糊性,以便开始我们的工作,然后在后期逐步将模糊性具体化。

将25条成人准则应用到软件开发

经常自嘲

Laugh at yourself frequently.

人生难免会出错和落入尴尬的境地,谁又不是呢?所有的失误和尴尬,终将被时间冲刷和涤荡一空,最终消失于无形。而自嘲是一种很好的即时化解尴尬的方式,可以帮助我们立刻消解紧张和压力,是一种生活的软实力。

开发过程中,我们保持认真是可以的,但也不要过度苛求自己,如果哪天搞砸了,也要笑着面对,笑着学习,这让我们成为更好的队友和更快乐的人。

将25条成人准则应用到软件开发

关注什么是对的,而不是谁是对的

Concern yourself with what is right rather than who is right.

这是对事不对人的另一种应用场景,我们更加关注事情的对错上,而不是人的对错上,可以锤炼我们独立思考的能力,变得更有判断力。

在当今这个瞬息万变的时代,商机稍纵即逝,软件需求也是处于不断形成和变化之中。敏捷开发中的“响应变化胜于遵循计划”,就是要我们关注在事情本身上,避免为人为计划所羁绊,让我们的思想更加开放和明智一些,避免为权威所蒙蔽,多关注事实和逻辑,而不是提出观点的人。

将25条成人准则应用到软件开发

千万记住,无论多么确定,你都可能是错的

Never forget that no matter how certain, you might be wrong.

世上没有绝对的东西,我们的认知也有局限和偏差,所以,还是保持谦虚和谨慎吧,你会从中受益。

Glenn Goodrich同学认为,该准则可以联系到敏捷的原则上。确定性会助长盲目和偏见,我们越是确定,就越可能犯错,犯更深的错误。我们允许试错,可以在通过试错学习和进步。

将25条成人准则应用到软件开发

放弃血腥运动

Give up blood sports.

绝大多数时候并不需要血腥运动,我们可以冷静下来,再深入想一想,一定还有更多更好的解决方案。

Glenn Goodrich认为,对于软件开发领域,技术不是唯一的解决方案,不是我们唯一的“武器”,我们要跳出技术思维的圈圈,也不要在社交媒体上参与无聊的评论大战。

将25条成人准则应用到软件开发

记住,你的生命也属于别人,不要轻率地冒险

Remember that your life belongs to others as well. Don’t risk it frivolously.

身体发肤,受之父母,机械地理解这句话让新时代的我们很难认同,但是它的另一层含义却需要我们明白,生命是珍贵的,你的生命不只是你自己的,也属于别人,和你的家人息息相关,和爱你的人息息相关,不要轻率地冒险。

软件开发是团队活动,是大家共同努力的过程。作为团队的一份子,我们不能拿团队、项目的风险来为个人赢得那一丝闪亮的新鲜感,需要注意及时查看安全公告和CVE,及时修补软件。

将25条成人准则应用到软件开发

不要以任何理由对任何人撒谎(有时可以容忍遗漏型谎言)

Never lie to anyone for any reason. (Lies of omission are sometimes exempt.)

如果你撒一个谎,就需要一百个谎言去维护那个谎言。不要把别人当做傻子,谎言不仅带来的是巨大的成本和严重的后果,而且可能最终会伤及自我。那些只说出部分真相的谎言,被称为遗漏型谎言,这种类型的谎言有时有其正面的作用,是可以容忍的。

这一点在软件开发中,尤为重要。比如常用的快速失败原则(Fast-Fail),可以让我们尽早知道软件的问题,尽早处理。工作中,不要刻意或无心去隐藏软件、流程或想法中的缺漏,不要在明知事实并非如此的情况下,却告知别人事情正在走上正轨。要用孩子般纯净的眼睛,看待你的项目。可以容忍的遗漏型谎言是那些业务部门无法(也无需)理解的技术细节,而不是对于工期的估计。

将25条成人准则应用到软件开发

了解周围人的需求并尊重他们

Learn the needs of those around you and respect them.

人是社会型的动物,有着各种层次的需求,被人尊重是其中之一,而只有尊重才能赢得尊重,所以,通过理解和尊重去建立融洽的关系吧。

Glenn Goodrich认为,不要把企业看作是“愚蠢”或“无知”的,也不要把IT完全看成是成本中心,企业也有自己的需求,作为企业的一员,要学会了解企业的需求,并为之努力,使你的公司能够在数字化环境中生存和发展,而这也将养活你的生计。

将25条成人准则应用到软件开发

避免寻求享乐,寻求你的使命并追求它

Avoid the pursuit of happiness. Seek to define your mission and pursue that.

人生短暂,如毛驹过隙,按照79岁的平均寿命来算,人生只有不到3万天,如何让此生过得有意义,没有白来世上一趟呢?古人讲人生在世要实现“立功”、“立言”、“立德”,不要单纯地寻求享乐,而是探求和定义一个使命,去努力实现它。

成长是员工的首要需求和动力,而成长来自于影响,影响来自于向使命的迈进,使命则是通往愿景的途径。所以,作为Leader,要定义你的愿景,并接受实现目标的使命,向团队成员明确展示。

将25条成人准则应用到软件开发

减少使用第一个人称代词

Reduce your use of the first personal pronoun.

不要过于主观和自我,我们最终不是关注人,而是关注事情,关注事情不迷路。

团队将以”我们”、”我们”和”你们所有人”的身份一起到达目标,而不是”我”、”我”和”你”。你不是”忍者”或”10倍超人”,你的团队中也没有,不要庆祝”英雄工作,不要搞个人英雄主义。

将25条成人准则应用到软件开发

赞美他人,至少和贬低一样频繁

Praise at least as often as you disparage.

人都喜欢被认同和称赞,喜欢听好话,优秀的人懂得互相成就。

还记得我们是如何做到最好的吗?是庆祝彼此的胜利。“您修复了那个测试问题!您真正改进了那个模块的性能!真是太棒了!”赞美是同时为给予者和接受者准备的礼物,它将在团队成员间建立信任,巩固团队的成功。

将25条成人准则应用到软件开发

爽快地承认你的错误

Admit your errors freely and quickly.

爽快地认错不丢人,遮遮掩掩才丢人。

对于软件开发,还记得前面的快速失败原则吗?我们对软件或过程中的错误要抱有开放的心态,让问题尽早明显地暴露出来,鼓励团队成员发现和提出错误,并讨论如何修复它们,这是最快的、成本最低的改进方法。

将25条成人准则应用到软件开发

减少对快乐的怀疑

Become less suspicious of joy.

请记住泰迪·罗斯福(Teddy Roosevelt)说过的话:“比较是快乐的小偷”,生活中需要快乐,不要轻易去质疑它。

技术人往往因为用到一个新工具、有了一个新想法、学会一个新技能而惊喜,加入到同事的快乐中吧。

将25条成人准则应用到软件开发

理解谦卑

Understand humility.

不是所有人都是一样的,有的人就是永远那样虚怀若谷,不知道自己不知道和知道自己不知道完全是两码事,不要把别人的谦虚误认为无知和可欺。

另外,可以谦虚但不要卑下,比上不足,比下有余,你不是做任何事都会是佼佼者,也不会永远是最糟糕的那个,三人行必有我师,要清楚地意识到,你总是身处一个既能教你又能向你学习的环境,世界没有你仍然会转动,要谦虚。

将25条成人准则应用到软件开发

记住,爱会原谅一切

Remember that love forgives everything.

爱是世间最伟大的力量,可以消融一切。热爱你的工作,热爱你的同事,理解和包容他们,不要纠结和放大任何错误,相信失败乃成功之母,时间会冲淡一切。

将25条成人准则应用到软件开发

培养尊严

Foster dignity.

法国大思想家蒙田说过,人受到震动有种种不同,有的是在脊椎骨上,有的是在神经上,有的是在道德感受上,而最强烈的、最持久的则是在个人尊严上。

《人性的弱点》的作者成功学家卡耐基说过,对别人的意见要表示尊重。千万别说:“你错了”。小说家马丹·杜·加尔也说,哪里有理性智慧,哪里就有尊严。

代码走查时,我们不需要对“坏”代码进行诽谤或嘲笑,我们关注事情本身,关注目标本身,分享知识,架起桥梁,相互尊重,相互依靠,一起向未来。

将25条成人准则应用到软件开发

以令人难忘的方式生活

Live memorably.

《士兵突击》里许三多说:活着就要做有意义的事,有意义的事就是好好活着。

我们常常会怀念那些努力奋斗的岁月,只有这些日子才让我们觉得人生没有虚度。

在软件开发工作中,我们在会议上热烈讨论,在同事面前激情演进,为了项目进度全情投入,为开源项目作出自己的贡献,等等,这些都让我们难以忘怀和值得回忆,奋斗吧!

将25条成人准则应用到软件开发

爱自己

Love yourself.

屠格涅夫说:“自尊自爱,作为一种力求完善的动力,却是一切伟大事业的渊源。”

孟子说:“人必自悔然后人悔之,家必自毁然后毁之,国必自伐然后人伐之。”

爱生活从爱自己开始,爱自己从爱身体开始,工作之余也要不忘锻炼,吃健康的食物……

将25条成人准则应用到软件开发

忍耐

Endure.

中国人也许是最能忍耐的民族了,工作和生活都需要足够的忍耐力,能承受所以能应对,能应对所以能经历,能经历所以能美好。

作为技术人,首先面对的是持续学习的压力,然后经常有不可预见的更改、不切实际的截止日期,等等,但是,别忘了,也有好事,不断学习到新的东西,不断成长和进步,不是吗?人生起起伏伏,需要把好事和坏事结合起来看。

将25条成人准则应用到软件开发

后记

25条准则介绍完了,Glenn Goodrich认为这些原则是健康软件文化的精髓和轮廓,在他的公司(Skookum),他们努力保持团队的健康,一起挑战和快乐,这些原则有助于形成这种文化专注。那么,你如何看待这些准则呢?

来源:尿床草

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月17日
下一篇 2022年1月17日

相关推荐