O que é metodologia ágil? [fechadas]

27

Alguém pode explicar sobre a metodologia ágil em frases simples?

Chankey Pathak
fonte
3
de acordo com meu professor CompSci na faculdade "método de cachoeira, apenas mais rápido"
Malfist
11
@Malfist vamos esperar que ele / ela fica na academia, onde o dano é limitado a cérebros ;-)
Steven A. Lowe
@ Steven A. Lowe, o triste é que o terceiro capítulo de nosso livro é "Desenvolvimento Ágil de Software" e ele ainda não tem idéia do que é.
Malfist 03/11/19
2
@ Malfist Eu estava em um grande campus universitário em uma grande cidade em meados dos anos 90, e entrei para falar com o reitor da CS. Ele estava de bom humor e conversamos, então conversamos um pouco sobre o estado da arte e como isso se refletia no currículo da faculdade. Ele me disse que "a programação orientada a objetos é apenas uma moda passageira, não ensinamos aqui". Muito triste.
Steven A. Lowe
1
A metodologia ágil é como o idioma chinês - você não a entende até aprendê-la;)
Job

Respostas:

22

Agile é um monte de coisas e práticas, mas acho que o núcleo disso é apenas o desenvolvimento iterativo.

Iterativo: pense em várias cachoeiras muito pequenas. Ou seja, o método cascata (requisitos-> especificação-> código-> teste), mas, em vez de fazê-lo ao longo de um ano, você o faz ao longo de algumas semanas para um pedaço gerenciável do conjunto projeto. No final de 'iteração / sprint / incremento', você tem um pequeno, mas completo e testado conjunto de funcionalidades adicionais.

Isso permite que você mude rapidamente o curso do projeto, se o que você está fazendo não é o que o cliente deseja, ou as necessidades da empresa mudam, ou o que quer. Daí o termo "ágil".

Fishtoaster
fonte
Esta realmente não é a resposta certa. Agile não é uma metodologia, é uma filosofia.
RibaldEddie
32

Eu acho que nada o coloca melhor do que o próprio Manifesto Ágil:

Estamos descobrindo maneiras melhores de desenvolver
software fazendo isso e ajudando outras pessoas a fazê-lo.
Através deste trabalho, chegamos ao valor:

Indivíduos e interações em processos e ferramentas
Software de trabalho em documentação abrangente
Colaboração do cliente em negociação de contratos
Respondendo a mudanças ao seguir um plano

Ou seja, enquanto houver valor nos itens
à direita, valorizamos mais os itens à esquerda.

de http://agilemanifesto.org/

Andy Lowry
fonte
1
O único problema é que, a menos que você tenha visto um processo ruim, o manifesto simplesmente não faz justiça a si mesmo. É preciso comparar com o ruim para realmente entender o quanto o manifesto está dizendo. Ainda assim, +1 porque muitas pessoas estão confundindo ágil e Scrum atualmente. E mesmo assim, eles estão confundindo SCRUM com Scrum + XP.
MIA
2
Ágil às vezes pode se contradizer. Basicamente "valorizamos a flexibilidade, mas desvalorizamos as ferramentas e processos necessários para obter essa flexibilidade". Ferramentas boas e flexíveis são absolutamente essenciais para responder às mudanças. por exemplo, migrações Ruby-on-Rails vs. sistema ORM caseiro de alguém que pode demorar uma semana para fazer uma alteração simples no modelo de dados.
user8865
2
Imaginando como "Indivíduos e interações" poderiam substituir "Processos e ferramentas" ou como "Software funcionando poderia ser contra uma documentação abrangente"? Essas são coisas diferentes ... Não importa, eu não me apaixonei por Agile e acho que não.
fácil
13

Para mim, a ideia mais importante é esta:

As mudanças de requisitos acontecerão porque somos forçados a projetar software com o conhecimento necessário sobre o que é necessário (o início do projeto) e os requisitos só se tornarão mais claros ao longo do projeto.

As abordagens tradicionais (em cascata) tentam atenuar essa mudança, bloqueando todos os contratos no início do projeto, solicitando que eles assinem especificações abrangentes. Isso pode funcionar como um CYA, mas não deixa ninguém feliz em oferecer algo que não atenda às necessidades dos usuários, especialmente se suas objeções forem atendidas com "Bem, você assinou!"

Os Métodos Ágeis são projetados para abraçar as mudanças inevitáveis, em vez de proteger a equipe de desenvolvimento delas. Isso é feito de várias maneiras, dentre elas o desenvolvimento iterativo e o envolvimento contínuo das partes interessadas no processo. Na minha experiência, deixa todos os envolvidos mais felizes no final, embora possa ser mais desconfortável para alguns tipos de gerenciamento que são planejadores hardcore.

JohnFx
fonte
6

Em uma frase, é assim:

O desenvolvimento ágil de software é um grupo de metodologias de desenvolvimento de software baseadas no desenvolvimento iterativo e incremental , em que requisitos e soluções evoluem através da colaboração entre equipes multifuncionais e auto-organizadas .

Isso vem da definição da wikipedia e eu gosto muito. Eu destaquei princípios fundamentais.


fonte
3

Gostaria de adicionar também o que o Agile NÃO é. Existem muitas lojas por aí que afirmam ser ágeis, mas de uma maneira que significa que elas não estão interessadas em planejar seus projetos e esperam que as coisas sejam feitas em um período excessivamente curto de tempo.

Agile! = Sem plano de projeto. É difícil lidar com pessoas que implicitamente pensam que essa afirmação é falsa porque elas tendem a ser do tipo de gerenciamento e nem sempre são fáceis de contradizer.

q303
fonte
Desde a pergunta até a data, faço parte de algumas dessas empresas e concordo com você.
Chankey Pathak
Acordado. Muitas pessoas ágeis são apenas uma maneira barata de fazer as coisas.
SmallChess 02/02
2

Andy já se vinculou ao Agile Manifesto, que eu acho que aborda quase tudo.

Eu acho que é útil ver também de onde veio o Manifesto Ágil. Havia várias metodologias por aí que tinham alguns elementos em comum e muitas motivações semelhantes: Programação Extrema (XP), Scrum, DSDM, Desenvolvimento de Software Adaptativo, Cristal, Desenvolvimento Orientado a Recursos, Programação Pragmática (lista de Alistair Cockburn ). As pessoas que propunham essas metodologias decidiram criar um termo de marketing para cobrir as coisas que eles tinham em comum, para que a força do que eles estavam dizendo fosse melhorada.

Curiosamente (de acordo com o que alguém me disse), havia vários nomes na lista restrita que poderiam ter sido escolhidos em vez de "Ágil" - um dos quais era "Adaptável". Pessoalmente, acho que, como uma única palavra que resume melhor o que é realmente ágil, melhor do que "ágil"!

FinnNk
fonte
2

Empregar uma metodologia ágil se resume a enfatizar a entrega de produtos de qualidade em relação a outros aspectos do desenvolvimento de produtos e a perceber que o feedback da comunidade de usuários é uma parte vital da criação de produtos de qualidade.

Compare isso com uma abordagem de desenvolvimento tradicional / em cascata, que enfatiza o design, a documentação e a definição de interface inicial, sem enfatizar a implementação e a transição do produto do desenvolvimento para o lançamento.

Na minha opinião, existe uma qualidade intrínseca que uma equipe pode criar em um produto. Vejo isso assumindo a forma de verificar se um produto funciona como a equipe de desenvolvimento pretendia e pode acomodar razoavelmente melhorias previsíveis. Também existem fatores de qualidade baseados inteiramente na percepção que medem o quão bem um produto atende às necessidades de seus usuários.

As abordagens ágeis tendem a fornecer produtos de forma iterativa , incorporando o feedback do usuário e o desenvolvedor em cada iteração, e promovem o fornecimento de cada incremento de funcionalidade quando obtém viabilidade mínima como uma função forçadora para obter feedback frequente do usuário e neutralizar a tendência das atividades de desenvolvimento de continuar. longos períodos de tempo sem feedback de seus usuários. Na minha opinião, outros aspectos de uma abordagem ágil tendem a apoiar esses princípios fundamentais.

  • Enfatizar a colaboração frequente do cliente gera feedback do usuário, mantendo-se flexível às mudanças nos requisitos, permitindo que o desenvolvimento do produto integre esse feedback regularmente
  • A integração frequente em configurações e ambientes de implantação relevantes acompanha a identificação contínua de quais configurações e ambientes permanecem relevantes para garantir que o produto permaneça valioso e relevante para os usuários que fornecem feedback
  • A auto-organização e a promoção de equipes multifuncionais falam em criar responsabilidade pessoal dentro da equipe e capacitar a equipe a determinar a melhor forma de remover obstáculos de maneira eficiente, sem ser retida pelas funções e hierarquia de gerenciamento pré-atribuídas na equipe
picos
fonte