软件开发是一个失败者的游戏

2021-04-01 23:01:12

我不是说开发人员是输家,但大多数软件开发人员都没有击败软件开发,软件开发正在击败它们。

开发人员挣扎的原因是因为他们不知道他们正在扮演什么游戏或使用的最佳策略。

在编写代码的创造过程中,如果代码是错误的,那就是代码是错误的,并以最简单的方式修复它。

在Charles Ellis的论文Los ER的游戏中,他指出,专业网球是一个赢家的游戏,玩家赢得积分。使用不同的策略来使用不同的策略,让球活着,让你的对手殴打自己。

“在专家网球中,赢得了大约80%的积分;在业余网球上,大约80%的积分丢失了。换句话说,专业网球是一个获胜者的比赛 - 最终结果由获胜者的活动决定 - 业余网球是一个失败者的游戏 - 最终结果由失败者的活动决定。这两场比赛在他们的基本特征中,并不是一样的。他们是对立面的。“查尔斯埃利斯

“专家网球是我称之为胜利者的比赛。胜利是由于赢得更多的点,而不是对手赢得 - 不是,因为我们将在一瞬间看到,只是获得比对手更高的得分,但通过获胜点来获得更高的分数。斋月发现了业余网球,几乎完全不同。业余Duffer很少击败他的对手,但他一直击败自己。在这个网球比赛中的维克多得分比对手更高,但他得到了更高的分数,因为他的对手正在失去更多积分。“查尔斯埃利斯

我已经在软件开发工作了20年,在许多软件开发人员的许多项目上工作。我估计80%的软件开发人员是业余和20%的专业人士。

如果您试图破坏大多数开发团队,您将不会执行上述步骤,因为团队中的大多数开发人员不是专业人士。

“避免错误的方法是保守和保持球在玩耍中,让另一个人有足够的空间来打击他的击败方式,因为他是一个业余爱好者(可能没有读Ramo的书)玩一个失败的游戏,不知道自己。“查尔斯埃利斯

大多数开发人员低估了写作代码并高估了他们创建工作软件的能力。他们接近编写代码假设写入代码很容易,代码将第一次工作。

如果大多数开发人员是业余爱好者,我们应该将软件开发人员作为失败者的比赛,专注于减少业余爱好者倾向于制造的错误的努力。

业余开发人员的目标是编写代码,其他活动减慢了这个过程。上面的另一个步骤是创建简单的代码,在更快的情况下之前先查找错误并专注于质量。 ALM / Devops允许快速错误的免费部署,这使得快速反馈。

快速编写代码的最佳方法是专注于质量和减少错误,而不是通过编写代码更快。

错误,错误和错误的成本更为重要,项目/开发团队较大。大型团队的问题可以推迟许多人,重点应该通过在上述清单中实施活动来停止。

我已经在虫子杀死势头的项目上工作,后一段发现的错误失去了用户的信心,风险去了。

如果我们反转软件开发,则目标不是编写工作的代码,它在避免编写差的质量代码和错误时花费时间。

“这是卓越的长期优势,像我们这样的人们通过试图始终如一而不是愚蠢,而不是试图非常聪明。” - Charlie Munger.

业余开发人员认为快速编写代码是创建生产准备代码的最快方法。大方法和复杂的代码创建了一个在复杂性中增长的代码库,并添加了每一行代码更加困难。这是一种方法,仅适用于一个或两个开发人员的小项目。

此外,您可以找到一个错误的错误,修复的时间越长。例如。如果您在生产中找到一个错误,请了解它,重新创建它,然后开发人员必须在每个环境中修复代码并在每个环境中进行部署和测试,直至生产。

如果您发现具有单元测试的相同错误,您将更快地修复并降低对其他开发人员和测试人员的影响。

我们可以将简单的步骤添加到开发过程中以捕获错误,并在一个错误的游戏中,在虫中花费大量时间并从客户中排出信心,这是最有效的方法。

当我们知道大多数发展团队都是倾向于殴打自己和开发团队的业余爱好者,它使得有道理的发展团队更加重视停止错误,而不是假设每个人都是专业开发人员创造了伟大的代码。 发展中的成功不是正确创建代码第一次,它是关于避免许多失败方式。