Cronograma de um Projeto

Olá galera, gostaria de uma opinião sobre o gerenciamento de um projeto
para desenvolver um ERP para um escritório de contabilidade.

Pretendo utilizar metodologia ágil e ter uma equipe de 5 desenvolvedores separando suas tarefas em teste, banco, analise, mas todos no geral irão trabalhar com desenvolvimento tambem.
Utilizar SCRUM, Java, Hibernate, JPA, MySQL.

Qual seria a média de tempo necessária para desenvolvimento?

Alguma ideia para o desenvolvimento.

Desculpe mas… é melhor você estudar o Scrum mais afundo.

Quem tem que decidir isso é a equipe. Você só por já querer determinar uma média de tempo para cada tarefa ja matou o scrum a muito tempo.

Outra coisa, como podemos imaginar uma média sem saber ao menos qual os requisitos e qual o nível dos desenvolvedores?

[quote=LucianoTulio]Olá galera, gostaria de uma opinião sobre o gerenciamento de um projeto
para desenvolver um ERP para um escritório de contabilidade.

Pretendo utilizar metodologia ágil e ter uma equipe de 5 desenvolvedores separando suas tarefas em teste, banco, analise, mas todos no geral irão trabalhar com desenvolvimento tambem.
Utilizar SCRUM, Java, Hibernate, JPA, MySQL.

Qual seria a média de tempo necessária para desenvolvimento?

Alguma ideia para o desenvolvimento.
[/quote]

Achei sua pergunta um pouco genérica, visto q o tempo de desenvolvimento leva em consideração muitas variáveis como o nível do desenvolvedor (jr., pleno, sênior); como vc iria estimar isto por exemplo usando APF (Análise por Ponto de Função) ou opinião especialista (PMBOK) no caso um Sênior ou o GP poderia fazer a estimativa de esforço. Recomendo mesclar Scrum e PMBOK.

faria exatamento como o andre falou, gerar uma estimativa de tempo através de um cronograma com os marcos do projeto e realizar isso através do scrum

Dificil falar uma média de tempo, sem saber o escopo do projeto, tempo da equipe, conhecimento do negócio da equipe e várias outras variáveis…

[quote=igor_ks]Dificil falar uma média de tempo, sem saber o escopo do projeto, tempo da equipe, conhecimento do negócio da equipe e várias outras variáveis…[/quote]Além disso até mesmo as ferramentas utilizadas.

Scrum não se prevê nada sem antes uma reunião para se definir a dificuldade da tarefa pela equipe. E depois ver quantos pontos a equipe leva para aquele sprint, e qual o prazo e assim vai.

Obrigado amigos pelas dicas, eu sei que isto seria uma estimativa, os 5 desenvolvedores
são 3 júnior e 2 plenos, o conhecimento do negócio é um professor de contabilidade que
irar passar. Eu tenho em mente que o tempo varia de acordo com as tarefas a serem desenvolvidas, mas gostaria de saber
se 5 profissionais focados, utilizando tecnologias conhecidas, logo não haveria tanto tempo gasto em estudo.(Errada a forma de falar
logo que nós programadores todos os dias estudamos algo novo) gostaria de saber se utilizando 8 horas diárias qual seria uma média
de tempo para desenvolver um ERP para empresa de contabilidade.

somente uma hipótese de tempo.

Obrigado

Acredito que o pessoal tocou no principal ponto, sua abordagem. Você cita o scrum e pede uma opinião de tempo, isso só mostra que você não conhece esse método e isso é bem ruim. Usar um método que você não conhece e aplica-lo a sua equipe pode ser desastroso, cuidado. Seria o mesmo que ter uma equipe “especialista em Java” e pedir para desenvolver um sistema em C.

Você precisa de um conhecimento das skills da sua equipe e quanto mais conhecer as skills de cada integrante dele, melhor. Tem aqueles que são ótimos desenvolvedores, mas péssimo em testes de qualidade. Há requisitos de negócio entre outros.

Luciano, senta com calma, avalie sua equipe, veja o que o sistema vai demandar e depois reúna todos para uma discussão saudável. Isso inclusive, ajuda a amadurecer a equipe como um todo. Isso vale também na decisão de quais tecnologias usar, como JPA. Porque JPA ? Para o seu projeto em particular, quais os ganhos em usar JPA ao invés JDBC ? Porque Hibernate ao invés de Eclipselink ?

Bom, só citei algumas coisas básicas, mas acredito que tenha entendido o contexto geral.

Cara, entenda que eu disse do escopo do projeto…

Nao tem como falar que vcs vao fazer em 5 meses, ou em 1 ano…
Depende do tamanho do projeto, da complexidade que o cliente quer, pode entrar enumeros recursos, com diferentes dificuldades

e quando eu disse se a equipe tem o conhecimento do negocio, não é o cliente, e sim sua equipe
o cliente, no caso o professor, ele sabe do que ele precisa, mas quem precisa saber implementar é a sua equipe, e pra isso entender como realmente funciona…
Se a equipe já sabe como funciona diminui o tempo de aprendizado, um mal a menos. Agora se a equipe, por exemplo, vai precisar emitir nota fiscal eletronica, isso exige muito conhecimento

e por ai vai…

[quote=LucianoTulio]Obrigado amigos pelas dicas, eu sei que isto seria uma estimativa, os 5 desenvolvedores
são 3 júnior e 2 plenos, o conhecimento do negócio é um professor de contabilidade que
irar passar. Eu tenho em mente que o tempo varia de acordo com as tarefas a serem desenvolvidas, mas gostaria de saber
se 5 profissionais focados, utilizando tecnologias conhecidas, logo não haveria tanto tempo gasto em estudo.(Errada a forma de falar
logo que nós programadores todos os dias estudamos algo novo) gostaria de saber se utilizando 8 horas diárias qual seria uma média
de tempo para desenvolver um ERP para empresa de contabilidade.

somente uma hipótese de tempo.

Obrigado[/quote]

Luciano, você já pesquisou sobre ERP focado em contabilidade ? Você já fez um levantamento dos requisitos mínimos e o que ele deve contemplar, para ser um ERP de contabilidade ? Tudo isso é importante. 8 horas diárias pode ser pouco tempo ou muito tempo, tudo depende do seu prazo de entrega, também. Tem empresas que estipulam em 8 horas de trabalho 6 horas produtivas, tendo a ideia que a equipe não vai conseguir focar 8 horas do dia trabalhando.

Vai ter conversa, cafezinho, e-mails e etc e isso demanda tempo. Acho que está lhe faltando um pouco de experiência nessa parte, dá uma “meditada” sobre o assunto, pensa no que tu almeja e os passos para chegar ao seu objetivo. As vezes quebrar um problema complexo em partes o torna bem simples.

Obrigado galera, vocês me fizeram pensar um pouco mais nas coisas. Estou começando hoje a planejar e terei uma conversa com o Cliente (Professor de Contabilidade) que fica presente na empresa todos os dias para qualquer duvida dos desenvolvedores e definir todas as tarefas que ele precisa. Uma grande duvida minha é sobre quais tecnologias irei utilizar no projeto, logo que preciso de um sistema web com segurança. Tenho o conhecimento de SCRUM pois participei de um projeto que utilizava esta metodologia por 2 anos e obtivemos ótimos resultados, sei que tudo depende da equipe, de suas habilidades, a equipe ainda sera contratada, mas o orçamento da empresa eh para estes perfis 3 júnior e 2 pleno.
Estou inicializando meu estudo sobre um ERP voltado para uma empresa de contabilidade.

Aceito dicas sobre as tecnologias possíveis para o desenvolvimento.

[quote=LucianoTulio]Obrigado amigos pelas dicas, eu sei que isto seria uma estimativa, os 5 desenvolvedores
são 3 júnior e 2 plenos, o conhecimento do negócio é um professor de contabilidade que
irar passar. Eu tenho em mente que o tempo varia de acordo com as tarefas a serem desenvolvidas, mas gostaria de saber
se 5 profissionais focados, utilizando tecnologias conhecidas, logo não haveria tanto tempo gasto em estudo.(Errada a forma de falar
logo que nós programadores todos os dias estudamos algo novo) gostaria de saber se utilizando 8 horas diárias qual seria uma média
de tempo para desenvolver um ERP para empresa de contabilidade.

somente uma hipótese de tempo.
[/quote]

A sua pergunta é equivalente a : Se eu te der uma sanduiche, quanto tempo vc demora para a comer ?
Vc quer determinar quanto tempo demora, sem saber qual é a sanduiche, qual é o seu tamanho, etc… Isso não faz sentido!

A primeira coisa que vc precisa, mesmo antes de envolver os desenvolvedores é levantar as historias do sistema junto ao professor e junto a quem lhe está pagando para fazer o sistema. Estes são os stakeholders primários no seu caso.
Depois que vc tiver uma lista de 30 a 50 historias, vc chama os desenvolvedores para eles estimarem o TAMANHO. Não a duração. imagine que a sanduiche está dentro de uma caixa q vc não pode abrir e vc tem que estimar o tamanho dela. É isso que os desenvolvedores sabem fazer.
Depois que vc sabe o tamanho das historias vc as prioriza junto aos stakhlders. Depois vc estabelece um tempo de sprint. Digamos 3 semanas. Depois vc pergunta aos desenvolvedores qual é o orçamento do sprint. Ou seja, quantos pontos eles se compremetem a realizar. Ai vc escolhe as historias na ordem de prioridade até somar o valor do orçamento ( que é dado em pontos de tamanho). Pronto é isso ai.
No final do sprint vc vê quais as historias que ficaram completas. As que não ficaram não interessam no calculo. Vc soma os tamnhos dessas historias. Isso e´a Velocidade da equipe naquele sprint. Repita o processo por mais 3 sprint.
No final do quarto sprint vc e a equipe já têm uma ideia de qual é a Velocidade esperada. (não confundir com velocidade média). Ai vc usa essa velocidade para ver quantos mais sprints serão necessários para o projeto. soma os tamanhos das historias que ainda estão faltando e divide pela velocidade esperado. Suponha que dá 7.32 sprints. Vc arredonda para cima e dá 8 sprints. Isso dá 3x8 = 24 semanas. Entre cada sprint vc vai rpecisa de 2 a 3 dias para reuniões e organização geral ( tlv mais, tlv uma semana). Adicione esse tempo. Fazem um semana , vc precisa de mais 8 semanas ( 1 por sprint que ainda falta) o que dá 24+8 = 32. Isto é o minimo do minimo. Obviamente o projeto irá demorar mais, mas não irá demorar menos que isto.

O máximo pode variar muito em relação ao minimo. Depende de muitos outros fatores como a quantidade de defeitos encontrados e o seu tamanho. Portanto ao final de cada sprint é importante recalcular o que falta ( os defeitos tb viram historias que têm tamanho e precisam ser adicionadas aos sprints. São “historias extra” que aumenta o tempo minimo). Outros efeitos são as condições de trabalho, a exaustão, o numero de bloqueios, a eficiencia do scrum master em as remover, etc… Logo, é complicado saber quanto acaba.

Em scrum não se define quando acaba, porque nunca acaba. Então , para resolve isso, o PO estabelece um conjunto de funcionalidades minimas junto aos Stakeholders. Isso é a versão 1. E é isso que é colocado em baclog, estimado, e produzido. Esta versão 1 tem mesmo que ser o minimo do minimo. Ai o PO e os stakelhders definem quando querem isto pronto. Ao medir a velocidade da equipe dá para ter uma certeza se isso são expectativas realistas ou não, e ajustá-las em conformidade. É isto que lhe dá o tempo final. Uma mistura de quando vc quer pronto, e de quanto a equipe realmente consegue deixar pronto. É claro que existem que podem aumentar a velocidade como colocar mais pessoas experientes ou formar duas equipes.

Mas não tente comer a sanduiche sem saber o tamanho. Vai engasgar … :smiley:

[quote=LucianoTulio]Obrigado galera, vocês me fizeram pensar um pouco mais nas coisas. Estou começando hoje a planejar e terei uma conversa com o Cliente (Professor de Contabilidade) que fica presente na empresa todos os dias para qualquer duvida dos desenvolvedores e definir todas as tarefas que ele precisa. Uma grande duvida minha é sobre quais tecnologias irei utilizar no projeto, logo que preciso de um sistema web com segurança. Tenho o conhecimento de SCRUM pois participei de um projeto que utilizava esta metodologia por 2 anos e obtivemos ótimos resultados, sei que tudo depende da equipe, de suas habilidades, a equipe ainda sera contratada, mas o orçamento da empresa eh para estes perfis 3 júnior e 2 pleno.
Estou inicializando meu estudo sobre um ERP voltado para uma empresa de contabilidade.

Aceito dicas sobre as tecnologias possíveis para o desenvolvimento.

[/quote]

Luciano, eu vou insistir novamente. Você já tem os requisitos ? Ao menos tem, “pré-resquisitos” ? Quer segurança ? Você pode criptografar o acesso com HTTPS e colocar em SAAS. Não, bobagem, espera, porque bobagem ? Pode dar certo. Não, não vai dar…ops, lembrei, não tenho nenhum requisito ainda, como posso supor algo ?

Entendo onde eu quero chegar ? Faço a mesma pergunta do inicio, porque JPA ao invés de JDBC ? Simplesmente porque o fulano conhece JPA e não JDBC ?
Você vai usar EJB 3.1 ? Não, porque não ? Sim, porque sim ? Luciano, tem n questionamentos que podem ser realizados. Quando optamos por usar REST em um de nossos produtos, aqui na empresa, toda a equipe foi reunida para debater sobre o assunto, mas todos os envolvidos sabiam qual era o objetivo do produto e o que ele envolvia, para qual grupo de clientes o produto será o foco e etc.

Eu particularmente, não consigo citar uma tecnologia para você sem ter os requisitos. O máximo que posso te falar, é que se é WEB e Java, use JEE 6. É o conceito mais atualizado para projetos WEB Java e dispõe de recursos de segurança bem interessantes, bem como de acesso a banco de dados (JPA), transacional (EJB´s) entre outros. De resto, não sei o que te falar…

[quote=sergiotaborda]A sua pergunta é equivalente a : Se eu te der uma sanduiche, quanto tempo vc demora para a comer ?
Vc quer determinar quanto tempo demora, sem saber qual é a sanduiche, qual é o seu tamanho, etc… Isso não faz sentido!

Mas não tente comer a sanduiche sem saber o tamanho. Vai engasgar … :smiley: [/quote]Achei perfeita essa comparação. [=

Obrigado pelas dicas,

Na real é que a empresa me colocou em uma sinuca de bico.

Tenho apenas 3 anos de experiencia como desenvolvedor Java. E agora me deram a oportunidade
de gerencia um projeto, desenvolver um ERP para uma empresa de contabilidade. Eu teria que estabelecer uma cronograma
para que eles aprovarem ou não o projeto. Na verdade terei que montar uma equipe, gerenciar o projeto e programar junto com a equipe,
vejo isso como uma oportunidade. Mas não quero assumir algo que a probabilidade de fracasso seja alta, por isso recorri a vcs para tirar algumas duvidas.

A empresa apenas me falou o seguinte. Se eu teria vontade de gerenciar uma equipe de desenvolvimento para construir um software ERP para a empresa.
sendo ela uma empresa de contabilidade, logo eles não entendem muito de prazos, apenas cobram. E me perguntaram se eu conseguiria desenvolver esse ERP em 6 meses. Deixei a respostas como vocês antes me falaram, não tenho equipe, não sei suas habilidades, não sei qual o valor do software que eles esperam. Apenas falei que preciso conversar com o Cliente( o professor de contabilidade) que sera responsável em me passar todas as tarefas que o software precisa realizar, depois do escopo do projeto estiver concluído buscarei a equipe com as habilidades necessárias. A empresa quer abrir uma franquia de desenvolvimento e esse software seria um teste, se positivo teria maior investimento sobre a empresa.

[quote=LucianoTulio]Obrigado pelas dicas,

Na real é que a empresa me colocou em uma sinuca de bico.

Tenho apenas 3 anos de experiencia como desenvolvedor Java. E agora me deram a oportunidade
de gerencia um projeto, desenvolver um ERP para uma empresa de contabilidade. Eu teria que estabelecer uma cronograma
para que eles aprovarem ou não o projeto. Na verdade terei que montar uma equipe, gerenciar o projeto e programar junto com a equipe,
vejo isso como uma oportunidade. Mas não quero assumir algo que a probabilidade de fracasso seja alta, por isso recorri a vcs para tirar algumas duvidas.

A empresa apenas me falou o seguinte. Se eu teria vontade de gerenciar uma equipe de desenvolvimento para construir um software ERP para a empresa.
sendo ela uma empresa de contabilidade, logo eles não entendem muito de prazos, apenas cobram. E me perguntaram se eu conseguiria desenvolver esse ERP em 6 meses. Deixei a respostas como vocês antes me falaram, não tenho equipe, não sei suas habilidades, não sei qual o valor do software que eles esperam. Apenas falei que preciso conversar com o Cliente( o professor de contabilidade) que sera responsável em me passar todas as tarefas que o software precisa realizar, depois do escopo do projeto estiver concluído buscarei a equipe com as habilidades necessárias. A empresa quer abrir uma franquia de desenvolvimento e esse software seria um teste, se positivo teria maior investimento sobre a empresa. [/quote]Na verdade você se colocou nessa sinuca né? A partir do momento que você disse sim…

Se você não tem conhecimento de planejamento e gerência, corra atrás. A partir do momento que você tiver os requisitos você poderá ter idéia do que fazer, como fazer, para quando fazer.

Você disse ter trabalhado 2 anos com Scrum, só trabalhar não ajuda. Você estudar melhor gerência de projeto é a melhor ciosa que você pode fazer a curto prazo.

Enxerga isso como uma oportunidade. Eu acredito que tu aceitou porque gosta da ideia de gerenciar uma equipe, caso contrário, teria negado.
Se der fracasso, paciência, mas que isso ocorra com você buscando sua evolução profissional e não pensando que terá fracasso sem que você se esforce.
Se tiver medo de aceitar novos desafios, pode estar impedindo um crescimento natural das tuas condições profissionais.

Eu nunca havia desenvolvido em Web Service até o responsável pelo projeto ter saído do projeto. O gerente bateu em minhas costas e disse “agora você assume o projeto”. É claro que a “dor de cabeça” é inferior porque eu tinha de gerenciar eu e eu mesmo, mas você entende o que eu quero dizer ?

Leve em conta as dicas do pessoal daqui, que foram muito boas, e começa sua corrida contra o tempo.
A empresa te deu um voto de confiança, isso é bom sinal, agarre a oportunidade e amigo, estude, pesquise, se esforce. Vai conseguir.

Boa sorte.

Amigo vc está no forum errado, deveria perguntar isto em um forum de magos adivinhadores que teria mais sucesso. Pois só assim para ter uma estimativa efetiva a longo prazo e ainda sem ter os sprints, requisitos, propotipos e sem conhecer o negocio… Estude mais Scrum…

[quote=LucianoTulio]Obrigado pelas dicas,

Na real é que a empresa me colocou em uma sinuca de bico.

Tenho apenas 3 anos de experiencia como desenvolvedor Java. E agora me deram a oportunidade
de gerencia um projeto, desenvolver um ERP para uma empresa de contabilidade. Eu teria que estabelecer uma cronograma
para que eles aprovarem ou não o projeto. Na verdade terei que montar uma equipe, gerenciar o projeto e programar junto com a equipe,
vejo isso como uma oportunidade. Mas não quero assumir algo que a probabilidade de fracasso seja alta, por isso recorri a vcs para tirar algumas duvidas.

A empresa apenas me falou o seguinte. Se eu teria vontade de gerenciar uma equipe de desenvolvimento para construir um software ERP para a empresa.
sendo ela uma empresa de contabilidade, logo eles não entendem muito de prazos, apenas cobram. E me perguntaram se eu conseguiria desenvolver esse ERP em 6 meses. Deixei a respostas como vocês antes me falaram, não tenho equipe, não sei suas habilidades, não sei qual o valor do software que eles esperam. Apenas falei que preciso conversar com o Cliente( o professor de contabilidade) que sera responsável em me passar todas as tarefas que o software precisa realizar, depois do escopo do projeto estiver concluído buscarei a equipe com as habilidades necessárias. A empresa quer abrir uma franquia de desenvolvimento e esse software seria um teste, se positivo teria maior investimento sobre a empresa. [/quote]

afinal vc sabe muito mais do que parecia. Vc perguntou lá atras o prazo. Mas vc já tem um prazo: 6 meses. A pergunta é vazia.
A pergunta agora é : quanto vai custar ? Se vccolocar 12 juniors ou 4 seniors provavelmente vai custar o mesmo, mas em tese fica mais bem feito e mais depressa.
Gerenciar projetos não é escrever código. É gerenciar 6 dimensões: prazo , custo, qualidade, tamanho do escopo, risco e beneficio ( aka Valor). Não é trivial.

Recomendo que vc leia sobre scrum especialmente este aqui.

Esles querem que vc gerencia da forma tradicional. Se vc entrar nesse barco , já fracassou. Simplesmente não funciona.
Então a primeira coisas é vender o modelo do scrum para eles. Se eles não comprarem e/ou não entenderem as responsabilidades que eles têm, já fracassou.
Para isto vc tem que entender scrum na ponta da lingua ou eles iram enganar vc. Eles vão fazer vc se comprometer com o desconhecido e ai vc fracassou.
Leve por partes. A primeira de todas é o Levantamento. Faça isso primeiro. Sem isso nem sequer dá para saber se 6 meses é suficiente. E o levantamento em si leva de 1 a 2 meses dependendo das agendas. Pode levar mais.
Vc precisa primeiro que tudo estabelecer o Tamanho do Escopo. O prazo vc já tem. A qualidade vc estipula. O risco vc controla e o beneficio vc aufere dia após dia conversando com as pessoas e mostrando o que já está pronto. O Custo vc establece bom base na equipe , na velocidade dela e no Tamanho do Escopo. E sempre , sempre, faça por fazes. Se tentar fazer o sistema todo de uma vez, vão travar e não vai chegar a lado nenhum.

sergiotaborda uma dúvida pertinente ao tópico. Você já trabalho com o modelo Kanban ? Se sim, o que achou da experiência ? E por fim, existe a possibilidade de um ser melhor que o outro ou é questão de analisar a necessidade e ver “qual melhor se encaixa” para cada ocasião ?

Já participei de projetos com ambos os modelos e fiquei curiosidade sobre o seu ponto de vista.

Abraços.