MS Project 4 AGILE: Usar o Conceito de Velocidade
No artigo anterior demonstrámos como podem ser adicionados campos à lista Gantt do MS Project para guardar a informação de que necessitamos de forma a transformar esta lista no BackLog de Produto de um projeto AGILE (ver aqui).
Porque o conceito de velocidade é um dos conceitos mais importantes para o planeamento e controlo de projetos ágeis, neste novo artigo vamos explicar como podemos usar o MS Project para calcular a velocidade de uma equipa SCRUM.
Continue a ler para aprender como pode configurar a tabela Gantt do MS Project de
forma a calcular e controlar a velocidade da equipa de projeto.
Nas metodologias ágeis a execução dos projetos é feita com base em ciclos (interações) sucessivas de criação nas quais vão sendo implementadas as funcionalidades do produto ou serviço que o projeto visa criar.
Em cada uma dessas interações (Sprints na terminologia SCRUM) a equipa trabalha a uma determinada cadencia (velocidade). De uma forma semelhante a um avião que inicia uma viagem, o normal é que nos Sprints iniciais essa velocidade seja menor (a equipa ainda está a habituar-se a trabalhar em conjunto) e que vá aumentando ao longo do projeto, estabilizando a partir de uma certa altura (quando a equipa atinge aquilo que consideramos a sua velocidade de cruzeiro).
Sendo assim, nos projetos ágeis, a velocidade mede a capacidade de trabalho da equipa SCRUM em horas efetivas de trabalho, e aplica-se aos Sprints do projeto. Por exemplo, se tivermos uma equipa de 5 pessoas a trabalhar a tempo integral, 7 horas por dia, e se tivermos Sprints (interações) de 10 dias úteis, então o numero de horas de trabalho que temos disponível no inicio de cada Sprint é [numero dias x horas diárias x numero pessoas] = 10 * 7 * 5 = 350 horas de trabalho. Se o Sprint tem 350 horas úteis de trabalho e 10 dias de duração, então a velocidade média do Sprint será [numero horas úteis / dias de duração do Sprint] = 350 / 10 = 35 horas / dia.
O diagrama seguinte apresenta os 3 tipos de estimativas que são usadas durante um projeto ágil:
O Dono do Produto cria as funcionalidades e estima o valor que cada uma das funcionalidades acrescenta ao negócio (Valor de negócio). Logo que as funcionalidades são incluídas no BackLog de Produto e à medida que elas vão sendo documentadas com maior grau de detalhe, a equipa de projeto compara as diversas funcionalidades entre si, atribuindo a cada uma delas uma determinada pontuação, estimando o esforço relativo de cada uma das funcionalidades. Durante o planeamento do Sprint a equipa vai decidir que funcionalidades irá executar nesse Sprint e para isso necessita de executar uma estimativa de duração que lhe permita saber o numero de horas de trabalho (esforço efetivo) que serão necessárias para criar cada uma das funcionalidades.
Porque tem objetivos distintos e são necessárias em momentos diferentes do processo de gestão ágil aconselha que se distingam as estimativas de esforço nessas duas componentes (estimativa de esforço relativo e estimativa de duração).
Uma estimativa de esforço relativo pode ser expressa em pontos da funcionalidade, horas de esforço ou dimensão (tamanho) da funcionalidade. Habitualmente as estimativas de esforço são calculadas com base num determinado numero de pontos que a equipa SCRUM, por consenso, atribui a cada uma das funcionalidades. Essa quantidade de pontos é uma medida relativa do grau de dificuldade para a criação de cada uma das funcionalidades.
A estimativa da duração tem por objetivo estimar o tempo real que determinada funcionalidade demora a criar. Este tipo de estimativa só é feito para as funcionalidades que já se encontram detalhadamente descritas (precisamos de conhecer em detalhe o que precisamos fazer para poder estimar com precisão o numero de horas que iremos ocupar). Habitualmente a duração é calculada em horas de tempo ideal de trabalho (isto é, horas de trabalho efetivo). A técnica aconselhada pelas metodologias ágeis para obter esta estimativa dá pelo nome de Poker de Planeamento. Abordaremos em detalhe o Poker de Planeamento num artigo futuro, por agora limita-mo-nos a dizer que o Poker de Planeamento não é mais que uma forma divertida de operacionalizar um processo de estimativa por analogia baseada no conhecimento de peritos (sendo que, neste caso, os peritos é a equipa de projeto).
Depois de termos a estimativa de duração para cada uma das funcionalidades que estão aptas a integrar o próximo sprint podemos dar inicio ao processo de planeamento do Sprint que essencialmente consiste em ir preenchendo o tempo de trabalho disponível em cada Sprint com as funcionalidades que necessitam de ser criadas, dando prioridade ás funcionalidades que têm um maior valor de negócio e tendo em consideração eventuais constrangimentos tecnológicos ou de interdependência. Como explicado acima o conceito de velocidade é central para o planeamento dos projetos ágeis, vamos ver agora como podemos adaptar o MS Project para que no nosso projeto consigamos medir essa velocidade.
Porque tem objetivos distintos e são necessárias em momentos diferentes do processo de gestão ágil aconselha que se distingam as estimativas de esforço nessas duas componentes (estimativa de esforço relativo e estimativa de duração).
Uma estimativa de esforço relativo pode ser expressa em pontos da funcionalidade, horas de esforço ou dimensão (tamanho) da funcionalidade. Habitualmente as estimativas de esforço são calculadas com base num determinado numero de pontos que a equipa SCRUM, por consenso, atribui a cada uma das funcionalidades. Essa quantidade de pontos é uma medida relativa do grau de dificuldade para a criação de cada uma das funcionalidades.
A estimativa da duração tem por objetivo estimar o tempo real que determinada funcionalidade demora a criar. Este tipo de estimativa só é feito para as funcionalidades que já se encontram detalhadamente descritas (precisamos de conhecer em detalhe o que precisamos fazer para poder estimar com precisão o numero de horas que iremos ocupar). Habitualmente a duração é calculada em horas de tempo ideal de trabalho (isto é, horas de trabalho efetivo). A técnica aconselhada pelas metodologias ágeis para obter esta estimativa dá pelo nome de Poker de Planeamento. Abordaremos em detalhe o Poker de Planeamento num artigo futuro, por agora limita-mo-nos a dizer que o Poker de Planeamento não é mais que uma forma divertida de operacionalizar um processo de estimativa por analogia baseada no conhecimento de peritos (sendo que, neste caso, os peritos é a equipa de projeto).
Depois de termos a estimativa de duração para cada uma das funcionalidades que estão aptas a integrar o próximo sprint podemos dar inicio ao processo de planeamento do Sprint que essencialmente consiste em ir preenchendo o tempo de trabalho disponível em cada Sprint com as funcionalidades que necessitam de ser criadas, dando prioridade ás funcionalidades que têm um maior valor de negócio e tendo em consideração eventuais constrangimentos tecnológicos ou de interdependência. Como explicado acima o conceito de velocidade é central para o planeamento dos projetos ágeis, vamos ver agora como podemos adaptar o MS Project para que no nosso projeto consigamos medir essa velocidade.
Microsoft Project Para Agile: Usar o Conceito de Velocidade
1. Abra o MS Project
2. Abra o ficheiro de projeto que usou no artigo anterior (ver aqui). No nosso caso vamos abrir o ficheiro MSP4AG_Art3 que guardámos no disco C:\ do nosso computador.
Para guardar a informação sobre a velocidade da equipa de projeto temos de criar um campo adicional, com formato numérico, no qual iremos inserir a formula matemática que permite o calculo dessa velocidade.
- Aceda ao menu Project | Custom Fields
- Na caixa de diálogo “Custom Fields” verificamos se está selecionada a opção “Task”.
- Abra a combo-box “Type” e escolha o tipo de campo “Number”
- Selecione o campo com o nome “Number5”. De seguida carregue no botão “Rename” e renomeie o nome do campo de "Number5" para "Velocidade" e clique no botão de OK.
- Para adicionar uma formula ao campo velocidade clique no botão “Formula”. Isso irá abrir uma caixa de diálogo onde pode escrever a formula que deseja inserir. Nessa caixa de dialogo pode usar vários operadores matemáticos e lógicos, outros campos definidos no MS Project e um conjunto alargado de Funções. Essas funções são as que, na generalidade estão disponíveis em todos os aplicativos da Microsoft e também algumas funções especificas do MS Project, as quais explicaremos detalhadamente em artigos futuros
- Calcular a velocidade para cada uma das funcionalidades definidas no nosso projeto implica testar o seguinte:
3. Para implementar este processo de decisão na nossa fórmula vamos usar alguns dos campos adicionais criados no artigo anterior (ver aqui). Com esses campos vamos escrever a seguinte formula:
= IIf([Flag1]=Yes;IIf([% Complete]=100;[Duracao_Horas] ;0);0)
Como pode ver, na estrutura de decisão apresentada anteriormente, o processo tem duas decisões distintas, pelo que a formula a criar terá duas instruções de IFF() encadeadas, uma vez que primeiro temos de saber se determinada linha do BackLog do Produto é uma funcionalidade e, se for, temos de saber se essa funcionalidade está concluída ou não. Para criar a formula execute os seguintes passos:
- Aceda ao menu Project | Custom Fields.
- Na caixa de diálogo “Custom Fields” verifique se está selecionada a opção “Task”.
- Abra a combo-box “Type” e escolha o tipo de campo “Number”.
- Selecione o campo “Velocidade (Number5) e carregue no botão “Formula…”.
- Aceda ao botão “Function”, opção “General” e faça duplo clique na função IFF( expression; truepart; falsepart).
- Posicione o cursor sobre “expression” e faça duplo clique para selecionar.
- Aceda ao botão “Field”, opção “Flag | Custom Flag” e selecione o campo “Funcionalidade” e acrescente a expressão “ = Yes”.
- Posicione o cursor sobre “truepart” e faça duplo clique para selecionar
- Aceda ao botão “Function”, opção “General” e faça duplo clique na função IFF( expression; truepart; falsepart).
- Posicione o cursor sobre “expression” deste segundo IFF() e faça duplo clique para selecionar.
- Aceda ao botão “Field”, opção “Number” e selecione o campo “%Complete” e acrescente a expressão “ = 100”.
- Posicione o cursor sobre “truepart” deste segundo IFF() e faça duplo clique para selecionar.
- Aceda ao botão “Field”, opção “Number | Custom Number” e selecione o campo “Duracao_Horas”.
- Aceda agora às expressões “falsepart” das duas funções IFF() e substitua-as por 0 (zero). o. Clique no botão de “OK” para fechar a caixa de diálogo “Formula”.
4. Antes de terminar temos ainda de configurar o campo Velocidade para que o valor de cada funcionalidade seja somado ao grupo a que essa funcionalidade pertence.
- No menu “Custom Fields” certifique-se que o campo “Velocidade (Number5)” continua selecionado.
- Na secção “Calculation for task and group summary rows” selecione a opção “Rollup”. Abra Combo Box correspondente e escolha a operação “Sum”
- Clique no botão de “OK” para fechar a caixa de diálogo “Custom Fields”
5. Guarde o ficheiro em que esteve a trabalhar, ele será usado como ponto de partida para o próximo artigo.
- Aceda ao File | Save As
- Escolha a localização e o nome do ficheiro a guardar. No nosso caso escolhemos o nome MSP4AG_Art4 e guardámos o ficheiro no disco C:\ do nosso computador.
- Clique no botão “Save” e Abandone o MS Project
Por agora é tudo,
Bons projetos
Grp2ALL
Se pretender seguir esta série de artigos desde o inicio, tem aqui a lista cronológica dos artigos já publicados:
Se pretender seguir esta série de artigos desde o inicio, tem aqui a lista cronológica dos artigos já publicados: