Thursday, February 24, 2011

PSP (Personal Software Process) com o Eclipse - Parte 1: Tapando os Buracos do Tempo!

Você chega para trabalhar as 8:30. Examina a sua lista de tarefas do seu projeto alvo, cujo número está em cinco tarefas abertas. De forma entusiástica, você começa a examinar a primeira tarefa.
As 8:45, o telefone toca. Você é chamado para uma reunião sobre um problema residual de um outro projeto. Você fica nesta reunião até as 10:00.
Às 10:10, o seu colega do lado o chama para resolver um complicado problema de depuração. Mais vinte minutos se passam sem que você se dê conta.
Você consegue retornar para o seu projeto, mas somente até 11:00. Neste momento um cliente telefona e interage com você por mais quinze minutos.
Às 11:15, você para ler apenas 3 ou 4 emails - afinal, ninguém é de ferro. Infelizmente você precisa responder dois deles e gasta mais vinte minutos.

As 18:00, você está estressado e cansado. A sua lista de tarefas ainda está com 4 tarefas em aberto, e o seu tempo foi dragado por vilões invisíveis. Infelizmente você apropria no seu timesheet 8 horas no seu projeto original, vai para casa desaminado e pensa: “Para onde foi o meu tempo?”.
Se você já viveu o sintoma acima, você realmente trabalha com desenvolvimento de software. Neste trabalho, o volume de interrupções é enorme e se não tivermos ferramentas para gerenciar o nosso tempo, não temos ciência sobre a nossa real produtividade.
Um dos objetivos do PSP é aumentar a nossa produtividade. Isso somente é possível através de medição. A primeira lei da gerência é: “Não se gerencia o que não se mede”. O PSP, então, trabalha fortemente a auto-gerência do tempo, i.e, mecanismos onde você irá vigiar o seu tempo rigorosamente para saber o que você faz durante um típico dia de trabalho.
O Mylar, plugin gratuito para o Eclipse, permite que você faça este controle exigido pelo PSP. Isso é realizado através do conceito de tarefas pessoais (Personal Task). Dentro do Eclipse com este plugin já instalado, você tem a possibilidade de criar uma lista de tarefas, como mostrado na figura abaixo:
Tarefas Pessoais no Mylar
Um característica interessante deste plugin é que voce pode ativar uma tarefa. Basta clicar com o botão direito em uma tarefa e clicar “Activate”. Ao realizar este processo, o Mylar usa o mecanismo de instrumentação do Eclipse e começa a contar (em minutos e segundos), quanto tempo você está gastando naquela tarefa. Se um telefone tocou, se você parou para lanchar, se você foi interrompido por outro evento, você apenas precisa se lembrar em clicar sobre a tarefa com o botão direito novamente e clicar em “Deactivate”. A contagem é interrompida e você pode retomá-la a qualquer instante ou ativar uma outra tarefa.
Em qualquer instante, você pode examinar quanto tempo você ainda possui em uma tarefa ou quantos minutos já foram decorridos. No exemplo acima, 2:34 minutos já foram gastos da tarefa “Implementar Tela - Cadastro de Correntista”.
Um uso não intrusivo do Mylar, para quem nunca trabalhou com o paradigma de programação focada em tarefas, é usá-lo apenas para os eventos maiores de um dia (ex: Almoços e Reuniões). Um efeito interessante, em médio prazo, é perceber que o seu dia típico de trabalho não possui 8 horas (o que é senso comum). Você talvez descubra que o seu dia típico no seu projeto seja de 7, 6 ou mesmo 5 horas. Este número é rico e deve ser reportado à sua gerência para a criação de cronogramas mais realistas.
Estudiosos de medições de projetos, como por exemplo Capers Jones, já realizaram estatísticas no mercado Brasileiro e constataram que uma pessoa de TI tipicamente trabalha 132 horas por mês. Se considerarmos que temos 22 dias úteis em um mês, chegamos ao valor de 6 horas por dia. Interessantemente, conheço empresas de grande porte no Brasil que tem como norma em seus cronogramas de projeto não alocar pessoas em projetos mais de 6 horas por dia. Sábia decisão!
O efeito subliminar de medir o próprio desempenho é muito interessante. Talvez você descubra na primeira semana que você somente está trabalhando no seu projeto 60% ou 65% do seu tempo útil.
Com esta informação em mãos, você reage quase que por instinto aos vilões de tempo.

  • Você passa a atuar nas tarefas mais prioritárias. “As coisas mais importantes primeiro”

  • Voce passa a organizar o seu tempo de forma bem mais rígida e consegue ter mecanismos de comprometimento muito mais fortes.

  • Você aumenta a sua eficácia e passa a ter mais tempo para realizar o que é realmente importante. Recomendo que você instale o Mylar e passe a organizar as suas tarefas semanais. Na primeira semana, organize apenas 4 ou 5 tarefas. Progressivamente, melhore o seu nível de controle. Os efeitos são mágicos uma vez que você passa a ter controle do seu tempo.
    O Mylar pode ser baixado deste site - http://www.eclipse.org/mylar/dl.php.
    Obviamente, ser eficaz não é ser eficiente. O fato de você ter 8 horas disponíveis não quer dizer que você não terá retrabalho

  • No comments: