Desenvolvimento gil de software (do ingls Agile software development) ou Mtodo gil um
conjunto de metodologias de desenvolvimento de software. O desenvolvimento gil, tal como
qualquer metodologia de software, providencia uma estrutura conceitual para reger projetos de
engenharia de software.
ndice
1 Introduo
2 Valores
3 Princpios
4 Histria
9 Metodologia
10 Processo
11 Crticas
12 Referncias
13 Futuras leituras
14 Ligaes externas
Introduo
Existem inmeros frameworks de processos para desenvolvimento de software. A maioria dos
mtodos geis tenta minimizar o risco pelo desenvolvimento do software em curtos perodos,
chamados de iterao, os quais gastam tipicamente menos de uma semana a at quatro. Cada
iterao como um projeto de software em miniatura de seu prprio, e inclui todas as tarefas
necessrias para implantar o mini-incremento da nova funcionalidade: planejamento, anlise de
requisitos, projeto, codificao, teste e documentao. Enquanto em um processo convencional,
cada iterao no est necessariamente focada em adicionar um novo conjunto significativo de
funcionalidades, um projeto de software gil busca a capacidade de implantar uma nova verso
do software ao fim de cada iterao, etapa a qual a equipe responsvel reavalia as prioridades do
projeto.
Mtodos geis tambm enfatizam trabalho no software como uma medida primria de progresso.
Combinado com a comunicao cara-a-cara, mtodos geis produzem pouca documentao em
relao a outros mtodos, sendo este um dos pontos que podem ser considerados negativos.
recomendada a produo de documentao que realmente ser til.
Valores
Segundo a pgina Agile Manifest[1] os valores relacionados ao Desenvolvimento gil de software
so:
Ou seja, o item esquerda sempre tem maior importncia do que o tem direita
Princpios
Os princpios do desenvolvimento gil[2] valorizam
Simplicidade essencial;
Em intervalos regulares, a equipe reflete sobre como para tornar-se mais eficaz, ento
sintoniza e ajusta seu comportamento apropriadamente.
Histria
As definies modernas de desenvolvimento de software gil evoluram a partir da metade de
1990 como parte de uma reao contra mtodos "pesados", caracterizados por uma pesada
regulamentao, regimentao e micro gerenciamento usado o modelo em cascata para
desenvolvimento. O processo originou-se da viso de que o modelo em cascata era burocrtico,
lento e contraditrio a forma usual com que os engenheiros de software sempre realizaram
trabalho com eficincia.
Uma viso que levou ao desenvolvimento de mtodos geis e iterativos era retorno a prtica de
desenvolvimento vistas nos primrdios da histria do desenvolvimento de software [1].
Inicialmente, mtodos geis eram conhecidos como mtodos leves. Em 2001, membros
proeminentes da comunidade se reuniram em Snowbird e adotaram o nome mtodos geis, tendo
publicado o Manifesto gil, documento que rene os princpios e prticas desta metodologia de
desenvolvimento. Mais tarde, algumas pessoas formaram a Agile Alliance, uma organizao no
lucrativa que promove o desenvolvimento gil.
Os mtodos geis iniciaiscriado a priore em 2000 incluam Scrum (1986), Crystal Clear,
Programao extrema (1996), Adaptive Software Development, Feature Driven Development,
and Dynamic Systems Development Method (1995).
O desenvolvimento gil tem pouco em comum com o modelo em cascata. Na viso de alguns
este modelo desacreditado, apesar de ser um modelo de uso comum. O modelo em cascata
uma das metodologias com maior nfase no planejamento, seguindo seus passos atravs da
captura dos requisitos, anlise, projeto, codificao e testes em uma seqncia pr-planejada e
restrita. O progresso geralmente medido em termos de entrega de artefatosespecificao de
requisitos, documentos de projeto, planos de teste, reviso do cdigo, e outros. O modelo em
cascata resulta em uma substancial integrao e esforo de teste para alcanar o fim do ciclo de
vida, um perodo que tipicamente se estende por vrios meses ou anos. O tamanho e dificuldade
deste esforo de integrao e teste uma das causas das falhas do projeto em cascata. Mtodos
geis, pelo contrrio, produzem um desenvolvimento completo e teste de aspectos (mas um
pequeno subconjunto do todo) num perodo de poucas semanas ou meses. Enfatiza a obteno de
pequenos pedaos de funcionalidades executveis para agregar valor ao negcio cedo, e
continuamente agregar novas funcionalidades atravs do ciclo de vida do projeto.
Algumas equipes geis usam o modelo em cascata em pequena escala, repetindo o ciclo de
cascata inteiro em cada iterao. Outras equipes, mais especificamente as equipes de
Programao extrema, trabalham com atividades simultaneamente.
O fator mais importante provavelmente o tamanho do projeto (Cohen et al., 2004)..[4] Com o
aumento do tamanho, a comunicao face a face se torna mais difcil. Portanto, mtodos geis
so mais adequados para projetos com pequenos times, com no mximo de 20 a 40 pessoas.
Alguns mtodos geis, como DSDM e Feature Driven Development, afirmam se aplicar a
qualquer projeto de desenvolvimento gil, sem importar suas caractersticas (Abrahamsonn et al.,
2003).[5]
A comparao dos mtodos geis ir revelar que eles suportam diferentes fases de um ciclo de
vida do software em diferentes nveis. Estas caractersticas individuais dos mtodos geis podem
ser usadas como um critrio de seleo de sua aplicabilidade.
A aplicabilidade do desenvolvimento gil para os seguintes cenrios ainda uma questo aberta:
Baixa criticidade
Desenvolvedores senior
Alta criticidade
Desenvolvedores Junior
Metodologia
Programao extrema
Processo
Scrum
DSDM
Crystal
Pragmatic Programming
Crticas
O mtodo de desenvolvimento gil algumas vezes criticado como codificao cowboy. O incio
da Programao extrema soava como controverso e dogmtico, tal como a programao por
pares e o projeto contnuo, tem sido alvo particular de crticos, tais como McBreen[12] e Boehm e
Turner.[7] Contudo, muitas destas crticas tm sido vistas pelos defensores dos mtodos geis
como mal entendidos a respeito do desenvolvimento gil.[13]
As crticas incluem
Referncias
1.
Futuras leituras
Fowler, Martin. Is Design Dead?. Appeared in Extreme Programming Explained, G.
Succi and M. Marchesi, ed., Addison-Wesley, Boston. 2001.
Riehle, Dirk. A Comparison of the Value Systems of Adaptive Software Development and
Extreme Programming: How Methodologies May Learn From Each Other. Appeared in
Extreme Programming Explained, G. Succi and M. Marchesi, ed., Addison-Wesley,
Boston. 2001.
Larman, Craig and Basili, Victor R. Iterative and Incremental Development:A Brief
History IEEE Computer, June 2003
Abrahamsson, P., Warsta, J., Siponen, M.T., & Ronkainen, J. (2003). New Directions on
Agile Methods: A Comparative Analysis. Proceedings of ICSE'03, 244-254.
Abrahamsson, P., Salo, O., Ronkainen, J., & Warsta, J. (2002). Agile Software
Development Methods: Review and Analysis. VTT Publications 478.
Aydin, M.N., Harmsen, F., Slooten, K. v., & Stagwee, R. A. (2004). An Agile Information
Systems Development Method in use. Turk J Elec Engin, 12(2), 127-138
Aydin, M.N., Harmsen, F., Slooten van K., & Stegwee, R.A. (2005). On the Adaptation of
An Agile Information Systems Development Method. Journal of Database Management
Special issue on Agile Analysis, Design, and Implementation, 16(4), 20-24
Cohen, D., Lindvall, M., & Costa, P. (2004). An introduction to agile methods. In
Advances in Computers (pp. 166). New York: Elsevier Science.
Karlstrom, D., & Runeson P. (2005). Combining agile methods with stage-gate project
management. IEEE Software, 22(3), 43-49
O que Scrum?
Como Funciona?
Sprints
Daily Scrum
Diariamente, em uma Sprint, a equipe faz uma breve reunio de no mximo 15 minutos com
todos os participantes em p, chamada Daily Scrum. O objetivo cada integrante dizer o que fez
no dia anterior, o que pretende fazer no dia que se inicia e se existe algum impedimento que est
atrapalhando o seu trabalho.
Papis e Responsabilidades
Product Owner
Define os requisitos do produto, decide a data de release e o que deve conter nela.
Scrum Master
Garante que o processo est sendo seguindo. Participando das reunies dirias, reviso da
Sprint, e planejamento.
Scrum Team
Seleciona, entre os itens priorizados, os que iro ser executados durante a Sprint.
Mind Master
http://www.mindmaster.com.br/scrum/
Rush Mtodo gil de gerenciamento de projetos priorizando prazo
http://pmpath.com.br/rush-metodo-agil-de-gerenciamento-de-projetos-priorizando-prazo/
Compartilhe isso:
inShare21