Вы находитесь на странице: 1из 6

Gerncia de Tempo de Projeto com Quantum e Scrum

Patrcia Fontinele Muniz1, Adalton de Sena Almeida1


1

Instituto Federal de Educao, Cincia e Tecnologia do Piau (IFPI)


Teresina PI Brasil

patriciafmuniz@gmail.com, adalton@infoway-pi.com.br

Abstract. Time Management is one of the most important areas in Project


Management, and intent the project conclusion into the planned schedule.
Analyzing the state of art in software time management project, this article
handles this knowledge area and how it can be aided by tasks and time tools
into the context of agile methods for software development application.
Resumo. O Gerenciamento de Tempo uma das mais visveis reas do
Gerenciamento de Projetos, e tem como objetivo a concluso do projeto
dentro do prazo estabelecido. Analisando o estado da arte no gerenciamento
de tempo de projetos de software, este artigo trata desta rea de conhecimento
e de como ela pode ser auxiliada por ferramentas de controle de tempo e
tarefas dentro do contexto da aplicao de um mtodo gil para o
desenvolvimento de software.

1. Introduo
A complexidade das empresas modernas, fruto do elevado nvel de competitividade e de
avanos tecnolgicos recentes, provocou aumento considervel na quantidade e
complexidade das decises administrativas. Princpios tradicionais de administrao,
desenvolvidos aps a revoluo industrial, hoje so insuficientes para resolver os
problemas de deciso com que os administradores se defrontam. Esse ambiente
dinmico da empresa moderna requer valorizao das funes administrativas de
planejamento e controle para seu gerenciamento eficaz, reduzindo a incerteza e
avaliando riscos [Casarotto Filho 1999].
Nesse contexto, alcanar competitividade pela qualidade, para as empresas de
software, implica tanto na melhoria da qualidade dos produtos de software e servios
correlatos, como dos processos de produo e distribuio dos mesmos. Para tal existe a
gerncia de projetos de software, que consiste na aplicao de planejamento,
coordenao, medio, monitoramento, controle e divulgao de relatrios, com o
intuito de garantir que o desenvolvimento e a manuteno de software sejam
sistemticos, disciplinados e qualificados [IEEE Std 610.12 1990].
Assim, o gerenciamento de projetos de software uma parte essencial na
engenharia de software e comea antes de qualquer atividade tcnica a ser iniciada,
continuando ao longo da definio, do desenvolvimento e do apoio do software de
computador [Pressman 2006], [Sommerville 2007].
O presente trabalho est organizado como segue: a seo 2 apresenta conceitos e
tcnicas de gerncia de tempo de projeto; a seo 3 apresenta uma ferramenta,
mostrando suas funcionalidades; na seo 4 so mostrados os resultados obtidos com o
uso da ferramenta, e na seo 5, constam a concluso e a indicao de trabalhos futuros.

2. Planejamento e Controle de Tempo de Projeto


O PMBOK [PMBOK 2004] decompe o gerenciamento de tempo de projetos em seis
subprocessos principais (quais sejam: definio da atividade, seqenciamento de
atividades, estimativa de recursos da atividade, estimativa de durao da atividade,
desenvolvimento do cronograma, e controle do cronograma), de modo a assegurar que o
projeto ser implementado no prazo previsto.
No contexto de gerncia de projetos de software, o uso de modelos de
desenvolvimento iterativo-incremental facilita estimativas mais precisas e evita que as
previses sejam excedidas, uma vez que a entrega evolucionria e o feedback que ela
produz provoca a reviso de estimativas de tempo e custo nos estgios iniciais do
projeto [Molkken-stvold e Jrgensen 2005]. Mtodos geis empregam fortemente
essa caracterstica, sugerindo diversas prticas simples que apiam o gerenciamento de
projetos, especialmente os de software.
Um dos mais populares o Scrum, utilizado em 71%1 das empresas de
desenvolvimento de software que aplicam mtodos geis [Versionone 2008]. Nele
podemos observar que, a gerncia de projetos, destacadamente no que diz respeito ao
tempo, est fortemente presente ao longo da execuo de suas iteraes, denominadas
Sprint. A cada iterao, o time controla o andamento do projeto realizando reunies
dirias rpidas e observando o seu progresso usando um grfico chamado Sprint
Burndown. Outro artifcio definido pelo Scrum o uso de um quadro de trabalho, no
qual as tarefas so dispostas segundo seus status [Schwaber 2004]. Esse quadro muito
produtivo, pois, tal qual o burndown, basta olhar para ele para realizar a leitura do
progresso do Sprint.
A gerncia de pequenas unidades de projeto mais fcil, pois possibilita maior
controle de todas as atividades relacionadas. Quando a iterao acompanhada por
mecanismos de monitoramento, a gerncia torna-se ainda mais eficaz.

3. Ferramentas de Gerncia de Tempo De Projeto


As funes de planejamento e controle requerem a anlise de uma grande quantidade de
informaes, nem sempre disponveis na empresa com a rapidez e preciso necessrias
para fazer frente a seu ambiente complexo e mutvel. Nesse contexto, as ferramentas de
gerncia de projeto constituem sistemas de apoio Engenha de Software, pois
possibilitam a obteno quase instantnea de informaes gerenciais, que seriam
impraticveis por meio de mtodos manuais de coleta e anlise [Casarotto Filho 1999].
De acordo com o peridico Extreme CHAOS 2 [Extreme Chaos 2001], mais de
60% dos projetos concludos com sucesso usaram ferramentas tais como sutes de
gerenciamento de projeto e de requisitos de software. Por outro lado, projetos que
sofreram alguma modificao significativa usaram tais sistemas pouco mais que 50% do
tempo. Projetos que foram cancelados usaram ferramentas de gerncia de projeto em
aproximadamente 40% do tempo.
1

Esse nmero corresponde ao emprego do Scrum puro ou em conjunto com o Extreme


Programming.
2
Relatrio que divulga alguns dos resultados do CHAOS Report, tradicional estudo sobre
sucessos e fracassos em projetos de TI realizado pelo Standish Group International. Distribudo pela
mesma instituio mantenedora da pesquisa.

As ferramentas de gerncia de projeto mais conhecidas possibilitam basicamente


um registro de recursos e tarefas, e fornecem grficos como o Gantt e o PERT/CPM. No
entanto o progresso do projeto gerado com base em informaes inseridas
manualmente pelo gerente ou por um membro da equipe. Isso possibilita a injeo de
erros e at mesmo a deformao proposital de um dado de modo a ocultar algum atraso
ou outro problema qualquer.
A adoo de um sistema conveniente de controle de progresso possibilita uma
avaliao mais prxima da realidade do andamento do projeto, e tambm pode auxiliar
o gerente fornecendo-o conhecimento, bem como apoiando ele e sua equipe na tomada
de decises [Pressman 2006]. Tal convenincia est na contabilizao automtica do
tempo despendido em uma tarefa, na qual o membro da equipe fica responsvel por
apenas inici-la, paus-la quando necessrio, bem como por conclu-la. Desse modo, o
tempo efetivamente trabalhado registrado, no cabendo a um mero cadastro por parte
da equipe.
Essa abordagem tambm est suscetvel a erros, pois o membro da equipe pode
esquecer-se de iniciar uma tarefa, no contabilizando horas de trabalho, bem como pode
deixar uma tarefa iniciada enquanto realiza atividades distintas daquelas relacionadas ao
projeto. No entanto, com esforo por parte da equipe e ateno do gerente para educar o
uso correto da ferramenta, em mdio prazo esses problemas so minimizados, e a
contabilizao de tempo de trabalho se torna mais prxima do real.
A medio de software se dedica a derivar um valor numrico por algum
atributo de um produto ou de um processo de software [Sommerville 2007], permitindo
a obteno do entendimento do processo e do projeto e fornecendo um mecanismo para
avaliao objetiva. Mtricas de processo so coletadas no decorrer de todos os projetos
e durante longos perodos, com o objetivo de fornecer um conjunto de indicadores que
levam ao aperfeioamento do processo de software no longo prazo. J as mtricas de
projeto permitem ao gerente avaliar o estado um projeto em andamento e ajustar o fluxo
de trabalho, dentre outros [Pressman 2006].
Existem algumas ferramentas no mercado que cumprem o papel de administrar a
execuo de tarefas, bem como de fornecer informaes a respeito do progresso das
tarefas e dos projetos que compem. No foi encontrada nenhuma que contemplasse, ao
mesmo tempo, a contabilizao automtica dos tempos das tarefas e o suporte ao uso do
Scrum. A necessidade de unir essas duas funcionalidades em uma nica aplicao
motivou o aperfeioamento da ferramenta apresentada neste trabalho: o Quantum.
3.1. Quantum
O Quantum uma ferramenta in-house3 para o gerenciamento de tempo e de tarefas de
desenvolvimento de software. Basicamente, apresenta cadastros de colaboradores,
projetos e tarefas. Os colaboradores esto associados a papis: desenvolvedor,
coordenador (que o gerente de projetos), visitante ou root. Cada um desses papis d
acesso limitado a determinadas funcionalidades.
No que diz respeito ao controle do tempo, o Quantum fornece um ambiente para
registro do andamento das tarefas. Ao cadastr-las, o colaborador as nomeia e d uma
3

Ou seja, foi desenvolvida na prpria empresa que a utiliza, de modo a atender suas
necessidades internas.

previso, em horas e minutos, de quanto tempo ser necessrio para conclu-las. Se o


colaborador for um coordenador, ele poder associar mais de um desenvolvedor a uma
mesma tarefa, representando trabalho colaborativo. O cadastro de tarefas tambm
possui campo para definir sua prioridade e outro para inserir observaes (um
mecanismo de registro de informaes relevantes respectivas ao trabalho).
Uma vez cadastrada, a tarefa pode assumir diversas situaes:
a) Iniciada: quando o colaborador inicia ou reinicia uma tarefa,
representando que a partir desse momento ele trabalhar em cima dessa
atividade.
b) Pausada: quando o colaborador interrompe temporariamente seu
trabalho, como, por exemplo, para intervalo de almoo ou mesmo para se
dedicar a outras tarefas. Esta situao pressupe que o colaborador ir
voltar a trabalhar nessa mesma atividade. Ao pausar uma tarefa, o
colaborador tem a oportunidade de registrar a porcentagem de concluso
da mesma.
c) Concluda: representa o trmino do trabalho do colaborador em uma
atividade. Uma vez concluda, a tarefa no pode mais mudar de situao.
d) Cancelada: o colaborador pode cancelar uma tarefa quando ela no atende
mais s necessidades do projeto. No se pode, entretanto, cancelar uma
tarefa que j esteja concluda.
Ao longo de sua vida til, toda a movimentao de uma tarefa armazenada, de
modo a fornecer um histrico de tudo o que foi feito, em que momento e por quem. Isso
um mecanismo para a gerncia monitorar a dedicao da equipe s atividades do
projeto.
As tarefas que ultrapassam sua previso so consideradas expiradas e recebem
ateno especial do coordenador, de modo que possa estudar o quanto elas
ultrapassaram suas previses e descobrir o porqu disso ter acontecido. Apesar de os
desenvolvedores verem o quanto tempo suas respectivas tarefas duraram, eles no tm
acesso s informaes das tarefas dos demais.
Com a adoo do Scrum pela organizao que utiliza a ferramenta, fez-se
necessrio modificar o Quantum para que o mesmo passasse a dar suporte s prticas
dessa metodologia e deixasse de ser um simples contador de tempo.
Alm das funcionalidades anteriormente citadas, hoje tambm possvel realizar
o cadastro de Sprints, que consiste na alimentao de dados como o dia do incio do
ciclo, a quantidade aproximada de horas de trabalho por dia e as tarefas que pertencero
a cada iterao. Aps isso a ferramenta gera automaticamente o Sprint Burndown,
queimando as horas previstas com base nas tarefas concludas a cada dia. Ela tambm
disponibiliza para impresso os cartes que comporo o quadro de trabalho, com as
principais informaes de cada tarefa do Sprint.
Apenas o coordenador tem acesso seo de cadastro de Sprints. No entanto,
todos os membros da equipe tm acesso ao relatrio de visualizao do grfico, para
que possam eles prprios acompanhar o progresso do projeto e com isso contribuir para
a melhoria do trabalho do time.

Para a implementao das alteraes no Quantum, foi utilizado o JFreeChart


verso 1.0.12, que uma biblioteca livre e opensource de gerao de grficos para a
plataforma Java. Utilizou-se tambm o Cewolf 1.0, uma biblioteca que possibilita a
exibio de grficos em uma pgina web. A linguagem de programao Java e o SGBD
MySql foram utilizados por j serem as ferramentas originais da aplicao, e a IDE
usada no desenvolvimento foi o Eclipse Ganymede.

4. Resultados
O Scrum foi aplicado em uma equipe de cinco pessoas responsveis por um projeto de
software web j em produo, que no entanto possui alta demanda de novas
implementaes. A necessidade de resposta mais rpida a essas solicitaes fez com que
o gerente de projetos optasse por adotar efetivamente uma metodologia gil. O resultado
disso foi bastante satisfatrio. A equipe evoluiu profissionalmente, comprometendo-se
mais com o projeto e se sentindo mais motivada, pois a percepo de produtividade
clara e positiva. O cliente tambm foi beneficiado, pois passou a obter feedbacks bem
mais rpidos de suas solicitaes.
No entanto, o tempo despendido pelo gerente nas atividades preparatrias do
sprint, como para projetar sua durao, associar tarefas, gerar o burndown e imprimir os
cartes para serem anexados ao quadro de tarefas era bastante elevado. Alm disso, a
atualizao do grfico burndown atrasava muito, o que dificultava a leitura do progresso
da iterao.
Nesse sentido, fez-se necessrio adequar uma ferramenta de gerncia de tempo e
tarefas que j estava em uso para que passasse a dar suporte a essas atividades de
gerncia adotadas pelo Scrum. O Quantum, no papel de ferramenta de apoio
engenharia de software, fornece, de maneira simples, mecanismos para que se possa
gerir o tempo de projeto de forma eficiente.
Inicialmente a equipe fez a reunio de planejamento do sprint, determinando as
tarefas a serem feitas e estimando o tempo necessrio para a concluso de cada uma
delas. Aps isso, o coordenador cadastrou as tarefas no Quantum, associando-as a um
sprint. Os cartes foram afixados no quadro de trabalho, e o relatrio de visualizao do
Sprint Burndown ficou disponvel para todos os membros. Antes de cada reunio diria,
os desenvolvedores deveriam consultar o burndown, para chegar nela munidos de
alguma informao sobre o progresso do sprint. As dificuldades eram discutidas, e a
rotina era rearranjada de acordo com a necessidade.
Hoje toda a equipe a equipe tm conhecimento do andamento do projeto por
meio da visualizao do grfico burndown sempre atualizado, e o time pode chegar a
solues de pendncias que sejam descobertas por meio de sua interpretao. A
percepo de que o trabalho de um membro afeta o de toda a equipe serviu de
motivao para que os desenvolvedores no se esquecessem de iniciar, pausar ou
concluir suas tarefas, bem como o de finaliz-las dentro da iterao, mesmo que
ultrapassassem em horas a estimativa feita.
O uso da ferramenta foi essencial para o sucesso da adoo dessa metodologia,
uma vez que fornece informao precisa a respeito do progresso da iterao.

5. Concluso e Trabalhos Futuros


O gerenciamento de tempo de projeto no uma atividade trivial, tendo em vista sua
elevada taxa de extrapolao em relao ao que foi previsto. Contudo possvel
simplific-la por meio da adoo de mtodos geis, como por exemplo o Scrum, que
aumenta a eficincia e a segurana da equipe, reduzindo a incerteza na previso de
tarefas. O uso de ferramentas de registro de tempo e monitoramento do progresso
tambm essencial para alcanar esse fim.
Verificou-se que nenhuma ferramenta de gerncia de projetos encontradas no
mercado atendia s necessidades da equipe que comps o estudo de caso deste artigo.
Foi necessrio ento efetuar alteraes na que j era utilizada o Quantum de modo a
adequ-lo s recomendaes da metodologia gil adotada pelo time. O emprego do
Scrum junto com a utilizao do Quantum como ferramenta de medio e
monitoramento de tempo de projeto contribuiu para o maior domnio de seu progresso,
facilitando o trabalho em equipe e aumentando a qualidade do desenvolvimento.
O Quantum ainda passvel de vrias melhorias. Por exemplo, ele prprio
poderia sugerir a previso do tempo de uma tarefa por meio da anlise dos dados
histricos de tarefas semelhantes, em vez de o colaborador ter de estim-lo com base na
sua experincia. Poderia tambm integrar o registro de demandas dos clientes do
projeto, envolvendo mais um personagem importante do Scrum o Product Owner no
processo de desenvolvimento de software, tornando a ferramenta ainda mais prxima
desta metodologia.

Referncias
Casarotto Filho, Nelson; Favero, Jos Severino; Castro, Joo Ernesto Escosteguy.
Gerncia de Projetos/Engenharia Simultnea: organizao, planejamento,
programao, PERT/CPM, PERT/custo, Controle Direo. So Paulo: Atlas, 1999.
Extreme Chaos. The Standish Group International. 2001. Disponvel em
<http://www.standishgroup.com/sample_research/index.php>. Acesso em: 20 de
janeiro de 2009.
Institute of Electrical And Electronics Engineers. Std 610.12: IEEE Standard Glossary
of Software Engineering Terminology. New York, 1990.
Molkken-stvold, Kjetil; Jrgensen, Magne. A Comparison of Software Project
Overruns Flexible versus Sequential Development Models. IEEE Transactions On
Software Engineering, vol. 31, n. 9, 2005.
Pressman, Roger. S. Engenharia de Software. 6 ed. McGraw-Hill, 2006.
Project Management Institute. Um Guia do Conjunto de Conhecimentos em
Gerenciamento de Projetos (Guia PMBOK). 3 ed. Pennsylvania, 2004.
Sommerville, Ian. Engenharia de Software. 8 ed. Pearson/Prentice Hall, 2007.
Schwaber K.. Agile Project Management With Scrum. Washington: Microsoft Press,
2004.
Versionone. The State of Agile Development. 2008. Disponvel em
http://www.versionone.com/pdf/3rdAnnualStateOfAgile_FullDataReport.pdf>.
Acesso em: 30 de maro de 2009.

<

Вам также может понравиться