Escolar Documentos
Profissional Documentos
Cultura Documentos
LUCAS MENEZES
BRASLIA-DF
2015
LUCAS MENEZES
BRASLIA-DF
2015
LUCAS MENEZES
BRASLIA-DF
2015
Abstract. This paper describes the challenges that can be found in the
adoption of agile approach to software development in government projects.
The work doesnt consider the agile utilization under hiring perspective, but
rather as internal development, with governmental infrastructure and own
team. It is performed a comparison between the practices and principles of
agile methods and previous methods and, from that, are described the
difficulties encountered in their implementation, based on the characteristics
of public administration.
Keywords: Agile; Government IT; Software Development.
Resumo. Este artigo descreve os desafios que podem ser encontrados na
adoo da abordagem gil para o desenvolvimento de software em projetos
do governo. O trabalho no leva em considerao a utilizao do gil sob a
perspectiva de contratao, mas, sim, como desenvolvimento interno, com
infraestrutura governamental e equipe prpria. realizada uma comparao
entre as prticas e princpios dos mtodos geis e dos mtodos precedentes e,
a partir disso, so descritas dificuldades encontradas em sua aplicao, com
base nas caractersticas da administrao pblica.
Palavras-chave: gil; TI do Governo; Desenvolvimento de Software.
1. Introduo
Com a evoluo das prticas da Engenharia de Software, as reas responsveis
pela tecnologia da informao em rgos pblicos tm se esforado para buscar a
melhor maneira de desenvolver e gerenciar seus produtos, sempre com a
responsabilidade de encontrar um bom equilbrio entre custo, prazo e qualidade final.
Os resultados obtidos em pesquisas recentes comprovam o bom desempenho dos
mtodos geis em relao a abordagens tradicionais de processos de software, conforme
visto no relatrio de The Standish Group (2011, p. 25). Isso explica o aumento na
adoo dessas prticas por empresas setor pblico e privado que trabalham com
desenvolvimento de software. No entanto, o setor pblico possui caractersticas
diferentes do setor privado e, para que as chances de sucesso sejam maiores, essas
caractersticas devem ser levadas em considerao na definio da forma de trabalho.
2. Processo de Software
Um processo de desenvolvimento de software pode ser definido como um
agrupamento de atividades, aes e tarefas realizadas com o objetivo de obter um
produto de software. A finalidade entregar software com qualidade dentro de um prazo
e custo razoveis para satisfazer os seus usurios finais e patrocinadores, conforme visto
em Pressman (2011, p. 53-58).
Segundo Sommerville (2007, p. 42-43), processos de software so adaptveis e
permitem que sejam escolhidas as aes e tarefas apropriadas para o desenvolvimento.
No existe um processo ideal, os processos podem ser mais ou menos adequados,
dependendo do tipo de software que se pretende produzir.
Como exemplo de que a escolha do processo de software varia de um caso para
o outro est o desenvolvimento de um software para o controle de uma aeronave, em
que a necessidade de obter um controle rigoroso sobre os requisitos muito maior, pois
qualquer erro pode colocar muitas vidas em risco. Por outro lado, para o
desenvolvimento de um software para rea financeira, talvez seja melhor um processo
mais adaptvel e suscetvel a mudanas, j que os requisitos do mercado financeiro
tendem a mudar com mais frequncia.
Uma metodologia de processo estabelece a estrutura para um processo de
engenharia de software, atravs da identificao de atividades estruturais e de suporte,
que devem ser executadas para obteno do produto de software. A Figura 1 ilustra a
estrutura bsica de um processo de software.
3. Modelos Tradicionais
Antigamente, de acordo com Sommerville (2007, p. 42 - 44), havia um
entendimento de que a melhor maneira de obter software de qualidade era por meio de
um projeto detalhado, apoiado por ferramentas e controlado por um rigoroso processo
de desenvolvimento de software. Tal entendimento se deve ao fato de que boa parte dos
sistemas era classificada como crtica, com requisitos complexos, e desenvolvida por
grandes equipes. Essas equipes muitas vezes se encontravam separadas
geograficamente, o que fazia com que esse controle fosse realmente necessrio.
Neste trabalho, vamos utilizar o termo modelos tradicionais para nos referir a
modelos precedentes s metodologias geis, que enfatizam um planejamento inicial
3.2.2 Disciplinas
O RUP composto por nove disciplinas que so descritas abaixo:
no
4. Mtodos geis
A abordagem gil surgiu para resolver dificuldades encontradas quando
abordagens pesadas e baseadas em planejamento eram aplicadas a sistemas de pequenas
e mdias empresas. Essas abordagens tradicionais causavam um retrabalho muito
grande, pois muitas vezes o tempo gasto para determinar um plano de como o sistema
deveria ser desenvolvido acabava sendo maior do que o empregado para
desenvolvimento e testes.
O descontentamento com a alta porcentagem de fracasso dos projetos de
software, conforme visto no relatrio apresentado pelo The Standish Group (2001) e a
complexidade das abordagens de desenvolvimento encontradas na poca fizeram com
que, em fevereiro de 2001, um grupo de desenvolvedores se reunisse e criasse um
conjunto de princpios para melhorar a maneira de como desenvolver software de
qualidade. Esse conjunto de princpios foi batizado como Manifesto gil e serve como
embasamento para a maioria dos mtodos geis existentes. Segundo a Agile Alliance
(2001), os princpios que compem o Manifesto gil so:
O Manifesto gil esclarece que por mais que nos princpios citados
anteriormente haja valor nos itens direita, os itens esquerda devem ser mais
valorizados, conforme definido pela Agile Alliance (2001). A maioria dos mtodos
geis possuem caractersticas em comum, como por exemplo, desenvolvimento iterativo
e incremental, envolvimento do cliente com a equipe de desenvolvimento, aceitao das
mudanas e foco na simplicidade.
Sprint: O SCRUM prega que o trabalho deve ser dividido iteraes e que cada
iterao deve entregar incrementos de software utilizveis. Essas iteraes so
chamadas de Sprint e definem um perodo de tempo entre uma entrega e outra.
Para cada Sprint so definidos um conjunto de requisitos que devem ser
implementados e ao trmino da Sprint realizada a entrega de um incremento de
software. Com base na entrega, o time de desenvolvimento recebe o feedback do
Product Owner e planeja a prxima Sprint. As Sprints devem ser definidas com
um ms ou menos.
2)
3)
4.1.3 Artefatos
Integrao contnua: quando uma release for completada, deve ser integrada
imediatamente para evitar problemas com integrao no final do projeto. A ideia
provocar o erro o quanto antes, a fim de poder corrigi-lo o mais rpido
possvel.
Setor Pblico
Setor Privado
Objetivos
Mltiplos e intangveis
Especficos e tangveis
Produto
Lucro
Sucesso
medido por
Rentabiliidade financeira e
eficincia
Mais incentivos
Sem burocracia
Influncias polticas
Influncias do mercado
Ambiente
O relatrio britnico, por sua vez, elencou quatro princpios que foram definidos
por entrevistados como fatores de sucesso para a abordagem gil (NATIONAL AUDIT
OFFICE OF UNITED KINGDOM, 2012, p. 9-10):
Com base nas experincias descritas acima, h motivos para acreditar que a
abordagem gil pode ser utilizada para projetos de desenvolvimento de software do
governo. Os casos de sucesso em instituies de grande expresso no cenrio nacional e
internacional reforam a tendncia na utilizao das prticas geis.
8. Concluso
Conforme dito anteriormente, existem vrios modos de desenvolver software,
cada um com suas mais variadas caractersticas. No existe um modelo ideal, que
sempre garanta o sucesso do desenvolvimento. preciso avaliar as caractersticas da
organizao, bem como as do modelo que se pretende utilizar e, a partir dessa anlise,
decidir qual abordagem seguir de acordo com o cenrio encontrado.
Os modelos de processo de desenvolvimento de software possuem focos
diferentes, pois tm sido criados para resolver problemas especficos. Existem modelos
elaborados para tentar sistematizar o desenvolvimento de software, como o caso do
modelo Cascata, outros para disponibilizar uma estrutura de processos formal que
suporte todas as etapas do desenvolvimento, como o caso do RUP, e h tambm os
modelos flexveis a mudanas, conhecidos como mtodos geis.
As caractersticas comumente encontradas no setor pblico tambm devem ser
analisadas. O setor pblico se diferencia do setor privado por ter uma preocupao
maior com transparncia, com responsabilidade fiscal e cdigos de conduta. Busca a
prestao de servios de qualidade, sempre em conformidade com a regulamentao
vigente e est sujeito a influncias de um ambiente poltico que muda constantemente.
Os mtodos geis possuem algumas prticas que podem dificultar a sua
utilizao em projetos governamentais devido s caractersticas do setor pblico citadas
acima. No entanto, essa abordagem no deve ser descartada porque cada organizao
possui uma maior ou menor acentuao em determinadas caractersticas, apesar de todas
possurem caractersticas em comum.
Por outro lado, os mtodos tradicionais tambm possuem suas fragilidades e
seus pontos fortes e no possvel afirmar que sua utilizao seria mais adequada que a
dos mtodos geis sem antes fazer um estudo de onde seriam aplicados. Assim como
existem caractersticas que dificultam a adoo de mtodos geis, tambm podem existir
caractersticas que prejudicam a adoo dos mtodos tradicionais.
Conclui-se que, apesar das dificuldades que podem ser encontradas, todos os
modelos devem ser considerados. As caractersticas encontradas no setor pblico nem
sempre sero impeditivas para a abordagem gil. Cabe aos responsveis realizar a
anlise adequada para compreender o cenrio e escolher o mtodo que melhor satisfaa
suas necessidades.
Referncias
BECK, Kent; ANDRES, Cynthia. Extreme Programming Explained: Embrace
Change. 2 Edio. Addison-Weasley, 26 de Novembro de 2004
BRQ.
Metodologias
geis
SCRUM.
Disponvel
<http://www.brq.com/metodologias-ageis>. Acesso em: 15 dez. 2014.
em:
CAUDLE, Sharon L.; GORR, Wilpen L.; NEWCOMER, Kathryn E. Key information
systems management issues for the public sector. MIS Quarterly, junho 1991
DIAS, Isabel de Meiroz. Projetos geis no setor pblico, 28 de Mar. 2012. Disponvel
em:
<http://igovsp.net/sp/projetos-ageis-no-setor-publico>. Acesso em: 15 dez. 2014.
GOVERNMENT ACCOUNTABILITY OFFICE OF UNITED STATES. Software
Development: Effective Practices and Federal Challenges in Applying Agile
Methods, Jul. 2012. Disponvel em:
<http://www.gao.gov/assets/600/593091.pdf>. Acesso em: 15 dez. 2014.
HASTIE, Shane. Governo dos EUA e Reino Unido adotam prticas geis como
soluo
mais
eficaz,
07
de
Jan.
2013.
Disponvel
em:
<http://www.infoq.com/br/news/2013/01/agile-governo-eua-reinounido>.
Acesso
em: 15 dez. 2014.
IBM
CORPORATION.
Rational
Unified
Process.
Disponvel
em:
<http://www.wthreex.com/rup/v711_sp_ptbr/index.htm>. Acesso em: 15 dez. 2014.
IPHAN. Metodologia IPHAN de Gesto de Demandas de Desenvolvimento gil de
Softwares. Disponvel em: <http://www.iphan.gov.br/cgti/midas/MIDAS.pdf>.
Acesso em: 15 dez. 2014.
NATIONAL AUDIT OFFICE OF UNITED KINGDOM. Governance for Agile
delivery, Jul. 2012. Disponvel em:
<http://www.nao.org.uk/wp-content/uploads/2012/07/governance_agile_delivery.pdf>.
Acesso em: 15 dez. 2014.
PRESSMAN, Roger S. Engenharia de Software: Uma Abordagem Profissional. 7
Edio. Porto Alegre: AMGH Editora Ltda, 2011.
RUBIN, Kenneth S. Essential Scrum: A Practical Guide to the Most Popular Agile
Process. 1 Edio. Addison-Weasley, 05 de Agosto de 2012
SCHWABER, Ken. Guia do SCRUM, Mai. 2009. Disponvel em:
<http://www.trainning.com.br/download/GUIA_DO_SCRUM.pdf>. Acesso em: 15 dez.
2014.
SERPRO. Serpro decide adotar mtodo gil, 16 de Jun. 2014. Disponvel em: