Monthly Archives: setembro 2015

Ponto de Função – Calculando o Esforço

Trabalho utilizando o ponto de função há mais ou menos 3 anos, não sou o especialista IFPUG que decorou todo manual, mas utilizo como base para saber o tamanho da encrenca que vou me meter e de quantas pessoas vou precisar na equipe para a demanda.

Infelizmente, no mundo corporativo tem muitas pessoas que utilizam o ponto de função como solução mágica, “calcula o ponto de função, faz uns cálculos loucos e pronto! Temos a hora de desenvolvimento, com um desenvolvedor demoramos 1000 horas, com 1000 desenvolvedores demoramos 1 hora”(Nove mulheres não conseguem engravidar e dar a luz a um filho por mês).

Felizmente, a coisa não é tão fácil assim, diversos fatores podem impactar o esforço para o desenvolvimento como por exemplo o tipo de metodologia de desenvolvimento, linguagem de desenvolvimento (muito importante) complexidade da solução, se o UC (caso de uso) está bem detalhado, se possui ou não um protótipo para que o desenvolvedor tenha uma base, conhecimento do negócio pela equipe, utilização de frameworks, uso de bibliotecas, expertise da equipe.

Já ouviu gerentes de projetos, perguntando se não tinha me esquecido de colocar as licenças como não funcional na planilha de APF e insistir que deve ser colocado para “Engordar a planilha”?

Vou desenhar um caso bem bacana para quem defende com unhas e dentes que é só multiplicar o total de APF para conseguir o esforço.

Criar uma tela que tenha 1 campo Text Field, uma imagem fixa em png, e um botão de consultar.

Preenchendo o campo e clicando no botão ‘Consultar’ ele exibe os 9 primeiros resultados.

APF_PVJ

 

Após fazer a contagem mesmo sem os ALIs e AIEs, a resposta que vai ser data é que possui 6 pontos. Multiplicando o ponto por um esforço de 8 horas por ponto chegamos a um esforço de 48 horas.

apf_google

 

Agora é só desenvolver seu próprio buscador em 48 horas.

 

 

Burro e Preguiçoso

Acho que essa frase é bem conhecida por vários programadores, mas hoje relembrei quando estava ouvindo o podcast do Grok sobre carreiras com o Fabio Akita.

Um bom programador é burro e preguiçoso. Burro porque se ele se achar inteligente vai achar também que já sabe tudo, e não vai se aprimorar e preguiçoso porque automatizando seu trabalho diário é possível ficar mais tempo no café, ao invés de ficar fazendo sempre a mesma rotina.

Depois de 10 anos trabalhando com desenvolvimento, cheguei ao ponto de ser muito inteligente e cometi um erro de iniciante, deletei coisas indevidas no banco de dados.

Sempre que escrevo delete no console do banco de dados coloco o  where primeiro.

where campo2 = true

Colocando o select:

SELECT subject FROM coisas WHERE campo2 = true

É exibido o resultado e verifico se é realmente o que desejo excluir, se sim troco select por delete.

DELETE FROM coisas WHERE campo2 = true

Assim, evitaria que eu deletasse a tabela errada.