Anda di halaman 1dari 8

artigo  GERENCIAMENTO DE PROJETOS

GERENCIAMENTO ÁGIL
DE PROJETOS EM TA

Samarone Guimarães Ruas (samarone@techplus.com.br),


Diretor de Aplicações da iTech Soluções,
uma divisão da Techplus Automação.

INTRODUÇÃO ao ambiente de desenvolvimento implantado em uma


Desde a Crise do Software, que forçou com que as Software organização e às características dos projetos: O tempo
Houses realizassem projetos de desenvolvimento de que pode ser gasto e a real necessidade do cliente a fim de
Software de uma maneira mais profissional e organizada, estimar custos e prazos reais.
muitas metodologias para esse desenvolvimento surgiram. Entretanto, a crise do software perdura até hoje. Mesmo
Linguagens foram criadas para modelar e facilitar o com técnicas avançadas de desenvolvimento e padrões
entendimento do produto pelo cliente e pela própria empresa consolidados na área de criação de softwares, ainda existem
desenvolvedora [1]. características da época da crise: projetos atrasados, erros
Na década de 70, a atividade “desenvolvimento de de estimativa de custos e de tempo que tornam o processo,
software” era executada de forma desorganizada, ainda que sistematizado, passível de muitos erros.
desestruturada e sem planejamento. Gerava-se um produto Um famoso estudo feito pelo Standish Group, publicado
final de má qualidade, pois não existia documentação, era anualmente, mostrava na sua última revisão em 2009 [2]:
entregue fora do prazo ou o levantamento de tempo e • 24% dos projetos fracassam.
esforço não correspondia com a real necessidade. Muitas • 44% dos projetos são entregues com sucesso parcial.
vezes, esta atividade não satisfazia às necessidades
• E apenas 32% dos projetos obtêm sucesso.
do cliente, desperdiçavam-se recursos da empresa e
aumentavam-se gastos que não viriam a ser compensadores A pergunta que fica é: O que podemos fazer para aumentar
para o cliente, demandando tempo, esforço e dinheiro. Essa estes 32%?
época ficou conhecida como Crise do Software [1].
A partir deste cenário, surgiu a necessidade de tornar PROCESSO DE DESENVOLVIMENTO
o Desenvolvimento de Software como um processo DE SOFTWARE
estruturado, planejado e padronizado, para que Pela perspectiva dos clientes o processo de desenvolvimento
as necessidades fossem atendidas e os gastos com de um software muitas vezes se assemelha a uma
informatização de processos de informações se tornassem “caixa-preta”. Os requisitos entram por um lado e o
compensadores. produto sai do outro, normalmente muito tarde. Neste
Para o atendimento desta padronização, surgiram intervalo podemos ver a Especificação Funcional e outros
Metodologias de Desenvolvimento que dividem o documentos e produtos que nos mostra que alguma coisa
processo de desenvolvimento em fases pré-definidas. Essas está acontecendo, mas que não podemos ter certeza do
Metodologias se adequam às características organizacionais, que exatamente. Normalmente, a probabilidade de uma

32   InTech 130


GERENCIAMENTO DE PROJETOS  artigo

mudança de requisito aumenta com o tamanho do projeto, Uma abordagem linear significa que o projeto é desenvolvido
o que aumenta ainda mais a dúvida se o resultado do projeto etapa por etapa. Por exemplo:
vai atender as nossas necessidades. Então só resta aguardar e 1. O time de projeto primeiro analisa, determinando e
ter esperança que tudo dê certo. Os resultados, no entanto, priorizando os requisitos.
são incertos e normalmente decepcionantes. Os clientes
2. Em seguida, na fase de “Design” os requisitos são
normalmente ao verem o resultado pela primeira vez tem a
traduzidos em soluções técnicas e as decisões são
síndrome da reação “Sim... Mas...” [3]:
tomadas em relação a qual tecnologia utilizar, i.e.
Sim, isto é realmente legal e apreciamos o que foi feito, mas Java, VB, etc..
não é exatamente o que precisamos. Talvez:
3. Uma vez que os processos são definidos se inicia a fase de
1. Você não tenha entendido o que queríamos; ou “desenvolvimento do código”.
2. Você tenha entendido, mas mesmo assim tenha feito algo 4. A próxima fase envolve o teste completo do software.
diferente; ou
5. Por fim, a última fase envolve a manutenção do software.
3. Isto é o que queríamos, mas agora precisamos de algo
A Figura 1 mostra a sequência de desenvolvimento em um
diferente.
modelo “cascata”
O que precisamos é de uma forma do cliente ver e avaliar o
progresso antes que seja tarde demais. Precisamos de um Water
processo que ofereça visibilidade mais cedo e que aceite DISCOVER fall
Business method
mudanças, mas que mantenha rigor em relação à qualidade. requirements

DESIGN
Technical
design

METODOLOGIAS DE DESENVOLVIMENTO DEVELOP


Coding
Metodologia de Desenvolvimento é um conjunto de & testing

DEPLOY
práticas recomendadas para o Desenvolvimento de Client OK
& launch
Software, sendo que essas práticas, geralmente, passam
por fases ou passos que são subdivisões do processo para
Figura 1
ordená-lo e melhor gerenciá-lo [4].

2 – Metodologias de desenvolvimento ágeis


1 – Metodologias tradicionais
No começo de 2001, motivados pela observação de times de
As metodologias consideradas tradicionais têm como desenvolvimento perdidos entre os processos que existiam na
característica marcante serem divididas em etapas e/ou fases. época, alguns especialistas da indústria do desenvolvimento
Essas fases são muito bem definidas e englobam atividades de softwares se uniram para encontrar valores e princípios
como Análise, Modelagem, Desenvolvimento e Testes. relacionados ao desenvolvimento que seriam capazes de
Muitas metodologias pesadas são desenvolvidas no fazer com que as equipes de desenvolvimento pudessem
modelo em cascata o que dificulta o controle do projeto. responder mais rápidos às mudanças nas especificações e que
A cada alteração em determinado ponto do projeto, o projeto fosse desenvolvido mais rapidamente.
como os requisitos, será necessário uma volta ao início do Depois de algum tempo de pesquisa, esses especialistas
mesmo para alteração de documentação ou outro marco. escreveram um manifesto que ficou conhecido como
Neste modelo as fases definidas são sistematicamente “Manifesto for Agile Software Development” [5]. Esse
seguidas de forma linear. É o modelo mais usado em todo manifesto destaca quatro valores. São eles:
o mercado, porém não é o mais eficaz. Raros projetos
• Indivíduos e iterações ao invés de processos e ferramentas.
seguem esse fluxo linear, além das mudanças de requisitos
• Software funcional ao invés de documentação detalhada.
que ocorrem no decorrer do projeto não serem de fácil
adaptação, porque alteram toda a documentação já • Colaboração do Cliente ao invés de negociação de contratos.
desenvolvida, o que implica em retrabalho [1]. • Responder às mudanças ao invés de seguir um plano.

InTech 130   33
artigo  GERENCIAMENTO DE PROJETOS

Neste sentido, este novo modelo de desenvolvimento de


software foca em dois objetivos comuns:
1. Desenvolver software “utilizável” mais rapidamente.
2. Fornecer de forma frequente e regular visibilidade ao
cliente e “stakeholders” da solução;
Agilidade, para uma organização de desenvolvimento
de software, é a habilidade de se adaptar e reagir
apropriadamente às mudanças. Um processo ágil
é aquele que suporta este grau de adaptabilidade.
Portanto não é apenas velocidade de entrega, mas,
sobretudo, flexibilidade. Figura 2 – Fonte: Forrester Research, Inc.

Um fator comum nestas metodologias é que elas fornecem


visibilidade através de iterações. Um projeto descrito por adjetivos como “incerto”, “complexo”,
“de alto risco” e “urgente” não soa como um bom candidato
Uma iteração é uma sequencia de atividades de
para desenvolvimento. No entanto, esta é uma realidade
desenvolvimento conduzidas de acordo com um plano
encontrada em grande parte dos projetos. As práticas de
e critérios de avaliação que culmina em um produto de
desenvolvimento de software precisam evoluir para:
software consistente, integrado e testado.
• Gerar valor ao negócio ao invés de fazer apenas o
Iterações tem o objetivo expresso de fornecer em
que está especificado no papel. No tempo e dentro
um curto período de tempo evidências objetivas da
do orçamento não são mais as únicas diretrizes no
funcionalidade, qualidade e adequação às necessidades
desenvolvimento de um projeto de software. Hoje
do usuário do software em desenvolvimento. Com
projetos devem gerar valor ao negócio e satisfação ao
certeza, um processo que produza incrementos de
cliente. Um projeto que entrega uma funcionalidade
software mensuráveis frequentemente tem uma
errada, mesmo que seja o que estava especificado em
importante vantagem competitiva em relação a processos
contrato, ainda assim pode ser considerado um fracasso.
que não o fazem.
• Ter um feedback mais rápido. A rapidez pode significar
a diferença entre o sucesso e o fracasso em muitos
VISÃO GERAL DE UMA mercados. No entanto a rapidez não está apenas associada
METODOLOGIA ÁGIL à velocidade na entrega de software utilizável e na
flexibilidade mas também nos benefícios de um feedback
De forma resumida, uma metodologia Ágil descreve
mais cedo no ciclo de desenvolvimento do software.
interações colaborativas, mudanças rápidas e entrega
frequente de software em funcionamento ao invés • Produzir qualidade na aplicação mais cedo. Qualidade
de um processo formal por fases, documentação não é mais apenas software confiável, mas também está
definida e uma ênfase pesada no planejamento. associado à facilidade de aprender e usar. As aplicações
Desenvolvedores normalmente justificam a adoção hoje são mais complexas do que antes. Não são mais
da abordagem Ágil pela maior rapidez na entrega de apenas projetos de automação. Compreendem muitas
software de alta qualidade. No entanto, um estudo vezes complexos projetos multidisciplinares com
da Forrester Research [10] vê a metodologia Ágil requisitos desconhecidos.
ganhando terreno em situações em que se tem muita • Aumentar a probabilidade de sucesso do projeto.
incerteza. A possibilidade de aplicar uma metodologia Se o software aumenta sua importância em um negócio,
baseada na experimentação e na observação possibilita também o seu fracasso tem um impacto maior. Em muitas
que os times de desenvolvimento compreendam organizações o sucesso de projetos continua baixo. E quanto
melhor o problema e faça as correções apropriadas no maior e mais complexo o projeto maior a probabilidade de
curso do projeto. falha. A reação natural ao aumento desta complexidade é

34   InTech 130


GERENCIAMENTO DE PROJETOS  artigo

aumentar o rigor do processo de planejamento e aumentar • O trabalho dentro de um Sprint é fixo. Uma vez que o
a disciplina. No entanto os processos modernos de escopo é definido, é proibida a adição de funcionalidade
desenvolvimento sugerem introduzir uma abordagem durante o Sprint exceto pelo time de desenvolvimento.
que encoraje o planejamento frequente em que os times • Todo o trabalho a ser feito é caracterizado como um
usem a experiência ganha ao longo do projeto e o usem “product backlog”. Inclui requisitos a serem entregues,
na próxima etapa de planejamento. testes e atividades de infraestrutura e projeto.
• Encarar a incerteza. Para melhor gerenciar a incerteza
• Um “Scrum Master” gerencia a equipe “auto-
os times de desenvolvimento de software precisam mudar
organizada” que é responsável pelo sucesso dos
da forma tradicional, com abordagem preditiva baseada
resultados de cada Sprint.
em artefatos e processos definidos para uma mais flexível,
baseada em observações. O processo de desenvolvimento • Uma reunião diária em pé é o método de comunicação
é melhor descrito como uma série de objetivos ao invés padrão;
de uma lista de atividades para serem feitas. Focando • Uma grande ênfase em obedecer o período de tempo
no “Por que” ao invés do “como” as técnicas modernas definido. Sprints, reuniões diárias, reuniões de revisão e
permitem aos times mais flexibilidade para criar um apresentação são todas finalizadas no tempo combinado.
produto de sucesso. A Figura 3 resume os artefatos do Scrum:

1 – Scrum
Scrum é um processo de gerenciamento de projetos ágeis,
adaptado para a área de desenvolvimento de software pelo
especialista Ken Schwaber. Ken define Scrum em um de seus
livros como: “um processo Ágil, ou ainda, um framework
para gerenciamento de projetos Ágeis. É um processo de
gerência de projetos” [6], [7].
Martin Fowler, um dos maiores estudiosos em desenvolvimento Figura 3

de software, comenta em seu artigo A Nova Metodologia [8]


que: “Nos últimos anos vem crescendo rapidamente o interesse Importante destacar que a participação ativa do cliente
em metodologias ágeis. Também caracterizadas como um no processo de desenvolvimento de software faz com
antídoto contra a burocracia, estas metodologias despertaram que sejam atribuídas a ele algumas responsabilidades
os interesses em toda a extensão da indústria do software”. como definição das funcionalidades do produto, decisão
Dentre as técnicas de utilização do Scrum, há a entrega de quanto às datas de lançamento de conteúdo e ajuste de
produtos em períodos de tempo pré-estabelecidos, nunca funcionalidades [7].
inferiores a uma semana ou superiores a trinta dias.
Para estimular o contato entre empresa e cliente, os projetos
são divididos em períodos regulares de tempo. A essas GERENCIAMENTO ÁGIL DE PROJETOS EM
ações dá-se o nome de Sprint. Ao término de cada Sprint, o EMPRESAS DE INTEGRAÇÃO DE SISTEMAS
cliente recebe um conjunto de funcionalidades desenvolvidas O desenvolvimento Ágil de Projetos funciona para empresas
e prontas para serem utilizadas. A melhor maneira de de Integração de Sistemas? Esta é uma pergunta frequente
comprovar se o software atende às necessidades é fazer com em artigos e blogs pelo mundo e iremos aqui apresentar os
que o cliente o utilize, apontando as qualidades e o que falta resultados de algumas pesquisas realizadas neste sentido.
ser aperfeiçoado.
Um estudo realizado pela Forrester [10] mostra que
As práticas chaves do Scrum incluem: Integradores de Sistemas (SI) estão cada vez mais utilizando
• Sprints são iterações com um tempo fixo entre 15 e 30 metodologias Ágeis para melhor atender as necessidades dos
dias de duração. clientes. Veja a Figura 4.

InTech 130   35
artigo  GERENCIAMENTO DE PROJETOS

A convergência entre o chão de fábrica e o ambiente de TI


provoca grandes mudanças nas empresas de manufatura
ao redor do mundo. À medida que o mundo globalizado
aumenta a competitividade e abre novas oportunidades,
flexibilidade e eficiência são requisitos para atender
uma demanda mais exigente. As empresas precisam da
informação no tempo certo, no formato certo e para
Figura 4 – Fonte: Forrester Research, Inc. as pessoas certas. É preciso ter um alinhamento entre a
tecnologia e os objetivos do negócio.

A maior utilização de métodos Ágeis está criando novas situações A Figura 5 ilustra um modelo de convergência para ajudar
em suas aplicações. Quando originalmente descrita no Manifesto a definir os componentes que devem ser verificados em
Ágil, o objetivo das práticas Ágeis era ajudar times a desenvolver cada área [8].
melhor softwares customizados. O estudo da Forrester mostrou
que os Integradores de Sistema (SI) estão expandindo o uso de
técnicas Ágeis a qualquer situação em que se tenha um time, um
problema, e um alto risco. Estas situações incluem desenvolvimento
de softwares customizados, mas também manutenção de sistemas,
gerenciamento de projetos, desenvolvimento de interfaces com
usuário e levantamento de requisitos. Alguns integradores
estão utilizando Scrum até mesmo para atividades que não
estão relacionadas com o desenvolvimento de software.
Na prática o que vemos são Integradores de Sistemas
aplicando os princípios do Gerenciamento Ágil, mas com
algumas pequenas modificações. Por exemplo, eles nem
sempre entregam um software pronto para uso a cada Figura 5
Sprint, ao invés disto, podem entregar um protótipo. Esta
abordagem pragmática permite usar o melhor do Manifesto
É sempre importante pensar em como a integração entre a
Ágil numa abordagem em que se deseja criar valor para os
área de automação e a área de TI pode ajudar a empresa a
clientes. As práticas Ágeis estão expandindo para incluir:
realizar o seu negócio de forma mais efetiva.
• Implantação de Sistemas: As empresas estão utilizando
A pesquisa realizada por Thanesh [12] indica que há
os métodos ágeis não apenas no desenvolvimento de
um profundo relacionamento entre as funções da
softwares customizados mas também na implantação
Automação Industrial e a Tecnologia da Informação (TI) nas
de pacotes de aplicações (ERP, CRM, etc.) e soluções de
organizações e desta forma existem várias responsabilidades
Business Intelligence (BI).
comuns entre as duas áreas.
• Manutenção de software existente: Uma tendência
crescente entre Integradores de Sistemas é a utilização da Levando em conta estas pesquisas podemos concluir
abordagem Ágil para melhor gerenciar a manutenção de que é perfeitamente plausível a utilização de métodos
sistemas existentes. Ágeis para gerenciamento de projetos em automação
industrial. Cuidado especial deve ser tomado para
softwares com “missão crítica”, visto que uma análise
GERENCIAMENTO ÁGIL DE PROJETOS EM TA detalhada de cada elemento do software é necessária e
Mudando a pergunta anterior, O desenvolvimento Ágil o sistema pode ter uma interação com outros softwares e
de Projetos funciona para empresas de TA (Tecnologia de hardwares [13]. Apesar disto não encontramos nenhuma
Automação)? Vários estudos tem demostrado o impacto da publicação indicando a utilização destas técnicas por
convergência crescente entre TI e TA nos últimos anos [11], [12]. empresas de automação.

36   InTech 130


GERENCIAMENTO DE PROJETOS  artigo

ESTUDO DE CASO
A fim de avaliarmos os resultados da utilização de
Gerenciamento Ágil de projetos em TA, analisaremos
os resultados em uma empresa que atua na área de
Automação Industrial e Integração de sistemas de
informação há mais de 15 anos [14].

Há cerca de 5 anos, sentindo as dificuldades de


gerenciamento de custo/prazo e escopo dos projetos
a empresa adotou uma metodologia derivada
dos fundamentos do PMI (Project Management
Institute). Com base nesta metodologia são
aplicados os métodos de gerenciamento do
projeto por fases, de modo a registrar, controlar e
assegurar as metas acertadas, priorizando sempre Figura 6

o tratamento formal dos eventos, sem perder a


flexibilidade exigida pelo mercado. No início de 2010, uma das divisões da empresa, não
satisfeita com os resultados advindos da utilização do PMBOK
A condução do projeto é efetuada com base em no gerenciamento de seus projetos, iniciou a implantação dos
eventos e fases conforme Figura 6. conceitos de Gerenciamento Ágil e Lean IT.

InTech 130   37
artigo  GERENCIAMENTO DE PROJETOS

O Scrum foi adotado como metodologia formal e, após vários ganho de qualidade. Fazer a mudança para uma prática ágil
projetos executados sob esta nova abordagem de gerenciamento, desafia as nossas noções de best practices de engenharia
podemos citar as seguintes vantagens/desvantagens: de software, metodologias de gerenciamento de projetos e
Vantagens: estilos de liderança de times de projeto.

• Equipe mais comprometida com as metas traçadas no O caminho para esta transição nem sempre é fácil e a
dia-a-dia. metodologia tradicional e a metodologia Ágil não só podem
como devem coexistir para atender os diferentes tipos de
• Software pronto mais cedo para avaliação do cliente.
projetos e clientes. O futuro aponta para uma coexistência
• Alta visibilidade do projeto. Os problemas e dificuldades
pacífica onde o melhor de cada um seja utilizado [15],
ficam explícitos permitindo uma atuação mais rápida.
[16]. Projetos de indústrias que são regulamentadas, e que
• Equipe focada. À medida que temos atividades diárias exigem a validação do sistema ao seu final não vão deixar
explicitadas a equipe não se dispersa. de existir simplesmente porque a equipe está adotando uma
• Melhor atendimento aos requisitos de prazo, com menos metodologia Ágil. Ao invés disto estes times precisam aprender
burocracia e mais iteração. a integrar estas necessidades em seus procedimentos ágeis e
• As prioridades do cliente são atendidas mais cedo. iniciar um trabalho de investigação de como fazer para que
estes requisitos não prejudiquem o projeto.
Desvantagens:
• Necessidade de uma maior participação do cliente. Se o
REFERÊNCIAS BIBLIOGRÁFICAS
cliente não participa do projeto por indisponibilidade os
1. Pressman, R. S. Engenharia de Software, 5ª Edição Makron Books 2002.
resultados são comprometidos, pois a diminuição da
2. CHAOS Summary 2009. The Standish Group International, 2009.
documentação formal neste caso deixa o cliente sem www.standishgroup.com
feedback sobre o andamento do projeto. 3. Leffingwell, Dean e Muirhead, Dave, Tactical Management of Agile
Development: Achieving Competitive Advantage. Rally Software
• Clientes que exigem uma grande documentação formal
Development Corporation Whitepaper, 2004.
como item contratual tendem a dificultar a adoção da
4. Sommerville. Software Engineering. 6th Edition, Addison Wesley, 2000.
abordagem Ágil. 5. Agile Manifesto, http://agilemanifesto.org
• Durante o período de comissionamento e startup é 6. Schwaber, Ken, Mike Beedle. Agile Software Development with
mais complicada a utilização da metodologia ágil pela Scrum. Prentice Hall 2002.
7. Schwaber, Ken. Agile Project management with Scrum.
dificuldade de realização da reunião diária e pela grande
Microsoft Press, 2004.
dependência de fatores externos à equipe.
8. Fowler, Martin. The New Metodology.
http://martinfowler.com/articles/newMethodology.html
CONCLUSÃO 9. Neto, Oscar Nogueira de Souza. Análise Comparativa
das Metodologias de Desenvolvimento de Softwares Tradicionais
A indústria de desenvolvimento de software evoluiu e e Ágeis: TCC Bacharelado Ciência da Computação da Universidade
se transformou em uma das mais importantes indústrias da Amazônia, 2004.
do nosso tempo. Do controle da produção de alimentos, 10. West, Dave. Agile Systems Integrators: Plausible or Paradoxical?
Forrester Research, July 2010.
passando pelo fornecimento de segurança e controle dos
11. The New Megatrend: Convergence in Manufacturing. Publicação
veículos que dirigimos à automação e gerenciamento
ENET-SP007A-EN-P – June 2008. Rockwell Automation.
de negócios o software se tornou uma das propriedades 12. Marimuthu, Thanesh: The impact of the convergence of
intelectuais mais valiosas do mundo. Information Technology and Industrial Automation on operational
excellence in the Manufacturing Environment. Dissertação para o
Neste ambiente competitivo, a empresa para ter sucesso MBA na Universidade de Kwazulu-Natal, 2007.
tem que ter a habilidade de criar e desenvolver produtos 13. Wang, Lingfeng and Tan, Kay chen. Modern industrial automation
de software de forma mais rápida e que melhor atenda às software design: Principles and real-world examples.
John Wiley and Sons, 2006.
necessidades reais dos seus clientes.
14. www.techplus.com.br/itech
Metodologias ágeis de desenvolvimento estão liderando
15. Sliger, Michele. Bridging the Gap: Agile Projects in the Waterfall
este caminho ajudando equipes de software a entregarem Enterprise. Better Software magazine, July/August 2006.
produtos de forma mais frequente e com significativo 16. http://agile.vc.pmi.org: Agile Community of Practice.

38   InTech 130

Anda mungkin juga menyukai