使用预发布开发工具进行开发

时间:2010-09-29 15:51:01

标签: language-agnostic frameworks alpha devtools

我们正在开发一个网站。我们正在使用的开发工具之一有下一版本的alpha版本,其中包含我们真正想要使用的一些功能(即它们可以使我们免于实施数千个无论如何,这些行完全相同。)

我已经对它进行了一些初步评估,我喜欢我所看到的。问题是,我们应该开始实际使用它吗?即仅仅评估它,实际上将它用于我们的开发并依赖它?

作为alpha软件,它显然还没有准备好发布......但是我们自己的代码也不是。它是开源的,我们拥有调试它所需的技能,因此我们理论上可以实际上提供错误修复。

但另一方面,我们不知道它的发布时间表是什么(它们尚未发布),虽然我觉得可以用它开发,但我不会那么肯定使用它在生产中如果它还没有准备好,那么它可能会推迟我们自己的发布。

你怎么看?是否值得承担风险?您是否有类似情况的经历(好的或坏的)?

[编辑] 我故意没有指定我们正在使用的语言或有问题的开发工具,以便将问题的范围扩大,因为我觉得这个问题几乎适用于任何开发环境。

[EDIT2] 感谢Marjan的回复。我希望有更多的回应,所以我会对此给予赏识。

4 个答案:

答案 0 :(得分:3)

我曾经有过一次开源项目的经验,就像你说你希望做出贡献一样。他们忽略了补丁一年(他们当然有客户参加,虽然他们不出售软件而是支持)。一年之后,他们拒绝了补丁,没有替代解决问题的方法,也没有坚实的基础来做到这一点。我想那时它只是超出了他们的范围。

在你的情况下,我会尝试解决其中一个或两个不那么高优先级,已经报告过的错误,看看它们的响应性如何,然后再决定。因为你在截止日期上的成功将会受到他们的影响。如果你必须保留他们的文物的副本,这确保了痛苦。

简而言之:不仅评估产品,还要评估生产者。

问候。

答案 1 :(得分:2)

我个人对此的看法:不要。如果他们没有在你的时间范围内为你服务,那么你就会被困住,并且仍然需要自己投入数千行,并且可能会受到很长时间的限制。

话虽如此,有一种方法我认为你可以尝试吃蛋糕并吃掉它。

如果你看到一种方法来抽象它,那就是将你自己的代码与库隔离,例如使用适配器或外观模式,然后继续使用alpha进行开发。但是根据您的发布计划确定事先最新日期是什么,您应该开始在适配器/外观后面开发自己的数千行版本。如果阿尔法在那时还没有变成RC:咧嘴笑并忍受它并开发自己的。

答案 2 :(得分:2)

取决于。

对于开源环境,它更多地取决于发布的质量而不是它具有的标签(alpha / beta / stable)。我使用的alpha代码与来自其他制作人的所谓生产代码相比是坚如磐石的。

如果您有源代码,那么您可以修复任何错误,而对于封闭源代码(通常是商业支持的),您永远不会发布使用beta产品构建的生产代码,因为拥有该代码的供应商不支持它,并且所以你无法解决它。

因此,在您的位置,我将评估alpha版本的质量,然后决定是否可以投入生产。

当然,以上所有内容都不适用于任何远程安全至关重要的事情。

答案 3 :(得分:2)

这只是管理风险的问题。在开源中,alpha版本可能意味着很多不同的东西。你需要做好准备:

  • 处理API更改;
  • 提供错误修复和解决方法;
  • 自己测试稳定性,性能和可扩展性;
  • 更密切地跟踪变化,然后决定是否采用;
  • 跟踪他们正在取得的进展以及他们对补丁/问题的响应能力。

你确实使用持续集成吗?