Pesquisa · Mapa mental

Desenvolvimento ágil de software

Desenvolvimento Ágil de Software ou Método ágil é uma disciplina que estuda um conjunto de comportamentos, processos, práticas e ferramentas utilizados para a criação de produtos e sua subsequente disponibilização para os usuários finais. Uma abordagem onde produtos são desenvolvidos colaborativamente com equipes multidisciplinar baseado na criatividade e na flexibilização, muito usado atualmente por gestores de várias áreas devido o mercado exigir mais agilidade. As metodologias e frameworks que fazem parte do conceito de desenvolvimento ágil providenciam uma estrutura conceitual para conduzir projetos de engenharia de software.

Fonte: Wikipédia (pt)Atualizado em 14/07/2026
01

História

Imagem: Improve It · BY-SA · Openverse

As definições modernas de desenvolvimento de software ágil evoluíram a partir da metade de 1990 como parte de uma reação contra métodos "pesados", caracterizados por uma pesada regulamentação, regimentação e micro gerenciamento usado o modelo em cascata para desenvolvimento. O processo originou-se da visão de que o modelo em cascata era burocrático, lento e contraditório a forma usual com que os engenheiros de software sempre realizaram trabalho com eficiência. Uma visão que levou ao desenvolvimento de métodos ágeis e iterativos era retorno a prática de desenvolvimento vistas nos primórdios da história do desenvolvimento de software. Inicialmente, métodos ágeis eram conhecidos como métodos leves. Em 2001, membros proeminentes da comunidade se reuniram em Snowbird e adotaram o nome métodos ágeis, tendo publicado o Manifesto ágil, documento que reúne os princípios e práticas desta metodologia de desenvolvimento. Mais tarde, algumas pessoas formaram a Agile Alliance, uma organização não lucrativa que promove o desenvolvimento ágil.

02

O Manifesto para o Desenvolvimento Ágil do Software

Imagem: Improve It · BY-SA · Openverse

Valores ágeis de desenvolvimento de software

Segundo a página Agile Manifest - Manifesto ágil os valores relacionados ao Desenvolvimento ágil de software são: Ou seja, o item à esquerda sempre tem maior importância do que o item à direita

Princípios ágeis de desenvolvimento de software

Os princípios do desenvolvimento ágil valorizam

03

Comparações com outros métodos

Imagem: Improve It · BY-SA · Openverse

Métodos Ágeis são algumas vezes caracterizados como o oposto de metodologias guiadas pelo planejamento ou disciplinadas. Uma distinção mais acurada é dizer que os métodos existem em um contínuo do adaptativo até o preditivo. Métodos ágeis existem do lado adaptativo deste contínuo. Métodos adaptativos buscam a adaptação rápida a mudanças da realidade. Quando uma necessidade de um projeto muda, uma equipe adaptativa mudará também. Um time adaptativo terá dificuldade em descrever o que irá acontecer no futuro. O que acontecerá em uma data futura é um item de difícil predição para um método adaptativo. Uma equipe adaptativa pode relatar quais tarefas se iniciarão na próxima semana. Quando perguntado acerca de uma implantação que ocorrerá daqui a seis meses, uma equipe adaptativa deve ser capaz somente de relatar a instrução de missão para a implantação, ou uma expectativa de valor versus custo.

Comparação com o desenvolvimento iterativo

A maioria dos métodos ágeis compartilha a ênfase no Desenvolvimento iterativo e incremental para a construção de versões implantadas do software em curtos períodos de tempo. Métodos ágeis diferem dos métodos iterativos porque seus períodos de tempo são medidos em semanas, ao invés de meses, e a realização é efetuada de uma maneira altamente colaborativa. estendendo-se a tudo.

Comparação com o modelo em cascata

O desenvolvimento ágil tem pouco em comum com o modelo em cascata. Na visão 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 através da captura dos requisitos, análise, projeto, codificação e testes em uma sequência pré-planejada e restrita. O progresso é geralmente medido em termos de entrega de artefatos—especificação de requisitos, documentos de projeto, planos de teste, revisão do código, e outros. O modelo em cascata resulta em uma substancial integração e esforço de teste para alcançar o fim do ciclo de vida, um período que tipicamente se estende por vários meses ou anos. O tamanho e dificuldade deste esforço de integração e teste é uma das causas das falhas do projeto em cascata. Métodos ágeis, pelo contrário, produzem um desenvolvimento completo e teste de aspectos (mas um pequeno subconjunto do todo) num período de poucas semanas ou meses. Enfatiza a obtenção de pequenos pedaços de funcionalidades executáveis para agregar valor ao negócio cedo, e continuamente agregar novas funcionalidades através do ciclo de vida do projeto.

Comparação com a "codificação cowboy"

A codificação cowboy, também chamada de Modelo Balbúrdia, é a ausência de metodologias de desenvolvimento de Software: os membros da equipe fazem o que eles sentem que é correto. Como os desenvolvedores que utilizam métodos ágeis freqüentemente reavaliam os planos, enfatizam a comunicação face a face e fazem o uso relativamente esparso de documentos, ocasionalmente levam as pessoas a confundirem isto com codificação cowboy. Equipes ágeis, contudo, seguem o processo definido (e freqüentemente de forma disciplinada e rigorosa). Como em todas as metodologias, o conhecimento e a experiência dos usuários definem o grau de sucesso e/ou fracasso de cada atividade. Os controles mais rígidos e sistematizados aplicados em um processo implicam altos níveis de responsabilidade para os usuários. A degradação de procedimentos bem-intencionados e organizados pode levar as atividades a serem caracterizadas como codificação cowboy.

04

Estimativas em Métodos ágeis

Imagem: Improve It · BY-SA · Openverse

O desenvolvimento de software ágil enfatiza a flexibilidade e a rápida adaptação às mudanças durante o processo de desenvolvimento. Dentro deste contexto, as técnicas de estimativa são fundamentais para o planejamento e execução eficazes dos projetos. Entre as diversas técnicas disponíveis, o Planning Poker, ou "Poker de Planejamento", destaca-se como uma abordagem interativa e democrática para a estimativa de tempo e recursos necessários para a execução de tarefas de software.

Planning Poker em Métodos ágeis

O Planning Poker é uma técnica de estimativa que promove o comprometimento e a participação de todos os membros da equipe no processo de planejamento. A técnica é baseada no consenso e busca envolver todos os participantes, garantindo que várias perspectivas e conhecimento do negócio sejam consideradas antes de se chegar a uma decisão, do custo da tarefa. Além disso, o aspecto lúdico do jogo cativa os envolvidos, tornando o processo de estimativa mais agradável e menos tedioso. Durante uma sessão de Planning Poker, cada membro da equipe recebe cartas que representam diferentes níveis de esforço, normalmente sequências numéricas que podem seguir a série de Fibonacci ou qualquer outra distribuição acordada. Os elementos a serem estimados podem incluir histórias de usuário, casos de uso, pacotes de trabalho, atividades, entre outros. A seguir, são destacados os passos básicos do processo:

05

Aplicabilidade dos métodos ágeis

Imagem: Improve It · BY-SA · Openverse

Embora os métodos ágeis apresentem diferenças entre suas práticas, eles compartilham inúmeras características em comum, incluindo o desenvolvimento iterativo, e um foco na comunicação interativa e na redução do esforço empregado em artefatos intermediários. (Cohen et al., 2004) A aplicabilidade dos métodos ágeis em geral pode ser examinada de múltiplas perspectivas. Da perspectiva do produto, métodos ágeis são mais adequados quando os requisitos estão emergindo e mudando rapidamente, embora não exista um consenso completo neste ponto (Cohen et al., 2004). De uma perspectiva organizacional, a aplicabilidade pode ser expressa examinando três dimensões chaves da organização: cultura, pessoal e comunicação. Em relação a estas áreas inúmeros fatores chave do sucesso podem ser identificados (Cohen et al., 2004): O fator mais importante é provavelmente o tamanho do projeto (Cohen et al., 2004).. Com o aumento do tamanho, a comunicação face a face se torna mais difícil. Portanto, métodos ágeis são mais adequados para projetos com pequenos times, com no máximo de 20 a 40 pessoas.

06

Adaptabilidade dos métodos ágeis

Imagem: Improve It · BY-SA · Openverse

Um método deve ser bastante flexível para permitir ajustes durante a execução do projeto. Há três problemas chaves relacionados ao tópico de adaptação dos métodos ágeis: a aplicabilidade dos métodos ágeis (no geral e no particular), e finalmente, o suporte ao gerenciamento de projeto. Na Agile Culture, o profissional tem mais liberdade. Ele recebe um conjunto de métricas, objetivos e orientações para planejar o seu trabalho da melhor forma possível, agregando valor ao negócio e dando mais flexibilidade interna.

07

Métodos ágeis e o gerenciamento de projeto

Imagem: Improve It · BY-SA · Openverse

Os métodos ágeis diferem largamente no que diz respeito a forma de serem gerenciados. Alguns métodos são suplementados com guias para direcionar o gerenciamento do projeto, mas nem todos são aplicáveis. PRINCE2™ tem sido considerado como um sistema de gerenciamento de projeto complementar e adequado. Uma característica comum dos processos ágeis é a capacidade de funcionar em ambientes muito exigentes que tem um grande número de incertezas e flutuações (mudanças) que podem vir de várias fontes como: equipe em processo de formação que ainda não trabalhou junto em outros projetos, requisitos voláteis, baixo conhecimento do domínio de negócio pela equipe, adoção de novas tecnologias, novas ferramentas, mudanças muito bruscas e rápidas no ambiente de negócios das empresas: novos concorrentes, novos produtos, novos modelos de negócio. Sistemas de gerenciamento de projetos lineares e prescritivos, neste tipo de ambiente, falham em oferecer as características necessárias para responder de forma ágil as mudanças requeridas. Sua adoção pode incrementar desnecessariamente os riscos, o custo, o prazo e baixar a qualidade do produto gerado, desgastando a equipe e todos os envolvidos no processo.

08

Práticas Ágeis de Desenvolvimento de Software

Imagem: Improve It · BY-SA · Openverse

O desenvolvimento de software ágil é apoiado por várias práticas concretas, abrangendo áreas como requisitos, design, modelagem, codificação, teste, planejamento, gerenciamento de risco, processo, qualidade, etc. Algumas práticas notáveis ​​de desenvolvimento ágil de software incluem:

09

Metodologia

Imagem: Improve It · BY-SA · Openverse

Albert Joseph; Ercilia Chilaule; Francelino Itc(I2cv)

10

Críticas

Imagem: Improve It · BY-SA · Openverse

O método de desenvolvimento ágil é algumas vezes criticado como codificação cowboy. O início da Programação extrema soava como controverso e dogmático, tal como a programação por pares e o projeto contínuo, tem sido alvo particular de críticos, tais como McBreen e Boehm e Turner. Contudo, muitas destas críticas têm sido vistas pelos defensores dos métodos ágeis como mal entendidos a respeito do desenvolvimento ágil. Em particular, a Programação extrema é revista e criticada por Matt Stephens' Extreme Programming Refactored.

Vídeos recomendados

Fontes consultadas

Continue pesquisando