Greenfield

Greenfield é um termo originado da indústria da construção para se referir a terrenos que nunca foram usados ​​ou não estão desenvolvidos. Com terrenos greenfield, não há necessidade de demolir ou reconstruir qualquer edifício ou infraestrutura existente. O uso do termo evoluiu e agora é usado em outras indústrias. Na maior parte, um projeto greenfield é aquele que não possui restrições impostas por trabalhos anteriores.

Projetos greenfield em desenvolvimento de software

No desenvolvimento de software, um projeto greenfield é um projeto desenvolvido do zero, e não a partir de um programa existente. A criação de um sistema do zero requer o desenvolvimento do zero, sem código legado. Esses tipos de projetos são considerados de alto risco, pois geralmente exigem nova infraestrutura, clientes e, possivelmente, novos proprietários. Por causa do fator de risco, o uso de metodologias ágeis de desenvolvimento de software é considerado a melhor abordagem, pois a ênfase é colocada em capacitar as pessoas a colaborar e tomar decisões em equipe, além de planejamento, teste e integração contínuos.

Um projeto 100% greenfield é raro, já que a maioria dos desenvolvedores irá interagir ou atualizar o código existente ou permitir integrações. Exemplos de projetos de desenvolvimento de software greenfield incluem:

  • Construir um novo site ou aplicativo
  • Configurando um novo data center
  • Implementando um novo mecanismo de regras

Desenvolvimento de software greenfield vs. brownfield

Na mesma linha de construção, brownfield é um termo que descreve terras anteriormente desenvolvidas. Em contraste com um projeto greenfield, um projeto brownfield descreve software construído a partir de um programa existente. O desenvolvimento brownfield normalmente acontece quando um aplicativo existente precisa de melhorias ou desenvolvimento adicional. Exemplos de projetos de desenvolvimento de software brownfield incluem:

  • Adicionando um novo módulo a um sistema empresarial existente
  • Integrar um novo recurso em um aplicativo de software
  • Atualizar o código para aprimorar a funcionalidade de um aplicativo

O desenvolvimento greenfield é geralmente mais flexível do que brownfield, pois um novo programa não precisa se ajustar a um molde específico. No entanto, sem uma direção clara, o grau de risco é comparativamente maior com o greenfield e consome muito mais tempo, pois todos os aspectos do sistema precisam ser definidos.

Embora o desenvolvimento brownfield ofereça a capacidade de adicionar melhorias às soluções existentes, ele requer conhecimento detalhado e preciso das restrições da infraestrutura e TI existentes para evitar falhas. No geral, o desenvolvimento de brownfield custa menos em tempo e dinheiro e é muito menos arriscado do que o desenvolvimento de greenfield.

Links relacionados