大量开发人员如何在没有繁琐的过程或质量差的软件的情况下将软件编写在一起?

Rei*_* SE 7 performance software-quality process

我在一家公司工作,有数百人为基本相同的产品编写软件.软件的质量必须很高,因为很多人都依赖它(尤其是开发人员自己).因此,每个主要问题都导致了新的检查 - 自动或手动.

结果,交付软件的过程变得越来越繁重.所以这需要更多的开发人员......你可以看到它是一个恶性循环.

我们现在有一个快速发布软件的问题 - 即使为一个非常严重的问题更改一行代码的前置时间至少是一天.

您使用什么技术来加速大型组织中的软件交付,同时仍保持软件质量?

dby*_*rne 6

我也在一个庞大而繁琐的组织工作.我已经成功实现了几种敏捷软件开发方法,但我发现有两个特别有价值.

迭代和增量开发 - 保持您的发布周期短而紧凑.在大型团队中,如果在不同版本之间进行了大量更改,您可能会发现自己处于集成的噩梦中.

大型组织倾向于制定具有较长开发时间的大型项目计划.打这个.在开发的前两周,当您的整体感知发生变化时,计划一整年的项目是没有意义的.让您的利益相关者了解如何使用小额增量版本并适应不断变化的需求.

自动化单元测试 - 这是确保您发布高质量软件的好方法.最糟糕的错误是由看似无辜的代码更改引起的,这些更改会在其他地方产生意想不到的后果.综合单元测试可能是捕获此类错误的最佳方法.如果您可以毕业于测试驱动开发行为驱动开发,那就更好了.

任何大型组织都会有一些平庸的开发者.这是生活中的事实.自动化单元测试是一种关注它们的好方法.让一位优秀的开发人员为他们编写单元测试.您将确保至少他们的代码有效(即使它很难看).