Preço de um Aplicativo Java

To com uma duvida cruel, fui requisitado para desenvolver um aplicativo simples para uma eletronica. É bem simples, tem que ter cadastro de usuario, ordens de serviço, etc…, mas o problema é que eu não tenho a minima ideia de quanto custa um serviço assim. Alguem tem alguma sugestão ???

Cobre por hora de desenvolvimento, e adicione uns 10 a 20% de gordura.

Caso voce seja iniciante, nao baixe o preço, mas nao se resuma as horas que o cliente pagou.

Mas quanto seria a hora mais ou menos ???

Não duplique tópicos!

http://www.guj.com.br/posts/list/95939.java

Coisa simples, você tem que cobrar o preço do seu conhecimento.

O mínimo dos mínimos é R$50 mangos a hora. E não se esqueça da tributação que come pesado em vários estados (TO é 27,5%).

Eu não gosto dessa estória de por hora então vou-lhe dar outra sugestão. Vc decide.
Converse com a pessoa e pergunte exactamente o que ela quer. Cadastro de usuários ? para quê ? Controlar acesso?
Controlar como ? Quais funcionalidades são restritras ? (ai vc obtem uma lista de funcionalidades) , etc…
É uma conversa , converse, pergunte, investigue. Imagine que o cara é testemunha de um crime e vc o investigador. Vc não pode assumir que ele é apenas a testemunha, ele pode bem ser o criminoso. Entre na cabeça dele. Converse.

Anote TUDO o que ele lhe disser. Se puder usar um gravadorzinho melhor.
Tente entender em quais partes ele se entusiasma mais. Essas são as que têm valor para ele. É isso que ele quer ver feito.
Pergunte qual é a pressa em ter o sistema. Isso afetará o valor de entregar o sistema o quanto antes.

Depois que vc sabe o quê tem que ser feito , estime quanto esforço vc vai despender. quantas horas de trabalho e estudo serão necessárias. Não estime valores únicos, estime minimos (otimista) , máximos (pessimista) e valores que vc acha que são razoáveis para cada item ( mais prováveis)

Exemplo: cadastro de usuário
= tela de listagem -> De 4 a 10 horas mas o mais provável é 6

  • tela de cadastro -> De 4 a 10 horas mas o mais provável é 6
  • acesso a banco -> De 10 a 20 horas mas o mais provável é 13

para casa item faça a conta : (minimo + 3 mais provável + 2* máximo) /6
Some o resultado desta conta para todos os itens.
Isso é o tempo estimado para o sistema. converta esse tempo em dias de calendário. Ou seja, quantos dias reais são necessários para vc poder usar essas horas todas. Por exemplo se vc trabalha só ao sabado 5 horas, e der 500 horas vc precisa de 100 sabados. (2 anos) Mas isso pode ser muitos mais meses do que o cliente está disposto a esperar.

Verifique se está de acordo com o tempo que o cara passou. Se não estiver faça pacotes. Ou seja, corte tudo o que não é essencial. E entregue apenas essa parte. Depois vc entrega as outras. Isso tem dois propositos : 1) o cara fica mais satisfeito vendo que vc esta trabalhando e testanto o sistema. 2) vc não não sofre tanto com a pressão do tempo.
Cobre pela entrega. Veja quanto tempo vc usou , multiplique isso pelo custo desse tempo ( energia, alimentação, deslocamento, etc…) adicione o valor do seu trabalho. Funcionaldiades com mais valor , custam mais. Some e obtenha um valor. Divida esse valor de volta nas horas gastas. Esse é o seu valor/hora. Seja se ha margem para aumentar. Por exemplo, deu 23$R/h , mas vc acha que se pedir 50 o cara não vai reclamar. Então peça 50. Mas lembre-se , quanto mais pedir, mas responsabilidade tem, e o cliente vai-lhe cobrar mais qualidade no produto. Não é fácil equilibrar esta parte.

Agora vc tem duas hipoteses, cobrar por hora ou cobrar por pacote. a forma de calcular o numero é a mesma, mas o primeiro implica em que vc terá um prazo especifico para terminar, o segundo não. No segundo vc pode dar um prazo maior que o que vc estimou que leva a completar o pacote. É uma margem para si que o cliente não tem que pagar.

Orçar software não é fácil e não existe receita de bolo, mas eu acho que simplesmente chutar um valor/hora pode ser um tiro no seu próprio pé.

Outra opção é fechar um valor fixo, por exemplo 20.000. Se custar mais, vc fica com o prejuízo, mas tem mais experiência. da próxima vc calcula melhor. Se custar menos, vc fica com o lucro.


Só uma nota. Não pense que porque vc não tem experiencia que o que está fazendo não tem valor. Sim tem valor. É por isso que alguem está disposto a lhe pagar. Não se menospreze, porque o cliente usará isso para diminuir o custo. Mas tb não diga que é mais do que é, por isso é desonesto e o cliente saberá identificar isso. Nesse caso ele não o chamará para outros projetos e não o recomendará a outras pessoas. Ou seja, acima de tudo seja honesto, consigo mesmo e com o cliente. Converse.

sergiotaborda exelente texto muito bem redigirido, parabens

vlws

Muito obrigado pela dica de todos, foi de grande ajuda.

Eu não gosto dessa estória de por hora então vou-lhe dar outra sugestão. Vc decide.
Converse com a pessoa e pergunte exactamente o que ela quer. Cadastro de usuários ? para quê ? Controlar acesso?
Controlar como ? Quais funcionalidades são restritras ? (ai vc obtem uma lista de funcionalidades) , etc…
É uma conversa , converse, pergunte, investigue. Imagine que o cara é testemunha de um crime e vc o investigador. Vc não pode assumir que ele é apenas a testemunha, ele pode bem ser o criminoso. Entre na cabeça dele. Converse.

Anote TUDO o que ele lhe disser. Se puder usar um gravadorzinho melhor.
Tente entender em quais partes ele se entusiasma mais. Essas são as que têm valor para ele. É isso que ele quer ver feito.
Pergunte qual é a pressa em ter o sistema. Isso afetará o valor de entregar o sistema o quanto antes.

Depois que vc sabe o quê tem que ser feito , estime quanto esforço vc vai despender. quantas horas de trabalho e estudo serão necessárias. Não estime valores únicos, estime minimos (otimista) , máximos (pessimista) e valores que vc acha que são razoáveis para cada item ( mais prováveis)

Exemplo: cadastro de usuário
= tela de listagem -> De 4 a 10 horas mas o mais provável é 6

  • tela de cadastro -> De 4 a 10 horas mas o mais provável é 6
  • acesso a banco -> De 10 a 20 horas mas o mais provável é 13

para casa item faça a conta : (minimo + 3 mais provável + 2* máximo) /6
Some o resultado desta conta para todos os itens.
Isso é o tempo estimado para o sistema. converta esse tempo em dias de calendário. Ou seja, quantos dias reais são necessários para vc poder usar essas horas todas. Por exemplo se vc trabalha só ao sabado 5 horas, e der 500 horas vc precisa de 100 sabados. (2 anos) Mas isso pode ser muitos mais meses do que o cliente está disposto a esperar.

Verifique se está de acordo com o tempo que o cara passou. Se não estiver faça pacotes. Ou seja, corte tudo o que não é essencial. E entregue apenas essa parte. Depois vc entrega as outras. Isso tem dois propositos : 1) o cara fica mais satisfeito vendo que vc esta trabalhando e testanto o sistema. 2) vc não não sofre tanto com a pressão do tempo.
Cobre pela entrega. Veja quanto tempo vc usou , multiplique isso pelo custo desse tempo ( energia, alimentação, deslocamento, etc…) adicione o valor do seu trabalho. Funcionaldiades com mais valor , custam mais. Some e obtenha um valor. Divida esse valor de volta nas horas gastas. Esse é o seu valor/hora. Seja se ha margem para aumentar. Por exemplo, deu 23$R/h , mas vc acha que se pedir 50 o cara não vai reclamar. Então peça 50. Mas lembre-se , quanto mais pedir, mas responsabilidade tem, e o cliente vai-lhe cobrar mais qualidade no produto. Não é fácil equilibrar esta parte.

Agora vc tem duas hipoteses, cobrar por hora ou cobrar por pacote. a forma de calcular o numero é a mesma, mas o primeiro implica em que vc terá um prazo especifico para terminar, o segundo não. No segundo vc pode dar um prazo maior que o que vc estimou que leva a completar o pacote. É uma margem para si que o cliente não tem que pagar.

Orçar software não é fácil e não existe receita de bolo, mas eu acho que simplesmente chutar um valor/hora pode ser um tiro no seu próprio pé.

Outra opção é fechar um valor fixo, por exemplo 20.000. Se custar mais, vc fica com o prejuízo, mas tem mais experiência. da próxima vc calcula melhor. Se custar menos, vc fica com o lucro.


Só uma nota. Não pense que porque vc não tem experiencia que o que está fazendo não tem valor. Sim tem valor. É por isso que alguem está disposto a lhe pagar. Não se menospreze, porque o cliente usará isso para diminuir o custo. Mas tb não diga que é mais do que é, por isso é desonesto e o cliente saberá identificar isso. Nesse caso ele não o chamará para outros projetos e não o recomendará a outras pessoas. Ou seja, acima de tudo seja honesto, consigo mesmo e com o cliente. Converse.
[/quote]

Eu discordo em partes.

Isso de conversar pra saber o que o cara quer realmente, não é tão util pra definir preço. Isso só é bom pra definir a modelagem, etc. Quase todo cliente no final das contas quer alguma coisa que não estava no projeto e não acha que é certo pagar por isso, ou seja, o famoso chorinho. Contrato demora um tempo bom pra ser redigido e a grana final pra um contrato bem redigido é muito alta.

É ai que entra a utilidade da tal “gordura”. E não se esqueça da taxa de manutenção mensal do software.

Hum…
Conversar = saber requisitos = tamanho do modelo & esforço = custo = preço
Conversar = saber porquê o cara quer um software = valor = preço
Conversar = saber o que ele não quer = riscos = custo = preço
Conversar = saber espectativas = tempo , prazo e iterações = custo = preço

Se isso não é util, o que seria util então ?

Sim, mas isso é apenas uma parte da utilidade.

Por isso que existem vendedores e desenvolvedores e eles não devem ser a mesma pessoa… :lol: :lol:
Vc pode sempre reorganizar modelos, prazos e custos e preços conforme vai. Isso que significa ser ágil.

[quote]
É ai que entra a utilidade da tal “gordura”. [/quote]

É que “gordura” é sinônimo de “não sei estimar @#$@#$ nenhuma, vou no chute mesmo” em vez de “eu sei o risco que corro, sei
o que posso pedir e sei o que não posso. É um chute, mas mais afinado” (educated guess)

[quote=sergiotaborda][quote=Sergio Figueras]
Eu discordo em partes.

Isso de conversar pra saber o que o cara quer realmente, não é tão util pra definir preço.
[/quote]

Hum…
Conversar = saber requisitos = tamanho do modelo & esforço = custo = preço
Conversar = saber porquê o cara quer um software = valor = preço
Conversar = saber o que ele não quer = riscos = custo = preço
Conversar = saber espectativas = tempo , prazo e iterações = custo = preço

Se isso não é util, o que seria util então ?

Sim, mas isso é apenas uma parte da utilidade.

Por isso que existem vendedores e desenvolvedores e eles não devem ser a mesma pessoa… :lol: :lol:
Vc pode sempre reorganizar modelos, prazos e custos e preços conforme vai. Isso que significa ser ágil.

[quote]
É ai que entra a utilidade da tal “gordura”. [/quote]

É que “gordura” é sinônimo de “não sei estimar @#$@#$ nenhuma, vou no chute mesmo” em vez de “eu sei o risco que corro, sei
o que posso pedir e sei o que não posso. É um chute, mas mais afinado” (educated guess)[/quote]

E é lógico que vendedores e desenvolvedores não devem ser a msm pessoa. Mas acontece, como provavelmente tá acontecendo com o colega ai do topico. Desenvolvedor é só o cara que fica na frente do pc, programando, e no final do mes recebe o salario. Isso em uma postura organizada. Mas essa postura organizada precisa de custos.

Agora imagina que o cara tá começando uma empresa de sofware sozinho. Até faxineiro ele vai ter que ser.

Sinceramente? Eu acho que só quem consulta clientes dos sonhos que acha que a gordura não serve pra nada.

O preço é LOGICAMENTE definido pelo valor que voce cobra embasado no numero de horas gastas pro desenvolvimento. E se você é experiente, dá pra calcular tranquilamente. Assim como um taxista. Ou alguem aqui ja pegou um bom taxista que errou o preço de uma longa distancia em mais de um real?

Garanto pra você que se você for em uma rede de oficinas ou de pneus, e os caras te pediram pra fazer um sistema, os caras vão chorar até o rabo pelo preço, e por mais uma porrada de coisa. É aí também que entra a gordura. A gordura também entra pra eventuais alterações que o louco do cara errou na hora de pedir.

Fiz um sistema pra um sindicato de bancários, os caras queriam pagar R$2000 por todo o software de administração, relatórios, e o banco de dados. A manutenção queriam fechar por R$200,00. No final, MESMO com o contrato assinado, com toda a modelagem registrada em cartório, etc, os caras queriam mudar um monte de coisas e pagar R$200,00. Agora vai processar esse cliente, pra tu ver o trabalho. Mexer com sindicato não é coisa boa MESMO.

Pode ser estranho, mas se encontra clientes assim por todo o globo. Não só de multinacionais dá pra viver - ou de clientes dos sonhos.

Se quiser incorporar uma boa prática para o longo prazo, estude estimativa por Casos de Uso ou Pontos de Função.

É complexo, requer vários ciclos de análise/projeto/desenvolvimento até aperfeiçoar a técnica, requer o uso de planilhas ou até sistemas, mas o retorno a longo prazo é muito satisfatório. E é uma prática adotada em grandes corporações que utilizam modelos formais, como o RUP.

Se achar complicado, siga a lei “quem regula o preço é o mercado”. O fornecedor tem que trabalhar na redução de custos e ganhos em escala.

Pesquise os concorrentes, analise os fornecedores da sua região, seus pontos fracos e fortes e determine o diferencial da sua solução. Atente para o fato de que produtos já existentes tem preço baixo devido à escala: o produto já existe, seu custo de desenvolvimento já foi diluído entre a base de clientes.

Se for um sistema único, personalizado, que você não conseguirá vender para outros clientes, com certeza o custo para um cliente será muito alto, pois ele terá que arcar sozinho.

Se há expectativa de vender para mais clientes, deixe isso claro no contrato (os direitos do software são seus e não do cliente) e calcule o valor de uma licença baseado na estimativa de clientes em potencial.

penso que a idéia do sergiotaborda seria a melhor opção.

e nunca se esqueça…NÃO EXISTE SISTEMINHA SIMPLES HUSHUSHUHSUHUS…todos sistemas tem que
1 - cadastros
2 - relatórios
3 - Impressões