65.9K
CodeProject 正在变化。 阅读更多。
Home

誓言三角形

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2019 年 11 月 2 日

CPOL

4分钟阅读

viewsIcon

4587

本文讨论了应该支撑商业软件开发的道德美德,以确保健康的合作。

免责声明

这篇文章是我对应该支撑商业软件开发以确保健康合作的道德美德的个人观点,但我不是伦理哲学家,我可能完全错了。

本文基于之前的文章“软件开发作为价值领域的研究”,我建议首先阅读这篇文章。

任何傻瓜都能知道。关键是要理解。
阿尔伯特·爱因斯坦

他们从此幸福地生活在一起…

小威拉德·H·哈利将婚姻定义为一种合同,赋予每个配偶满足对方需求的专属权利。在某些文化中,这一点在结婚誓言中明确说明,在某些文化中则没有。然而,每个配偶都有他或她需要满足的基本需求,才能使关系持续下去。

就业就像婚姻。也许不完全是,但它是员工和雇主之间长期的情感关系。快乐的员工认同公司,并共同为公司的成功而努力。一家成功的公司关心它的员工,将他们视为其成功的源泉。但与婚姻不同的是,软件开发包括三个参与者:客户、企业和开发人员,他们共同努力,通过软件解决方案满足彼此的需求。

图 1. 三个利益相关者。

就像婚姻从誓言开始一样,软件解决方案的开发也应该从每个利益相关者向其他人宣誓开始。

开发人员的誓言(作者:罗伯特·C·马丁

我承诺,尽我最大的能力和判断力

  1. 我不会编写有害的代码。
  2. 我编写的代码将始终是我最好的作品。我不会故意允许在行为或结构上有缺陷的代码堆积。
  3. 我将每次发布时,都提供快速、可靠和可重复的证明,证明代码的每个元素都按预期工作。
  4. 我将进行频繁的小发布,以免阻碍他人的进步。 – 满足灵活性的需求。
  5. 我将无所畏惧地、不遗余力地在每一次机会中改进我的创作。我永远不会贬低它们。
  6. 我将尽我所能,保持自己和他人的生产力尽可能高。我不会做任何降低生产力的事情。
  7. 我将持续确保其他人可以为我分担工作,而我也可以为他们分担工作。
  8. 我将给出诚实的估算,无论是在数量级还是精确度上。我不会在没有把握的情况下做出承诺。
  9. 我将永不停息地学习和提高我的技能。
  10. 我将积极寻找为企业、客户和我创造平衡价值的机会。

商业誓言

我承诺,尽我最大的能力和判断力

  1. 我将尊重程序员,将他们视为与我一起朝着共同目标努力的合作伙伴
  2. 我将清晰地传达目标,并提供完成高效工作所需的所有信息。
  3. 我将倾听并利用程序员的建设性批评。
  4. 我不会强迫程序员采取不道德的行为。
  5. 我将鼓励程序员不断学习和提高他们的技能,以实现共同利益。
  6. 我不会容忍糟糕的程序员
  7. 我不会对程序员施加不合理和不切实际的截止日期和要求。
  8. 我将根据所提供的价值奖励程序员。
  9. 我不会向客户做出不合理的承诺。
  10. 我不会通过使用模糊性、不遵守标准、数据锁定或任何其他手段来寄生于我的客户。
  11. 我将经营业务以产生价值,而不仅仅是利润。

客户誓言

我承诺,尽我最大的能力和判断力

  1. 我将把我的软件供应商视为我的业务合作伙伴,与我一起朝着共同目标努力。
  2. 我将充分、清晰地传达我的需求,并提供完成高效工作所需的所有信息。
  3. 我将倾听并利用我的软件供应商的建设性批评。
  4. 我不会强迫我的软件供应商采取不道德的行为。
  5. 我不会对我的软件供应商提出不合理的要求。
  6. 我将根据所提供的价值来奖励我的软件供应商。

但是为什么…

任何人类努力的原因都是为了满足现有的需求。由于婚姻和工作在大多数人的生活中占据核心地位,因此它们都需要一套自愿接受和遵循的规则,以实现共同利益。我将让读者自己去探索所提出的誓言如何满足利益相关者的需求。

© . All rights reserved.