DevOps,经常有人指出,它是一种强调相互尊重、合作、持续改进以及责任与权力相统一的文化。
与其说“不”,不如从即兴喜剧中获得启发,说“是的,而且……”或“是的,但是……”。 这将请求从“是”和“否”的二元性质转变为围绕优先级、能力和责任进行细致讨论。
但是,有时你别无选择,只能断然说“不”。 这些应该是罕见且特殊的,但它们会发生。
保护自己
敏捷和 DevOps 都被吹捧为提高客户和企业价值的方法,最终提高生产力。 虽然讲道理的人可以理解改进需要时间才能产生效果,改进将导致更高质量的工作完成,并为执行这些工作的人带来更好的生活质量,但我认为我们都可以同意,并非每个人都讲道理。 一个人对特定任务的细节了解越少,他们就越有可能期望它是“简单”和“容易”的结合。
“你告诉我 [敏捷/DevOps] 应该让我们获得更高的生产力。 既然我们现在正在做 [敏捷/DevOps],你可以满足我的需求,对吗?”
与“敏捷”一样,有些人试图用“DevOps”作为一种手段来强迫人们做超出他们能力范围的工作。 无论向你提出这个问题的人是真心诚意还是具有操纵性,都无关紧要。
我最关心的领域是**能力**、**救火/维护**、**质量水平**和**“未来的我”**。 其中许多最终与能力有关,但它们在不同方面与长期努力相关。
能力
能力很简单:你知道你的工作量是多少,以及由于意外情况会发生多少弹性。 超出你的能力不仅会导致不必要的压力,还会降低你的工作质量,并损害你在做出承诺方面的声誉。
从这里可以展开几个方面的讨论。 最简单的是“你的要求是合理的,但我没有能力去做。” 这很少能结束对话,通常会向上级领导汇报以明确优先级或重新分配工作。
救火/维护
你被要求做的事情可能不需要很长时间,但它需要你进行维护,并且你将被期望执行这些维护,包括保持它的活力并代表其他人满足对它的要求。
我脑海中的一个例子是你被要求为其他人搭建 Jenkins 服务器,但不知何故最终成为唯一的拥有者和看护者。 即使你小心地在一开始就确定了你的参与程度,你也可能承担你不同意的责任。 例如,如果服务变得不可用,你可能是被呼叫的人。 你可能会被要求帮助分类一个失败的构建。 这是你没有注册,现在必须抵挡的额外的救火和维护工作。
这需要尽早且公开地解决。 我不是说(再次,例如)搭建 Jenkins 实例是“不”,而是一个 “是的,但是”——所有各方都明白他们承担了产品的长期护理、喂养和使用。 确保让你的所有老板都参与到这次谈话中,以便他们可以支持你。
质量水平
有时你可能会遇到包含时间表的要求,而该时间表……存在问题。 也许你可以在那个时间内推出一个“最低(咳咳)可行(咳咳)产品”。 但它不会具有弹性,也不会以任何方式准备好用于生产。 这可能会影响你的时间和生产力。 最终可能会损害你的声誉。
由此产生的对话可能会陷入细节,涉及大量关于时间和功能的讨价还价。 另一种方法是问“是什么推动了这个截止日期? 该时间表来自哪里?” 讨论更大的图景可能会导致更好的选择,或者时间线不依赖于原始日期。
未来的我
最终,我们试图保护“未来的你”。 这些是从“过去的我”多次故意让“现在的我”来清理中学到的教训。 有时我们开玩笑说“那是‘未来的我’的问题”,但不要忘记‘未来的你’最终只会是‘你’。 我多次诅咒“过去的我”是个混蛋。 尽你所能阻止其他人让“过去的你”成为“未来你”的混蛋。
我知道我在这个领域拥有很大的特权,但如果你被告知你不能代表自己的福利说“不”,你应该考虑你是否受到足够的尊重来维持你的自主权。
保护用户体验
每个人都应该成为用户的拥护者。 无论该用户就在你旁边,还是在走廊的尽头,或者你从未见过并且可能永远不会见,你都必须关心客户。
对用户具有积极敌意的行为——无论是糟糕的用户体验还是更隐蔽的事情,例如悄悄地违反对隐私的合理期望——都应该说“不”。 一个常见的例子是自动将人员包括到服务或功能中,迫使他们明确选择退出。
如果“不”不受欢迎,则有必要考虑或明确询问公司与其客户的关系,公司认为谁是它的客户,以及它如何看待他们。
在提出你的反对意见时,要清楚地说明它们是什么。 此外,请记住你的同事也是人,并明确表示你不是在攻击他们的性格; 你只是觉得这个想法令人不快。
法律、道德和伦理依据
可能存在一些感觉不对的情况。 一个简单的测试是问:“如果这件事公开,或在诉讼取证中出现,会成为丑闻吗?”
道德和伦理
如果你被要求撒谎,那应该是一个明确的否定。
还记得 2017 年的大众排放丑闻吗? 排放系统软件的编写方式是,它可以识别车辆以与排放测试一致的方式运行,并且比在正常驾驶条件下运行更有效。
我不知道你在你的工作中做什么,或者你的办公室是什么样的,但我很难想象个体贡献者软件工程师会自己提出这样的解决方案。 事实上,我想到了一条评论,类似于“发动机工程师无法让他们的产品通过测试,所以我需要破解性能,以便它可以通过!”
当大众丑闻公开时,大众官员指责了工程师。 我认为它不太可能来自单个软件工程师的想法和 IDE。 相反,它更可能表明公司文化中存在重大的系统性问题。
如果你被要求撒谎,请以书面形式提出请求,并说明情况可疑。 如果你有幸拥有这种特权,请决定是否可以以它从根本上是不诚实的且对客户具有敌意,并且会破坏公众的信任为由拒绝该请求。
法律
我不是律师。 如果你的工作应涉及法律事务,包括执法部门的请求,请咨询你公司的法律顾问或与私人律师交谈。
话虽如此,如果你被要求为执法部门提供信息,我认为你有权查看证明该请求合理性的文件。 应该有一份签名的搜查令。 你应该获得一份副本,或者自己复制一份。
如有疑问,请开始录音并请求法律顾问。
已经有充分的记录表明,尤其是在美国爱国者法案的早期,执法部门向电信公司提出了如此多的请求,以至于它们成为了标准工作,并且文书工作开始松懈。 虽然繁琐且可能压力很大,但请确保满足披露的法律要求。
如果没有其他原因,我们不希望执法部门的良好工作因关键证据获取不当而面临风险,从而使其无法采纳。
总结
你将是你自己最大的倡导者。 有时你可能被要求为了更大的利益而妥协。 但是,你应该感到你的尊严得到维护,你的自主权得到尊重,并且你的道德保持完整。
如果你没有这种感觉,请将其记录在案,尽力冷静而清晰地进行沟通。
没有人喜欢被拒绝,但如果你没有说不的能力,可能存在比你的环境不是 DevOps 更大的问题。
评论已关闭。