Gerenciamento de Projetos Aplicado ao Desenvolvimento

Propaganda
JIM 2012 - IV Jornada de Informática do Maranhão
Gerenciamento de Projetos Aplicado ao Desenvolvimento de
Software Corporativo com Metodologias Ágeis e PMBOK
Alana Oliveira2,1, Gleisse Moreira2, Wellison Pereira2, Guilherme Soares3, Paulo
Morgado2, João Ferreira2
1
Programa de Pós-Graduação em Ciência da Computação –PPGCC/UFMA
São Luís – MA
2
3
Instituto Superior de Administração e Negócios – ISAN/FGV
São Luís – MA
Departamento de Desenvolvimento, Suporte e Inovação – ALUMAR
São Luís – MA
[email protected], {gleissem,wellisonp}@hotmail.com,
[email protected]
Abstract. Projects that fail to achieve their goals are common in the area of
information technology. Delays, cost overruns and products that do not meet
the needs for which they were created undermine the productivity of
companies and organizations. Agile development methodologies emerge as an
alternative to solve these problems, proposing the development of software
through an interactive cycle, with little documentation, strengthening the
communication and greater customer involvement with the project team. This
paper proposes an adaptation of the Scrum agile methodology to enterprise
software development, with support for multiprojects. We describe a real case
study applied to systems development in a large multinational company in Sao
Luis - MA.
1. Introdução
O planejamento é uma necessidade constante para a realização de projetos em qualquer
ramo de negócio. Todos os empreendimentos, por mais simples que, aparentemente,
possam ser, necessitam de planejamento. Logo, não seria diferente no âmbito da
Engenharia de Software, uma vez que gerenciar projetos, principalmente nessa área,
tornou-se tarefa árdua devido à velocidade com que as inovações e mudanças
acontecem.
A quantidade de projetos que fracassam no alcance de seus objetivos contribuiu
também para a conscientização da necessidade de planejamento. Estouros de
orçamentos, atrasos no cumprimento de prazos e a entrega de produtos fora de
conformidade com as necessidades dos clientes são fatos corriqueiros na realidade das
organizações. E é justamente neste momento que surge a necessidade de adotar boas
práticas e empregar metodologias padronizadas de gestão de projetos que possam
orientar o desenvolvimento de um projeto e aumentar a probabilidade do seu sucesso.
Nesse cenário, o Project Management Institute, também conhecido como PMI,
publicou um guia denominado de PMBOK - Guia do Conjunto de Conhecimentos em
JIM, 2012. ISSN: 2358-8861
JIM 2012 - IV Jornada de Informática do Maranhão
Gerenciamento de Projetos (PMI, 2004). O PMBOK consolida um conjunto de
conhecimentos gerais fruto de pesquisa e experiências relacionadas às melhores
práticas, amplamente reconhecidas, utilizadas em gerenciamento de projetos, podendo
ser aplicado em projetos das mais diversas áreas de atuação, inclusive nos da área de
desenvolvimento de software.
Em um processo natural de amadurecimento, também, as metodologias de
desenvolvimento de software vêm sendo aperfeiçoadas para atender as peculiaridades
inerentes à produção de software. Assim, processos mais simplificados, como as
chamadas metodologias ágeis, procuram produzir software de maneira mais direta e
menos burocrática e têm despertado o interesse das comunidades de desenvolvimento
de software. Metodologias ágeis, pelo seu caráter mais simples e rápido, são
consideradas mais adaptadas ao ambiente instável e turbulento no qual o
desenvolvimento de software está inserido (BOEHM, 2002) (Cockburn, Highsmith,
2001).
O objetivo deste trabalho é analisar as características principais do guia PMBOK
e da metodologia ágil SCRUM, bem como avaliar e apresentar um estudo de caso de
sua aplicação conjunta por uma equipe de desenvolvimento de software, de uma grande
empresa do Distrito Industrial de São Luís, MA.
A Seção 2 deste trabalho trata do guia PMBOK, enquanto a Seção 3 aborda a
metodologia ágil Scrum. Na Seção 4, detalha-se o estudo de caso de aplicação e
adaptação da metodologia e por fim a Seção 5 apresenta as principais conclusões.
2. O Guia PMBOK
O PMI1 publicou em 1987 o PMBOK Standards, precursor da versão de 1996 do
guia PMBOK. A disponibilização de novas versões do guia, ao longo dos anos, reflete o
compromisso contínuo do PMI na atualização dos padrões que ele desenvolve e
difunde. O guia PMBOK se tornou uma compilação de conhecimentos “amplamente
reconhecidos” e de melhores práticas do gerenciamento de projetos, aceito pelo ANSI e
pelo IEEE e utilizado como referência pela ISO.
Ainda segundo o PMI (2004), o gerenciamento de projetos é “a aplicação de
conhecimento, habilidades, ferramentas e técnicas às atividades do projeto a fim de
atender aos seus requisitos”. O termo gerenciamento também pode ser entendido como
a execução de atividades e tarefas visando planejamento e controle de atividades de
outras pessoas para atingir objetivos que não podem ser alcançados caso as pessoas
atuem por conta própria (KOONTZ, O’DONNELL, 1989).
O PMBOK (2004) organiza os processos de gerenciamento de acordo com sua
temporalidade ao longo do ciclo de vida do projeto, em quatro grandes grupos: de
iniciação, planejamento, execução, e monitoramento e controle. O PMBOK também
divide os processos de gerenciamento considerando sua natureza e características ao
longo de nove áreas de conhecimento, quais sejam: gerenciamento de Integração,
Escopo, Tempo, Custos, Qualidade, Recursos Humanos, Comunicação, Riscos e
Aquisições.
1
Project Management Institute (http://www.pmi.org/)
JIM, 2012. ISSN: 2358-8861
JIM 2012 - IV Jornada de Informática do Maranhão
3. Metodologias Ágeis e SCRUM
O termo metodologias ágeis tornou-se popular em 2001, quando dezessete
especialistas em processos de desenvolvimento de software estabeleceram princípios
comuns compartilhados por várias metodologias. O resultado foi a criação da Aliança
Ágil, uma organização sem fins lucrativos que procura promover o conhecimento e
discussão sobre as metodologias ágeis existentes e o estabelecimento de um manifesto,
chamado de Manifesto Ágil, que consiste em uma declaração de valores comuns e
princípios de processos ágeis (AGILE ALLIANCE, 2007).
Uma pesquisa sobre o estado do desenvolvimento ágil realizada pela empresa
VersionOne, nos Estados Unidos, em 2007, indica que 40% de seus entrevistados
utilizam Scrum como metodologia ágil de desenvolvimento de software
(VERSIONONE, 2007). Isso se deve ao Scrum mostrar-se como uma metodologia
flexível e de fácil aprendizado, recomendada para o gerenciamento de qualquer tipo de
projeto. Por essa, e outras características, o Scrum será a metodologia utilizada como
base de estudo para este trabalho.
4. Estudo de Caso
Este estudo de caso descreve a aplicação, de forma adaptada, da metodologia Ágil
Scrum por uma equipe de desenvolvimento de software de uma grande empresa do
Distrito Industrial de São Luís, Maranhão. Muito da metodologia original foi mantido,
contudo se fez necessário uma adaptação do quadro Scrum (Figura 1) a fim de dar
suporte a questões relacionadas a gerenciamento de multi-projetos e compartilhamento
de recursos humanos entre os mesmos.
Figura 1. O quadro Scrum adaptado ao gerenciamento de multi-projetos
Inicialmente, na fase de planejamento a equipe define as funcionalidades a
serem incluídas nas novas versões do software (o chamado backlog do produto),
JIM, 2012. ISSN: 2358-8861
JIM 2012 - IV Jornada de Informática do Maranhão
estimando-se custo e tempo, e definindo a arquitetura, em alto nível, a ser utilizada para
implementação do software. Neste momento, ainda não se tem muitos detalhes de como
serão implementadas as funcionalidades, já que o produto será melhor conhecido à
medida que as sprints forem ocorrendo. Uma sprint na metodologia Scrum é cada uma
das iterações onde ocorre o desenvolvimento do produto propriamente dito.
A Figura 1 mostra o quadro adaptado utilizado pela equipe para o gerenciamento
dos projetos em andamento. Note-se que diferentemente da versão tradicional do Scrum,
em que o gerenciamento é feito por projeto, no caso em estudo optou-se por fazê-lo
aplicado a multi-projetos.
A primeira coluna (WHO) contêm os membros da equipe, onde cada linha
define seu backlog (TO DO), o que está sendo desenvolvido por ele na sprint atual (IN
PROCESS), os casos de teste sob sua responsabilidade (TO TEST) e, finalmente, o que
foi concluído na sprint atual (DONE).
Neste ponto reside o grande diferencial da metodologia Scrum adaptada, descrita
neste trabalho: cada linha funciona como um mini-quadro Scrum que fornece a visão de
cada desenvolvedor, diferentemente da versão tradicional onde se tem a visão do
projeto. Sendo assim, esta versão adaptada da metodologia permite o gerenciamento de
multi-projetos, sendo mais adequada para equipes pequenas, em que há um grande
envolvimento de seus membros na maioria dos projetos.
5. Conclusão
Este trabalho descreveu a aplicação de técnicas de gerenciamento de projetos e
metodologias ágeis ao desenvolvimento de software em ambientes corporativos.
Utilizou-se como estudo de caso uma equipe de desenvolvimento de uma grande
empresa multinacional, tendo sido feita uma adaptação da metodologia Scrum original
para o gerenciamento de multi-projetos. Isto se revelou de grande valia para fornecer
uma visão geral de todos os projetos em desenvolvimento pela equipe, garantindo por
consequência um maior envolvimento e sinergia dos seus membros.
Referências
AGILE ALLIANCE. (2012) “Manifesto for Agile Software Development”,
http://www.agilemanifesto.org , May.
BOEHM, Barry. (2002) “A Spiral Model of Software Development and Maintenance”,
http://www.cs.umd.edu/class/spring2003/cmsc838p/Process/spiral.pdf.
Cockburn, Alistair A. R; Highsmith, Jim. (2001) “Agile Software Development: The
People Factor”.
PMI. Guia PMBOK: Um Guia do Conjunto de Conhecimentos do Gerenciamento de
Projetos. Pennsylvania: Project Management Institute, 3. ed., 2004.
VERSIONONE. (2007) “Survey: The State of Agile Development.”
http://www.versionone.com/pdf/StateofAgileDevelopmentSurvey.pdf.
KOONTZ, H.; O’DONNELL, C (1989). “Fundamentos da administração”. 2. ed. São
Paulo: Pioneira.
JIM, 2012. ISSN: 2358-8861
Download