Consultoria Java... quanto cobrar?

Pessoal, seguinte…

Tem uma empresa que desenvolve com PHP e tá a fim de passar a desenvolver novos projetos usando JAVA.

Estou em fase de negociação para montar uma arquitetura que servirá como esqueleto para todos os projetos iniciais de tal empresa.

Uma idéia inicial do contrato envolve:

  1. Instalação de um servidor de controle de versões (instalarei SubVersion) já com um módulo pra um sistema

  2. Preparação do ambiente de desenvolvimento - instalação de JDK, JBoss, Eclipse (já com um projeto com
    aquele módulo SVN) (inicialmente serão 2 estações de trabalho)

  3. Arquitetura com as seguintes tecnologias:
    3.1. Framework web (estou analisando se instalarei Struts 1.3.x, Struts 2.x ou JSF)
    3.2. DWR
    3.3. Hibernate (ou apenas a JPA seria suficiente, supondo que a aplicação sempre vai rodar em um servidor de aplicações que dê suporte?)
    3.4. EJB
    3.5. JasperReports/iReport (com uma extensão do framework JasperReports que desenvolvi para facilitar a criação de relatórios)

Esses são apenas os termos iniciais do contrato… provavelmente poderá haver mais features envolvidos e pode haver a necessidade de configuar mais estações de trabalho (mais 3, além das 2 iniciais) e em seguida haverá um tempo de treinamento e de suporte à equipe que irá utilizar a solução.

Algumas informações que podem ajuda-los a dar um palpite quanto ao preco justo que eu deveria cobrar:

  1. Nunca dei uma consultoria antes. Esta seria minha primeira vez.
  2. Tenho 2,5 anos de experiencia com desenvolvimento web, sendo 2 anos de experiencia intensa com java… isto é, trabalhando com java e estudando e praticando constantemente as diversas tecnologias existentes em java… mas nao me considero nem um arquiteto junior… mas pelo menos tenho conhecimento suficiente para preparar o ambiente descrito acima)
  3. Tenho conhecimento sobre padrões de projeto e estudo bastante sobre soluções de projeto para manter uma arquitetura limpa. Já fiz algumas extensões de frameworks, como Struts e JasperReports para simplificar ainda mais seu uso (o que quer dizer que mesmo eu n sendo um “expert” em arquitetura, acho que pelo menos a solução que montarei lá seja boa para desenvolver a grande maioria dos projetos que a empresa irá desenvolver)
  4. Desde março estou fazendo um curso de pós graduação em engenharia de software (faltam apenas disciplinas de BD e testes, ou seja, já estou quase com o título de pos-graduado em eng. sw) e já aprofundei sobre assuntos como padroes de projeto, padrões arquiteturais, distribuições, concorrência, qualidade, A&P (o que quer dizer que a solução que pretendo desenvolver terá aplicações práticas desse conhecimento e pode aumentar a qualidade do serviço)
  5. A empresa não é tão grande a nível de poder pagar por uma consultoria muito cara. Mas tb não queria fazer algo de graça (é o ambiente ideal para eu começar hehe)

Como nunca dei consultoria antes, não faço idéia do preço que eu deveria cobrar e não quero nem cobrar mais, nem cobrar menos do que o real. Apenas quero dar um preço justo. Também não sei se os fatores que coloquei acima são suficientes para fazer tal avaliação, mas pelo menos com base nessas informações gostaria de saber a opinião de vcs quanto o valor de uma consultoria com as características descritas acima.

Obrigado.

Edit.: Pessoal, por favor não entendam esse post como se eu tivesse querendo exibir meus conhecimentos… até porque tenho certeza de que esses conhecimentos são o básico que o mercado exige e ainda estou longe de ser um super engenheiro senior fodastico hehehe. Só coloquei alguns dos meus conhecimentos que acho que podem ajudar a avaliar quanto valeria uma consultoria minha nesse momento e com essas condições.

Bom, nunca usei nem um,nem outro, mas segundo o que diz a maioria do pessoal daqui, posso dizer para vc esquecer o Struts 1.XXX, e tirá-lo das suas opções.
Talvez seja melhor primeiro vc fazer um levantamento da Arquitetura com uma visão do sistema(Perfis de usuários, quem faz o quê…) e tentar imaginar quantas horas/trabalho vc levaria.Aí multiplica por um valor, digamos 50 a hora, que vc chega num valor final.Há muitas coisas a serem levantadas como dicionário de dados, documntação, modelagem…
Lembre-se: Se vc não é PJ, a mordida do Leao costuma ser vigorosa…

OBS.:Extensão do Jasper?Opa!Isso interessa… dá para postar aqui nos anexos(se não for fechado, claro…)? :lol:

Coloquei struts 1.3.x na lista porque ainda é o framework mais utilizado hoje em dia…

O preco que eu to querendo saber mesmo eh quanto vale a hora mesmo de uma consultoria dessa

Quanto à extensão do JasperReports foi soh um conjunto de classes utilitárias para solucionar um problema que tive ao precisar desenvolver um mesmo relatório com várias páginas com layouts diferentes. E também criei uma extensão de JRDataSource para fazer o mapeamento de JRField simplesmente usando Java Beans (mais especificamente, os métodos getXXX). O código não é fechado, mas pretendo escrever algum artigo detalhando mais essa implementação e postarei futuramente disponbilizando os fontes (mas não vai ser em breve).

Fala colega, blz!

[quote=RafaelVS]Tem uma empresa que desenvolve com PHP e tá a fim de passar a desenvolver novos projetos usando JAVA.[/quote]Pode se preparar para realizar diversos treinamentos de forma a convencer, inclusive para executar e após apresentado o desenho, eles exigirão e cairão em cima conforme contrato assinado. A equipe de PHP irá desenvolver junto com você? Caso for, isto pode ser mais um complicador e adicional para você, pois incluirá a curva de aprendizado da equipe antes de executar o projeto.

[quote=RafaelVS]Estou em fase de negociação para montar uma arquitetura que servirá como esqueleto para todos os projetos iniciais de tal empresa.[/quote]Neste escopo, elabore e demonstre também os benefícios do modelo de sua arquitetura assim como os riscos. Seja sincero. Cuidado também com o prazo, geralmente eles não estarão preocupados com o valor e sim com o prazo.

[quote=RafaelVS]1. Nunca dei uma consultoria antes. Esta seria minha primeira vez. [/quote]Esqueça, mas você pode mencionar. Evidencie sua experiência e sua formação e certificações. Todos temos uma iniciativa e ponto de partida. Geralmente passamos em uma fase de estudo intenso e projetos de pesquisas e nada melhor como um desafio deste para conciliar com a pratica.

Quanto ao valor procure conciliar dentro do escopo do projeto e no contrato. Bom projeto!!!

Penso da mesma forma que vc, fael.

A idéia da consultoria vai ser essa mesmo… a equipe vai desenvolver e eu vou ter que dar treinamentos, suporte, etc.

Mas vai ter um dia em que eu vou precisar pelo menos fazer uma configuracao basica do ambiente pra o pessoal ficar praticando e testando a produtividade. Apenas se eles sentirem vantagem é que vão contratar de fato a parte de treinamento da arquitetura.

Assim sendo, quanto eu deveria cobrar por um serviço de apenas configurar o ambiente, (realizar as instalações do servidor e 2 estacoes de trabalho) e já desenvolver uns 3 casos de uso básicos do sistema pra o pessoal ver superficialmente como funciona? (acredito que tudo isso levaria umas 4h)

Pq vc não faz uma proposta diferente? Pq vc não vira um funcionário, talvez coordenador de equipe…

Se for PJ, pode comecar cobrando uns 50 por hora que dá pra começar… (;

Acho que a forma mais fácil para arquitetar ou desenvolver seria soluções robustas, ou seja, que o usuário tenha facil manutenção, que a tecnologia nao irá acabar daqui a uns 5 anos. Acho que o JSF seria o mais apto para a camada de apresentação, o JBoss você poderia usar “Seam” que iria lhe dar um ganho bem significativo, pois ele iria lhe dar uma abstração e está sendo bastante usado ultimamente. Verifique os requisitos funcionais e não-funcionais para realizar tal mudança e a utilização de determinadas tecnologias. Em questões de preço, acho que a melhor forma seria cobrar por hora, ou então propor montar uma equipe na própria empresa seria mais viável tanto para a negociação com o cliente quanto para você, pois você já pegaria essa experiencia de arquiteto para colocar no seu curriculum.

Espero ter ajudado.