Planejando seu projeto com Extreme Programming – Parte II
Veja neste artigo o funcionamento do sistema baseado em pontos para geração de estimativas e acompanhamentos da evolução do projeto.
Continuando nossa saga em conhecer a dinâmica de um projeto ágil usando Extreme Programming(XP), neste artigo, iremos explicar o funcionamento do sistema baseado em pontos para geração de estimativas e acompanhamentos da evolução do projeto.
Qual a importância das estimativas?
Conforme mostra figura 01, é importante que você saiba que as estimativas são a base para mensurar o tamanho do esforço necessário para implementação de cada estória, isso possibilita, por exemplo, o cliente e a equipe, terem mecanismos para priorizar quais estórias serão implementadas primeiro, ou mudar em que iteração pertencerá a mesma de acordo com necessidade de cada momento.
Figura 01 – Exemplo de relação entre estimativas e prioridade.
É importante que você entenda que a comunicação entre equipe e cliente, a fim de receber esse feedback em forma de priorizações, é fundamental para garantir a agilidade do projeto, pois dessa forma, estaremos sempre alinhados aos interesses graduais do cliente, evitando que se invista esforço de desenvolvimento em tarefas não importantes para aquele momento.
O que significa "um dia ideal de desenvolvimento"?
Entenda que a cada dia, podemos medir a produtividade e planejar as ações em um projeto XP, portanto, usamos o conceito de dia ideal de desenvolvimento, para identificar um dia em que somente é trabalhado na implementação de códigos, sem atividades extras ou interrupções cotidianas como telefonemas, e-mails ou afins.
Essa técnica de "métrica" serve como uma sólida e prática base para nortear e medir a execução de um projeto ágil usando Extreme Programming, pois mensuramos o esforço necessário para cada estória usando conjuntos ou frações de dias ideais de desenvolvimento. Portanto, quando uma estória estiver sendo estimada, acostume-se a pensar em "quantos dias ideais de desenvolvimento, serão necessários para implementar essa estória?" e quando responder a essa pergunta, você obterá o tamanho aproximado de esforço necessário para codificar tal estória.
Para facilitar a comunicação entre todos da equipe, convenciona-se chamar de "ponto" para um "dia ideal de desenvolvimento", sendo que esse entendimento pleno sobre quanto tempo vale um ponto ou dia ideal de desenvolvimento, pode variar em cada projeto dependendo da necessidade.
É importante você ter em mente, que esse dia pode ser fracionado em pequenas e razoáveis partes para permitir uma melhor abrangência nas estimativas.
Observe que usei o termo razoável, pois, para compor as estimativas, é saudável que não usemos medidas de tempo demasiadamente pequenas, como por exemplo, em minutos, para evitar a falsa idéia de precisão de tempo de uma estimativa, pois lembre-se que: um dos conceitos mais primordiais e lógicos, é que estimativas são apenas previsões aproximadas e sua exata realização pode variar devido a vários fatores, que muitas vezes estão alheios a nossa vontade.
Como fracionar um ponto?
Como falei anteriormente, normalmente um ponto representa um dia ideal de desenvolvimento, portanto, também é muito comum fracionar um dia, a fim de ganhar mas liberdade na hora de fazer as estimativas.
Nesse momento é importante lembrarmos do "ritmo sustentável", uma interessante prática recomendada por XP, cujo principal objetivo é evitar que se trabalhe mais do que a carga horária normal diária, pois quando esse esforço extra ocorre, criamos uma falsa sensação de produtividade, mas na verdade, trabalhar além da carga horária normal, comumente significa que há algo de errado no projeto, e que é preciso de revisão e correção urgente.
Dessa forma, como o padrão aqui no Brasil é trabalhar em torno de 8 horas diárias, tomaremos essa quantidade de horas como base para o fracionamento de um ponto, portanto, é possível aplicar uma divisão conforme mostra a tabela 01 baseada em um fracionamento de um dia em quatro partes.
8 (oito) horas (um dia completo)
4 (quatro) horas ou simplesmente "meio ponto"
Tabela 01 – Fracionamento de um ponto
Como representar visualmente os pontos?
Veja que a tabela 01 já é simples o bastante, porém, como um dos principais valores de XP é a comunicação, é crucial que usemos uma forma mais simples ainda para registrar e comunicar esses pontos, por isso, é comum representa-los através de pequenas figuras.
Cada figura é diferente da outra e representa os valores de cada ponto da tabela 01, sendo que, você junto com sua equipe, é que faz a escolha de como serão essas figuras, ou seja, não é obrigatório que seja aplicado em seu projeto a forma exata que estou mostrando nesse artigo, podendo assim, ser substituída pela forma que mais suprir suas necessidades.
Normalmente, conforme mostra a figura 02, podemos usar uma representação de figuras baseadas em fatias de pizzas, lembrando, as antigas aulas de matemática sobre frações para representar cada parte dividida de um ponto.
Figura 02 – Representação visual dos pontos.
Espero que você tenha compreendido suficientemente como funciona esse sistema baseado em pontos, pois, dessa forma, estará entendendo como funciona um dos principais mecanismos que favorecem a produtividade em um projeto XP. Portanto, reflita bastante sobre esse texto e aguarde o nosso próximo artigo que mostrará como compor um cartão de estória e como aplicar os pontos como forma de estimativas e como forma de acompanhamento do que foi realizado em cada estória. Até a próxima.