segunda-feira, 30 de agosto de 2010

[Seminário] Metodologias Ageis

Metodologia

É uma abordagem disciplinada para o desenvolvimento de software com objetivo de tornar o processo mais previsível e eficiente.
Exemplos de Metodologia Ágeis

Extreme Programming (XP)
Programação extrema (do inglês eXtreme Programming), ou simplesmente XP, é uma metodologia ágil para equipes pequenas e médias e que irão desenvolver software com requisitos vagos e em constante mudança. Para isso, adota a estratégia de constante acompanhamento e realização de vários pequenos ajustes durante o desenvolvimento de software.
Scrum
O Scrum é uma metodologia de desenvolvimento iterativo e incremental para gerenciamento de projetos e desenvolvimento ágil de software. Apesar de a palavra não ser um acrônimo, algumas empresas que implementam o processo a soletram com letras maiúsculas como SCRUM. Isto pode ser devido aos primeiros artigos de Ken Schwaber, que capitalizava SCRUM no título.
Feature Driven Development (FDD)
A FDD nasceu num projeto em Cingapura, entre 1997 e 1999, a partir do Método Coad (uma metodologia completa para Análise, Desenho e Programação Orientados por Objetos, desenvolvida por Peter Coad nas décadas de 1980 e 1990) e das técnicas de gerenciamento iterativo, incremental e enxuto de projetos utilizadas por Jeff De Luca, um gerente de projetos australiano.
Dynamic Systems Development Method (DSDM)
Predefinição:Software development process Dynamic Systems Development Method, ou Metodologia de Desenvolvimento de Sistemas Dinâmicos (em português), é uma metodologia de Desenvolvimento de Software originalmente baseada em "Desenvolvimento Rápido de Aplicação" (RAD). DSDM é uma metodologia de desenvolvimento iterativo e incremental que enfatiza o envolvimento constante do usuário.
Open Source Software Development
Desenvolvimento de software de fonte aberta é o processo pelo qual open source software (software ou similar, cujo código fonte está disponível ao público) é desenvolvido. Estes são os produtos de software "disponível com seu código fonte e sob uma licença de código aberto para estudar, mudar e melhorar a sua concepção ".
Rational Unified Process


O RUP usa a abordagem da orientação a objetos em sua concepção e é projetado e documentado utilizando a notação UML (Unified Modeling Language) para ilustrar os processos em ação. Utiliza técnicas e práticas aprovadas comercialmente.
O processo RUP não pode ser classificado como ágil. Vide processo AUP, pois trata-se de uma simplicação do RUP.


Origem das Metodologias Ágeis
• No ano de 2001 um grupo de profissionais reuniu-se para delinear os valores e princípios que permitiriam às equipes de desenvolvimento produzir rapidamente e responder ás mudanças.
• Eles chamaram a si mesmos de Aliança Ágil.
• O Manifesto Ágil é considerado oficialmente como inicio do movimento ágil.

Princípios das Metodologias Ágeis
Nós seguimos estes princípios:Nossa maior prioridade é satisfazer o cliente
através da entrega contínua e adiantada
de software com valor agregado.
Mudanças nos requisitos são bem-vindas,
mesmo tardiamente no desenvolvimento.
Processos ágeis tiram vantagem das
mudanças visando vantagem competitiva para o cliente.
Entregar frequentemente software funcionando,
de poucas semanas a poucos meses,
com preferência à menor escala de tempo.
Pessoas de negócio e desenvolvedores devem trabalhar
diariamente em conjunto por todo o projeto.
Construa projetos em torno de indivíduos motivados.
Dê a eles o ambiente e o suporte necessário
e confie neles para fazer o trabalho.
O método mais eficiente e eficaz de transmitir
informações para e entre uma equipe de desenvolvimento
é através de conversa face a face.
Software funcionando é a medida primária de progresso.
Os processos ágeis promovem desenvolvimento
sustentável. Os patrocinadores, desenvolvedores e
usuários devem ser capazes de manter um ritmo
constante indefinidamente.
Contínua atenção à excelência técnica e bom design
aumenta a agilidade.
Simplicidade--a arte de maximizar a quantidade de
trabalho não realizado--é essencial.
As melhores arquiteturas, requisitos e designs
emergem de equipes auto-organizáveis.
Em intervalos regulares, a equipe reflete sobre como
se tornar mais eficaz e então refina e ajusta seu
comportamento de acordo.

Aplicabilidade dos métodos ágeis
Fatores chave:
A cultura da organização deve apoiar a negociação.As pessoas devem ser confiantes.A organização deve promover as decisões que os desenvolvedores tomam.A Organização necessita ter um ambiente que facilite a rápida comunicação entre os membros

A aplicabilidade do desenvolvimento ágil para os seguinte cenários é ainda uma questão aberta:
• Esforços de desenvolvimento em larga escala (> 20 desenvolvedores), embora estratégias para maiores escalas tenham sido descritas
• Esforços de desenvolvimento distribuído (equipes não co-alocadas).
• Esforços críticos de missão e vida.
• Companhias com uma cultura de comando e controle.

Ambiente ideal para o desenvolvimento ágil:
• Baixa criticidade
• Desenvolvedores sênior
• Mudanças freqüente de requisitos
• Pequeno número de desenvolvedores
• Cultura que tem sucesso no caos.
Pontos negativos
• Falta de estrutura e documentação necessárias
• Somente trabalhar com desenvolvedores de nível sênior
• Incorpora de forma insuficiente o projeto de software
• Requer a adoção de muita mudança cultural
• Poder levar a maiores dificuldades nas negociações contratuais


Casos de implementação das metodologias
Dados da pesquisa conduzida pela VersionOne apoiada pela Agile Alliance apontam:
O desenvolvimento ágil tem garantido um significante retorno sobre o investimento para as organizações que a adota.
Aumento da produtividade e da qualidade do software, aliado a capacidade de gerenciar requisitos em constante variação. É o grande motivador da adoção de uma metodologia ágil de desenvolvimento.

No inicio do movimento a principal barreia de implementação era a falta de apoio por parte das gerencias e da organização como um todo.
Atualmente, a falta de profissionais qualificados para o desenvolvimento ágil e a resistência dos próprios desenvolvedores à mudança são apontados como os principais fatores.


Previsões futuras para os Métodos Ágeis

Pode-se dizer que o desenvolvimento ágil está em um momento de inflexão, passando a ser adotado por um numero crescente de empresas. Com isso, um numero maior de equipes pode passar a quantificar seus resultados
Espera-se , para um futuro próximo, que informações mais consistentes, relativas à adoção das metodologias sejam levantadas e apresentadas à comunidade de desenvolvimento.


Conclusão

A escolha da metodologia mais adequada para o desenvolvimento de software em uma organização, levando em consideração os inúmeros fatores envolvidos, não é uma tarefa trivial. Por outro lado, é um fator preponderante para o sucesso da organização.
Embora um bom processo não possa garantir o sucesso de um projeto, certamente a adoção de um processo inadequado pode comprometê-lo.
O movimento ágil ainda deve ser classificado como uma inovação, embora alguns dados já apontem para um novo cenário, no qual o desenvolvimento ágil está em um momento de inflexão, passando a ser defendido também na esfera gerencial das organizações.
Uma deficiência importante é a ausência de dados que possam ser usados para avaliar, quantitativamente, a presença das diversas metodologias ágeis no mercado de desenvolvimento de software, bem como se adaptações que se fazem necessárias e o graus de satisfação de seus usuários.
Essa ausência é ainda mais sentida quando se procuram por dados referentes ao mercado nacional.

Metodologias Ágeis
ALUNOS: Bruno Cesar Bosso R.A 1801284739
Vanessa Sena de Holanda RA 1804297868

Nenhum comentário:

Postar um comentário