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