5

假设有人要求我为他们构建一个带有大量自定义的 youtube 克隆,以支持他们想做的一大堆古怪的事情。

我如何决定从头开始构建还是建立白标或开源产品对我来说更好?

由于我过去的工作经验,我倾向于从头开始构建,因为这样我就会知道我正在构建的细节。这有助于更好的发布后支持和可扩展性。对于我的团队中没有人使用过的现成解决方案,我从来没有感到自在。我不太确定我得到了什么。我不知道它是否能完成我想做的所有事情,它的文档记录如何,以及我是否会在 6 个月后开枪打死自己。

有这么多我从未使用过的现成解决方案,在我决定从头开始构建是否是一个好主意之前,我该如何评估它们?

如果我正在为预算紧张的人构建这个,但他们也期望我在路上得到很多支持怎么办?(即购买解决方案符合预算,但我担心之后支持它)

4

10 回答 10

2

在构建克隆时,我会更自在地从头开始,因为您有一个很好且经过验证的示例可以努力。(终极规范!)如果您尝试评估/实现一些其他系统以匹配现有产品,那么当基本代码无法实现您的最终目标时,您将更有可能遇到严重的问题。我也同意你所有的维护考虑。

此外,评估系统非常耗时且并非万无一失。我曾经花了一个月的时间在第 3 方网格之间做出选择,最后它基本上是掷骰子。我评估了十几个产品一个月。我可以触摸多少功能?5% 可能。

于 2009-12-09T16:50:35.740 回答
2

从发布的问题:

“由于我过去的工作经验,我倾向于从头开始构建,因为这样我就会知道我正在构建的细节。”

无意冒犯,但听起来你没有在这里发明综合症。这通常被认为是“坏事”(tm)。另一方面,乔尔·斯波尔斯基(Joel Spolsky)的防守很好,有一条建议:

“如果它是核心业务功能——不管怎样,自己做吧。” ——乔尔·斯波尔斯基

那么,制作古怪的 youtube 克隆是您的核心业务吗?

于 2009-12-09T16:56:12.933 回答
1

问题#1:维护这个网站的长期计划是什么?

回顾几十年的建造/购买决策,这是一开始就应该问的一个最重要的问题。

于 2009-12-09T16:43:28.040 回答
1

如果你能找到一个开源项目的许可条款让你感到满意(例如,不是 GPL,除非你计划在 GPL 下发布你的工作),你至少应该查看他们的代码以大致了解一些类似的项目奏效了。然后,您应该决定开源项目是否与您想要做的事情足够相似,以便您可以构建它。如果是这样,建立它。如果没有,请对它给出的想法表示赞赏,也许可以在这里和那里借用一个片段,然后(大部分)从头开始编写你自己的。

如果您要构建的工作是封闭源代码或开源的,但过于复杂以至于您永远无法理解或修改它,那么您应该自己动手。对我来说,归根结底是如果出现问题或者它没有完全按照你的意愿做,你是否能够修复现成的解决方案。

于 2009-12-09T16:49:31.353 回答
1

您没有现成产品的经验并不意味着没有人使用过它。环顾网络,在这里询问,如果其他人对特定产品有过很好的体验,您可能也会有。

而在维护方面,一年后进行维护的人可能无论如何都没有参与原始开发,只要代码写得好,代码是否是内部编写的,对他们没有影响。

于 2009-12-09T17:00:06.420 回答
0

确定重要因素的列表,并以不同的详细程度检查每个产品:D

于 2009-12-09T16:42:25.797 回答
0

如果无法进行估计,请收集更多信息(调查)。

对这两种解决方案的成本和收益进行估计,然后你就会做出决定,即使它可能根本不做这个项目。

实际上,估计/调查包括找到所有可以利用的东西。

一个项目就是这样开始的。祝你好运!

于 2009-12-09T16:46:55.337 回答
0

您可以更多地量化您的选择以帮助您做出决定。

如果您对构建所需的内容和评估每个部分的复杂性进行初步估计,您可以对构建需要多长时间进行粗略的数量级猜测。(这需要提前对设计进行一些思考。)接下来,如果您按小时工作,请计算您的劳动量,增加 1/3 以解决不可预见的问题,并添加您计划集成的任何工具或软件包的成本。

现成的零件是否完全符合您的要求,还是需要定制?多少定制?多久才能做到?你的人工成本是多少?

将该成本与购买现成组件的成本进行比较。节省的钱是否可观?

于 2009-12-09T16:48:46.567 回答
0

如果您可以确定一个包可以满足您的用户想要的大约 90%,那么请使用该包,但前提是用户愿意放弃该包不支持的 10%。大多数用户实际上是明智的,并且会选择这个选项,特别是因为它比定制开发便宜得多。但如果用户坚持100%满足自己的需求,那就去定制开发,做相应的计划和收费。

于 2009-12-09T16:53:43.190 回答
0

这一切都归结为特性、约束、可扩展性和成本

如果现成的产品具备所有这三个并且成本低于您编写它所需的成本,那么就购买它。

于 2009-12-09T17:04:09.270 回答