Eu trabalho em uma loja da Microsoft, desenvolvendo principalmente web.
Tivemos um cliente que nos pediu para revisar (melhorar) o modelo de dados para seu aplicativo Web, mas disse que deseja desenvolver seu aplicativo em PHP (ele conhece "um cara" que pode fazê-lo).
Quando perguntei por que ele queria usar o PHP, ele me forneceu o conjunto padrão de argumentos dos anos 90:
- A Microsoft é má e o PHP é gratuito
- Escrever um aplicativo ASP.NET é mais caro (em termos de software)
- Por que o Facebook usaria PHP se era uma má idéia? [clássico]
Ele teve mais alguns comentários sobre os custos associados ao uso do .NET.
A verdade é que "a Microsoft é cara" não retém mais a água. Com o pacote "Express", você pode desenvolver um aplicativo ASP.NET sem pagar nada pelo software.
Quando se trata de hospedagem, você pode economizar alguns dólares com o PHP sobre o .NET, mas essa é uma pequena fração dos custos projetados de desenvolvimento (citamos 10 a 15k).
Voltando à minha pergunta, quais argumentos eu daria a um cliente em favor do ASP.NET sobre PHP? [forneça fontes para reivindicações quantitativas]
fonte
Respostas:
Apenas diga a verdade. Você não é uma loja de PHP. (Isso é motivo suficiente pelo qual você não pode fazê-lo em PHP)
Este é o preço que você está cotando para .Net. Se ele pode vencer isso em outro lugar, que assim seja.
É uma tática de vendas horrível derrubar sua concorrência com base na plataforma usada. (Mesmo que tenha muito peso na mente dos clientes)
Venda você mesmo, venda seus pontos fortes, admita onde não tem experiência. Você ganhará o trabalho por seus méritos.
"Podemos criar ótimos sites, examinar nosso portfólio, examinar nosso histórico, verificar nossas referências. Podemos fazer o que você pede e podemos fazê-lo a um preço justo e competitivo, mas não podemos fazê-lo em PHP. "
fonte
Você provavelmente está perdendo seu tempo. Se o cliente em potencial estiver considerando um emprego de US $ 10 a 15 mil e tiver dificuldade em escolher entre uma empresa profissional e "um homem", ele provavelmente não terá de US $ 10 a 15 mil. (Se ele estivesse pensando em contratar sua empresa de serviços profissionais usando ASP e outra empresa de serviços profissionais usando PHP, seria uma história diferente.)
fonte
Concordo com os comentários "porque você é uma loja asp.net" e "(um cara) == bandeira vermelha", mas tenho algumas coisas a acrescentar, algumas a favor e outras contra o asp.net. Observe que eu sou um atual MVP do MS ASP.Net, portanto, posso ter um viés aqui:
Ele está usando destaques como o Facebook como exemplo de resultados típicos do PHP. A realidade é que a natureza altamente disponível do PHP significa que há muitos desenvolvedores PHP abaixo do padrão por aí. O destaque está muito distante do típico, neste caso. Efetivamente, o PHP é o novo VB.
Ele também está equiparando milhões de dólares em investimentos em código e design feitos pelo facebook com o que ele pode esperar de seu "cara". Maçãs e laranjas aqui. Se você investir bastante tempo e dinheiro, poderá executar o facebook no COBOL e no Paradox. Isso não é para o ASP.Net nem contra o PHP. Cabe a você garantir que ele aprecie o que está comprando: tempo do programador. E talvez um certo nível de profissionalismo que você possa oferecer a ele e ao PHP, talvez não.
Você mencionou uma paridade de custo nas ferramentas do desenvolvedor. Na melhor das hipóteses, você está dizendo: "Contrate-nos porque não somos muito piores". Realmente, isso não significa nada para ele. Ele não se importa com o custo de ferramentas. Tudo o que ele vê é um custo de oferta e um custo operacional, e aqui o custo operacional (hospedagem) marginalmente mais alto pode prejudicá-lo. Não é muito, mas não é zero. Se ele está sugerindo que você pode reduzir seu lance mudando para PHP, ele está enganado.
O "cara do php" provavelmente não está planejando construir um site do zero, e talvez você também não deva. É muito mais provável que ele esteja pensando em fazer uma instalação do Joomla com um bom modelo pré-existente para levá-lo até lá e sair com todo o dinheiro para quase nenhum trabalho. Às vezes, isso é uma farsa, e o produto entregue não é bom. Às vezes, há algum valor real aqui ... se ele realmente conhece o produto, o site é um bom ajuste para o CMS, e ele dedica um tempo para fornecer um resultado polido, não há nada errado com ele. Verifique se não está esquecendo a opção de usar um bom CMS baseado em .Net como ponto de partida e, talvez, melhore seu lance dessa maneira.
fonte
Você também está errado. O Asp.Net não é "melhor" para todos e, portanto, não é melhor. Sou desenvolvedor de C # / ASP.Net e já faz 10 anos. Também fiz sites PHP profissionais, bem como fiz aplicativos em Javascript, Ruby e Objective-C.
Nenhum deles é estritamente "melhor" que os outros. Todos eles atendem a uma necessidade e, possivelmente, o PHP se adapta perfeitamente às necessidades de seus clientes.
fonte
Minha resposta padrão foi a velha máxima: "Rápido, barato, bom. Escolha dois." Você é uma loja profissional do ASP.NET, não "um cara". O benefício real para ele não está no idioma que ele escolhe, mas no suporte que recebe quando o projeto sai da produção e entra em um servidor ativo. Será que "algum cara" estará por perto para ajudá-lo quando o site falhar?
fonte
Apenas para tirá-lo do caminho, há razões legítimas para ter um requisito para uma pilha de tecnologia específica. Isso pode variar de infraestrutura (geralmente derivada de "ele precisa ser executado em hardware X, sistemas operacionais Y") até manutenção ("temos desenvolvedores em Z, mas apenas o suficiente para manter, não para construir, por isso precisamos que você o construa" , e podemos apoiá-lo a longo prazo ").
Como engenheiro de software, seus clientes devem confiar em você para criar o melhor software possível pelo dinheiro que estão pagando. Você deve obter todos os requisitos do sistema, desde funcionais até não funcionais, além de quaisquer restrições. Documente também quaisquer suposições que você fizer. Depois de ter uma boa idéia do cenário geral, você pode finalizar os requisitos e restrições.
No final, tudo depende de você dar uma recomendação e uma proposta, e seu cliente concordar com isso. Deseja comprometer o seu melhor julgamento para um cliente (ou qualquer empregador)? Eu não gostaria.
fonte
Acabei de testemunhar que uma empresa paga quase US $ 200.000 por um site de comércio eletrônico PHP ainda não pronto para o horário nobre (perdi o contrato há um ano para esses palhaços). Já passaram mais de 10 meses de tempo de desenvolvimento. O site parece maravilhoso, mas falta tantos "conceitos básicos" de comércio eletrônico, é uma piada. Admito que sou péssimo profissional de marketing - mas aqui está o argumento que a empresa PHP usou: é "gratuito" e "open source"! O Facebook usa! Linux e MySQL são "grátis"! É mais rápido que o ASP.Net! É mais rápido de desenvolver!
A verdade é que o site original (escrito em ASP.NET) tinha o dobro dos recursos e foi concluído por um único desenvolvedor em 3 meses a um custo de US $ 25 mil (incluindo o custo de uma licença de CPU COMPLETA e única do SQL Server 2008 R2 E Visual Studio Pro). O site de US $ 200.000 contava com uma equipe de desenvolvedores, e AINDA não está concluído após 10 meses, é metade da velocidade (com cache) do site antigo.
Se você quiser vendê-los para o ASP.Net, diga "LAMP pode ser gratuito, mas seu tempo de desenvolvimento custará mais ... MUITO MAIS!" O Facebook roda PHP, é verdade, mas eles começaram em um apartamento onde o dinheiro era baixo e o tempo era livre. Atualmente, o Facebook usa programas compilados da Oracle e MUITOS (atualmente esse ponto é discutível).
Se você precisar de reutilização e manutenção simples de código, as linguagens de script podem se transformar rapidamente em um pesadelo (incluindo o ASP aqui também).
Se você precisar de desempenho, escolha uma linguagem compilada - nenhuma linguagem com script competirá com o código compilado e nunca, pois o intérprete sempre adicionará sobrecarga. O armazenamento em cache ajuda tremendamente, mas o ASP.Net também possui armazenamento em cache.
Certamente, o Linux é gratuito, mas os especialistas em Linux são muito caros quando algo dá errado. O servidor Win custa $$$ antecipadamente, mas os especialistas são baratos de encontrar (e quase onipresentes) quando algo dá errado. A conectividade com as redes win é estúpida, simples e sólida, por isso é fácil integrar-se a outros sistemas de negócios (pacotes de contabilidade, remetentes etc.) com o melhor gerenciamento de contas de usuário que já vi (embora a MS tenha emprestado muito da Novell) .
A sobrecarga da GUI que o pessoal do Linux diz ser um grande desperdício de recursos é quase um problema no hardware atual. Se você tiver algum problema, há versões não GUI do Windows Server (versão "Core") disponíveis com o powerShell.
fonte
O grande motivo para você não usar o PHP é que isso custará muito mais tempo à sua loja.
No entanto, em vez de apenas dizer "não", você tem outra opção. Você pode fazer isso em PHP, desde que o cliente esteja disposto a pagar pelo custo adicional de seus desenvolvedores para aprender um novo idioma / plataforma.
Isso faria o tempo valer a pena para você e, na verdade, ele estaria pagando por educação adicional para seus desenvolvedores. Fazer algum trabalho de desenvolvimento em PHP não os prejudicará, eles provavelmente aprenderão algumas coisas.
Se ele não estiver disposto a pagar o custo adicional, estará procurando outra pessoa.
fonte
Você não Se essas são as coisas sobre as quais o cliente está discutindo antes mesmo do início do projeto, você deve acionar o cliente. Mesmo que você o convença a seguir a rota do .NET, ele nunca será feliz. Se o cliente "conhece um cara", ele deve usá-lo. Eles já se decidiram.
fonte
Verifique o preço da hospedagem para Windows e Linux. A diferença é bem próxima. Agora, o SQL Server é outra questão de preço. Ele planeja pagar pelas ferramentas de desenvolvimento? Por que ele deveria se importar com o quanto você investiu no Visual Studio?
Sua empresa pode competir com o argumento 'eu conheço um cara', fornecendo quantos desenvolvedores qualificados forem necessários e gerenciar a rotatividade durante a vida do projeto? Não que você não encontre desenvolvedores qualificados de PHP.
O Facebook agora converte seu PHP em código C + . Os sites SO se saem muito bem com o ASP. Jeff e Joel nunca faria nada de mal.
fonte