No post Tutorial mini projeto – o nascimento da idéia iniciamos um mini tutorial de um projeto.
Apenas relembrando, no final geramos a seguinte tela:

A tela foi aprovada e seu cliente (que é seu amigo) indaga: ”Legal, é isso mesmo que eu quero. Quando você me entrega e quanto isso vai me custar?”
Você poderia responder essa pergunta de dois jeitos: Um, chutando, outro, fazendo uma estimativa de custo, prazo e esforço. Obviamente você opta pela segunda (certo?).
Bom… com a tela em mãos, vamos usar uma técnica de estimativa, existem várias, mas, vamos escolher APF – Análise de pontos por função.
Para efeito didático, vamos usar uma visão simplista do APF, mas é bom lembrar que a técnica é muito interessante e assertiva. Eu particularmente sempre recomendo o uso de APF.
Primeiramente existem 5 elementos* que podem ser contados em APF:
- Entradas externas (EE)
- Consultas externas (CE)
- Saídas externas (SE)
- Arquivos lógicos internos (ALI)
- Arquivos lógicos externos (ALE)
* Vou deixar para vocês irem atrás do que é cada um
Existe uma tabela de pesos de cada elemento de APF por complexidade. Pra definir se algo é simples, médio ou complexo existem critérios, mas por ora, vamos definir que tudo é de complexidade média, assim facilitaremos nossa contagem.
Agora, vamos analisar a tela e ver o que teremos que fazer… bom… como é um cadastro de contatos, obviamente vou precisar de uma tabela para guardar os contatos (1 arquivo lógico interno). Também vou precisar mostrar os dados do contato em uma tela e isso me gera uma consulta externa. Meu amigo me pediu que os contatos fosse agrupados, então vou precisar de uma função para criar os grupos (1 entrada externa). Também vou precisar de uma função para criar o contato (+1 entrada externa), e não posso esquecer de uma função para alterar os dados(+1 entrada externa). E por último, vou precisar listar os contatos e grupos (+1 consulta externa).
Terminamos uma etapa, agora vamos colocar os pesos conforme a tabela acima (lembrando… é tudo médio), e após fazer as contas chegamos ao tamanho. Em outras palavras, o projetinho do seu amigo tem o tamanho de 30 PFs.
Para facilitar, vamos colocar identificar os elementos, tipos e valores na nossa tela:

Bom… assim ficou bem mais fácil, mas… por enquanto você só tem o tamanho. Como calcular custo, esforço e prazo?
Primeiramente você deve conhecer sua produtividade nas linguagens que você domina. A produtividade nada mais é do que quantas horas você precisa para produzir um ponto por função.
Você domina as linguagens ASP, C# e Java e tem as seguintes produtividades:
- ASP : 6h
- C# : 7h
- Java : 10h
Agora é só fazer as contas… Se você fizer o sistema em ASP vai precisar de 180h (30PFs x 6h). Se fizer ele em C# (.Net) vai precisar de 210h (30PFs x 7h). E se fizer em Java vai precisar de 300h (30PFs x 10h).
Você opta por desenvolver em .Net por já ter uma boa biblioteca de componentes para reutilizar. Então você passa para seu amigo 210h (esforço).
Você respondeu uma das perguntas do seu amigo, agora vamos responder a de prazo. Se você fizer o sistema sozinho vai precisar de 27 dias (210h / 8h por dia). Já se você chamar um amigo pode entregar na metade do tempo (dois trabalhando).
E por ultimo o custo. Supondo que você vá cobrar do seu amigo R$ 40,00 por hora, então o sistema custará a ele R$ 8.400,00.
Resumindo, o projeto vai precisar de 210h, levando 27 dias a um custo de R$8.400,00.
Para completar, e facilitar mais um pouco, segue a tela com as contagens e identificações.







Tutorial mini projeto parte 3 – Mudanças de escopo e impacto | Blog CMMI & MPS.BR : 14 January 2010 as 10:49 pm
Renato Borges : 01 April 2010 as 3:49 pm
Devia ter navegado por aqui antes da prova da Petrobras para analista de negócios!!
Forte Abraço!
Carlos Augusto : 22 April 2010 as 8:28 am
Washington Souza : 23 April 2010 as 9:27 pm
Não Divulgado : 21 May 2010 as 5:09 pm
Viviane : 21 May 2010 as 5:35 pm
“Porque facilitar se pode complicar”
Ficou muito bom, continue assim.
João Carlos : 17 June 2010 as 11:21 am
Analista de Métricas
Washington Souza : 17 June 2010 as 11:51 am
É um assunto muito legal, eu recomendo o estudo
Elementos essenciais de um bom plano de projetos | Blog CMMI & MPS.BR : 26 June 2010 as 11:11 pm
Aldo Rocha : 12 August 2010 as 10:20 am
Caso o cliente já esteja comprometido e alinhado com o seu processo de desenvolvimento a técnica de estimativa Wideband Delphi dá uma realidade bem próxima do que vc vai precisar no projeto, pelo menos aqui na empresa com os meus projetos
.
George : 18 August 2010 as 11:20 pm
É importante também lembrar que desenvolvimento de software é uma arte, possui intelectual envolvido e o custo que cada profissional ou empresa investiu no conhecimento. Tudo isso também conta na hora de cobrar.
É isso ai. Aguardo pelo próximo artigo.
Washington Souza : 23 August 2010 as 9:32 am