Estou tentando descobrir sua lógica de decisão de quando fazer o que. Estou feliz em fornecer mais contexto, mas quero torná-lo geral por enquanto.
project-management
stanigator
fonte
fonte
Respostas:
É excessivamente simplificado, eu acho, mas isso é válido como uma diretriz geral:
Em um ambiente pessoal
E:
Se sim, prefiro escrevê-lo do que comprá-lo.
Em um ambiente profissional
Se o custo total de propriedade do produto (incluindo desenvolvimento, teste, manutenção, suporte ou quaisquer despesas relacionadas) for maior que o custo do produto e que o retorno calculado do investimento não compensará esse custo, você estará melhor comprá-lo e seguir em frente.
fonte
Coisas a considerar para uma decisão de fazer ou comprar
custo de desenvolvimento / custo de manutenção vs. custo do produto / custo do contrato de manutenção: é claro que é o óbvio, mas na verdade não é o único. Por exemplo, se eu vou usar o software não apenas para minha própria empresa, mas também quero vendê-lo para outras pessoas, então o cálculo parece bastante diferente
Disponibilidade de um produto adequado. Para muitos processos de negócios, simplesmente não há software padrão disponível. Ou há algo disponível, mas não é adequado, pois contém 100 recursos dos quais você precisa apenas 3 de uma maneira ligeiramente diferente, enquanto outros dois recursos importantes estão ausentes.
Alguém quer ficar dependente de um fornecedor de terceiros? Fornecedores especialmente pequenos fornecem sempre o risco de que o fornecedor desapareça do mercado no futuro, ou o desenvolvimento adicional do produto não vai na direção que você precisa. Para um produto que você tem sob seu próprio controle, você pode orientar a direção do desenvolvimento muito melhor.
Quando preciso de um software específico e o que acontece mais rápido: desenvolvê-lo por conta própria ou comprar algo, adaptá-lo até que se encaixe nos meus processos e implementá-lo? Comprar algo da prateleira pode parecer a alternativa mais rápida e às vezes mais barata, mas eu pessoalmente já vi cenários em que o desenvolvimento de um software exatamente para as necessidades de uma empresa, adequado aos processos de negócios existentes, economizava muito tempo em comparação com a compra de algo e ensinava vários centenas de usuários para fazer seu trabalho de uma maneira nova e diferente, que o custo de desenvolvimento era negligenciável.
fonte
Tudo o que tem a ver com criptografia. Existem 100.000 maneiras de cometer erros e expor seu software a sérias vulnerabilidades de segurança e apenas algumas maneiras de fazê-lo corretamente. É necessário um alto conhecimento para isso.
fonte
desenvolva por conta própria
fonte
No nível pessoal, desenvolvo uma combinação estranha do que quero e do que seria interessante escrever.
Em nível profissional, o @haylem faz uma boa observação geral sobre quando comprar versus quando escrever. Eu direi que há um elemento enorme que é esquecido: oportunidade. Para empresas maiores, geralmente faz sentido, na minha opinião, escrever aplicativos de linha de negócios de núcleo personalizados (nem todos os aplicativos de linha de negócios) ao fazê-lo, tornando a empresa mais ágil. Existe um custo de oportunidade associado à compra de software, porque sua empresa (e não apenas sua TI) fica bloqueada na maneira do fornecedor de ver seu domínio.
Para a maioria das coisas, isso não importa. É melhor que seu sistema contábil não seja criativo. Seu processador de texto será igual ao de qualquer outra pessoa. Mas o que faz você ser melhor escrito internamente, para que ele possa se adaptar ao que sua empresa está tentando realizar.
fonte
É, como praticamente todas as outras respostas disseram, uma decisão de custo-benefício:
Tudo se resume a saber se o custo, compensado pelos benefícios, de uma solução desenvolvida sob medida é menor que o custo do produto pronto para uso.
Também há custos de oportunidade a considerar. Entenda que eles não devem ser incluídos nos custos reais de desenvolvimento versus compra, mas no mundo todo, você deve considerá-los. Se sua equipe interna de desenvolvimento estiver trabalhando nesse projeto, ela não estará trabalhando em nenhum outro projeto; isso significa que, se houver outro projeto na lista que esteja custando dinheiro todos os dias, não será possível, pode ser uma prioridade mais alta, fazendo com que você arquive ou cancele o desenvolvimento personalizado e acompanhe o pacote pronto para uso. No entanto, se não fazer esse projeto significa que sua equipe interna está sentada, o custo do desenvolvedor é imenso; você está pagando à sua equipe de desenvolvimento se eles estão trabalhando ou não, por isso, custará menos se você os usar ao máximo.
fonte
Suponho que você esteja perguntando em um contexto profissional e comercial e que estamos falando de uma parte importante do seu sistema, e não de uma única biblioteca.
Fazer ou comprar x Fazer ou personalizar
Há situações em que sua organização pode usar um produto pronto para uso. Por exemplo, poucas pessoas escreveriam seu próprio processador de texto - eles usam o MS Word, ou o OpenOffice, ou o que quer. O mesmo para planilhas. Observe que você pode "personalizar" seu processador de texto com seus próprios modelos ou macros, mas as pessoas não pensam nisso como personalização. Isso é apenas "usar" o processador de texto, como eles o vêem.
Pode ser possível usar sistemas mais complicados da mesma maneira, de webshops a sistemas ERP. Mas chegará um momento em que seus designers ou o pessoal de desenvolvimento de negócios desejarão uma mudança que não esteja incluída no padrão. Um redesenho da página de checkout, talvez, ou uma nova maneira de calcular ofertas de desconto.
Se você sabe disso desde o início, sua decisão é realmente Criar ou Personalizar . Just Buy não é mais uma opção. E mesmo se não houver esses requisitos no momento, você espera que seus colegas os apresentem mais tarde?
fonte