sábado, 16 de junho de 2012

E a Analise de Pontos de Função?

Como eu repito normalmente, APF para mim é uma forma pseudo-científica que tenta uma conciliação entre os envolvidos para algo incerto parecer que pode ser certo.

Resumindo: para mim, falha ao tentar resolver um problema, o da metrificação. Em vez de lidar com a incerteza da complexidade, tentar simplificar o que é complexo.


A criação de uma produtividade supõe que uma média de uma equipe avaliada em alguns meses, é a realidade do time para o desenvolvimento da demanda. E se metade da equipe mudar ou alguns herois adoecerem? Será que essa produtividade será a mesma.

Então já parte de uma premissa, que vai "reger" a equipe, medida em poucos meses.

Além disso, dizer que as discussões diminuem também é um mito. Não existe mais a discussão sobre Homem/Hora, mas agora existe a discussão sobre o que deve e o que não deve ser contado.

Existem pontos que não são contados, mas exigem esforço. Normalmente a APF resolve isso nos pontos contáveis, acreditando mais uma vez em uma média retirada em alguns meses, alguns casos.

Encontrar esse equilibrio é complicado, então temos novamente o cabo de guerra para decidir se a relação será win-lose ou lose-win.

Isso mata o que pode haver de mais positivo em uma relação: a confiança. Ninguém confia em ninguém. Não existe win-win.

Não acredito muito na compatibilidade dos métodos ágeis justamente por APF tentar simplificar um sistema complexo, e faz isso, como já disse, com a "produtividade".

Existe algo parecido com esta produtividade no Scrum: a velocidade do time. Mas a grande diferença é que ela pode ser ajustada com mais frequencia.

Outra diferença é que as equipes Scrum conhecem o ciclo de formação de times de Bruce Tuckman: forming, storming, norming, performing. Antes de chegar no último estágio, o time é apenas um grupo.

Uma equipe Scrum sabe que a velocidade medida nas duas primeiras fases deve ser ajustada. E ela é ajustada.

Outra diferença é o que define a velocidade do time é um processo transparente onde quem decide é o próprio time.

Equipes ágeis normalmente não cobram H/H e prefere inclusive contratos flexíveis. Tenho amigos que possuem empresa onde o contrato pode ser finalizado a cada iteração, o cliente fica até quando quiser.

Isso só é possível porque a empresa fornecedora tem certeza que recebeu o que era devido por aquela iteração e tem a preocupação de manter a qualidade do trabalho para manter o cliente. Ela confia que é capaz de manter o cliente com entregando bons serviços.

Se para o cliente é mais vantajoso ficar porque o fornecedor, de fato, se preocupa com o que está entregando, e se o fornecedor recebe o justo pelo serviço prestado, por que não tentar uma relação win-win?

O Kanban metrifica, principalmente, o Lead Time - tempo que as tarefas levam para percorrer o fluxo de valor - e com o Cumulative Flow Diagram - CFD - verifica quantas tarefas estavam em cada ponto do fluxo durante um dado período. Creio que no Kanban nada seja parecido com a velocidade do Scrum e a produtividade da APF.

Enfim, sempre me posicionei contra a APF, mas agora, depois de ter alguma experiencia com ela, estou dizendo por que.

A sua análise é diferente? Por que?