【发布时间】:2010-09-07 15:09:16
【问题描述】:
这不是一个有准确答案的问题(严格来说,最好通过民意调查获得答案,但该功能不可用),但我真的对答案很感兴趣,所以无论如何我都会问。
在您的职业生涯中,与brownfield 相比,您在greenfield 开发上花费了多少时间?
在过去的 10 年中,我估计我在绿地上花费了 20%,在棕地上花费了 80%。这是典型的吗?
【问题讨论】:
这不是一个有准确答案的问题(严格来说,最好通过民意调查获得答案,但该功能不可用),但我真的对答案很感兴趣,所以无论如何我都会问。
在您的职业生涯中,与brownfield 相比,您在greenfield 开发上花费了多少时间?
在过去的 10 年中,我估计我在绿地上花费了 20%,在棕地上花费了 80%。这是典型的吗?
【问题讨论】:
我认为与客户打交道的专业人士通常会花更多时间在棕地开发上。原因是客户通常不愿意放弃他们现有的软件来采用“最新最好的”(绿色)软件。
但是,研究或学术领域的开发人员可能更有可能进行绿地开发。初创企业也是如此。
【讨论】:
我认为您的 20:80 比例代表了许多/大多数开发人员。至于新开发:如果您正在逐步构建软件(Scrum、XP 等),那么有人可能会争辩说您几乎将所有时间都花在了棕地开发上。除了最初的迭代/探索性工作、原型设计,即使您正在构建新的东西,您也已经在使用已建立的代码库、重构和扩展。那么有多少绿地开发实际上是绿色的呢?
【讨论】:
在过去十年左右的时间里,我一直致力于开发用作公司业务中心的软件。 (SaaS 和软件产品。)虽然我总是使用现有系统(如此棕地),但我们通常会推出一个全新的重新设计/重写(如此绿地)。所以,打破下:
所以,这似乎与你相反。这是我寻找的公司的性质,也是项目的性质。我的软件是我们公司的主要产品,这意味着我多年来一直使用相同的代码库,通常是在我自己/我们自己从头开始创建它之后。
我喜欢这样。
【讨论】:
问题通常不仅仅归结为棕地与绿地。在某些情况下,有一个混合绿地/棕地方法的有效机会。
我写了一篇名为“经典软件错误:重新开发或重构遗留代码”的文章,其中讨论了这个确切的主题并概述了一系列可能的组合,然后评估每个组合的后果。
http://stepaheadsoftware.blogspot.com.au/2012/09/greenfield-or-refactor-legacy-code-base.html
有些人可能会感到惊讶的是,非技术属性,即公司规模,将成为战略选择和该战略成功可能性的重要决定因素。
【讨论】: