Gerenciamento de projetos — Capítulo 2 - …E por fim, chegou o ágil.
- Andressa Siqueira
- 14 de ago. de 2020
- 4 min de leitura
Atualizado: 22 de nov. de 2024
Já falamos, de forma superficial sobre os modelos prescritivos no artigo anterior — Se quiser ler, basta clicar aqui — e agora vamos falar das metodologias ágeis.

Atualmente as metodologias ágeis mais conhecidas são: Extreme Programming (XP), Scrum, Lean Development, Feature-Driven Development (FDD), Kanban, RUP, Crystal, Dynamic Systems Development Method (DSDM) e OpenUP.

Vamos falar de cada uma especificamente mais a frente, ok? Hoje vamos nos concentrar no conceito geral…
Mas o que é um metodologia ágil?
Calma pequeno gafanhoto… irei te explicar…
Metodologia ágil: Também conhecido como Agile, é uma forma de gestão e desenvolvimento de software que permite no planejamento e execução interativa e incremental dividindo o problema em produtos menores e que tem como objetivo entregar um software funcional regulamente. Ou seja, é um conjunto de prática que é baseado no manifesto ágil.
Podemos dizer que agilidade em TI é: “a habilidade de criar e responder a mudanças, buscando a obtenção de lucro em um ambiente de negócio turbulento”[1]; ou ainda, a capacidade de balancear a flexibilidade e a estabilidade.

Essas metodologias surgiram como uma alternativa á metodologia de gestão tradicional de projetos de desenvolvimento software.
Cada iteração é um mini-projeto de duração entre 1 e 4 semanas que incluem as fases de levantamento de recursos e requisitos, desenvolvimento de código, teste, documentação e entrega ao cliente do mini-projeto de forma funcional. Esse entrega pode ser um novo processo ou funcionalidades, melhorias de performance ou correção de erros.
E o que é o manifesto ágil?
O Manifesto Ágil é uma declaração de valores e princípios essenciais para o desenvolvimento de software que nasceu de uma reunião de 17 profissionais da área de TI em Fevereiro de 2001.

O manifesto reúne 4 valores e 12 princípios que devem ser mantidos, onde:
Valores:
1 . Indivíduos e interações mais que processos e ferramentas
Processos e ferramentas são importantes porém devem ser simples e uteis. O desenvolvimento de qualquer sistema é uma atividade humana e que as interações de qualidade entre as pessoas presentes no projeto são necessárias para que exista um pleno entendimento das necessidades e do que é esperado.
2 . Software em funcionamento mais que documentação abrangente
O maior indicador de sucesso do projeto é a entrega de um sistema útil, funcional e que esteja alinhado com as necessidades do cliente. Clientes querem é resultado!!!
Quer dizer que a documentação não é importante Andressa? — Opa, nunca disse isso! A documentação é importante sim não é necessário documentar cada virgula…. Simplifique documentando somente o que é necessário e agregue valor!!
3 . Colaboração com o cliente mais que negociação de contratos
Para que se tenha um bom trabalho sem a necessidade constante de acertos e cliente satisfeito é necessário dialogo entre todos em busca de um único objetivo! Devemos atuar em conjunto com o cliente e não “contra” ele ou ele “contra” a gente.
Claro que é importante ter contrato, para ter certeza que os dois lados vão cumprir o combinado…. mas lembre-se que ninguém melhor que seu cliente conhece o negócio dele e suas necessidades!
4 . Responder a mudanças mais que seguir um plano
Cada vez mais as necessidades mudam rapidamente de acordo com o mercado ou objetivos das pessoas e empresas. E você deve estar preparado para essas mudanças… A desenvolver um software e produtos é um ambiente de alta incerteza fazendo necessário adaptar o plano a todo momento.
Princípios:
Nossa maior prioridade é satisfazer o cliente, através da entrega adiantada e contínua de software de valor.
Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. Processos ágeis se adequam a mudanças, para que o cliente possa tirar vantagens competitivas.
Entregar software funcionando com frequência, na escala de semanas até meses, com preferência aos períodos mais curtos.
Pessoas relacionadas à negócios e desenvolvedores devem trabalhar em conjunto e diariamente, durante todo o curso do projeto.
Construir projetos ao redor de indivíduos motivados. Dando a eles o ambiente e suporte necessário, e confiar que farão seu trabalho.
O Método mais eficiente e eficaz de transmitir informações para, e por dentro de um time de desenvolvimento, é através de uma conversa cara a cara.
Software funcional é a medida primária de progresso.
Processos ágeis promovem um ambiente sustentável. Os patrocinadores, desenvolvedores e usuários, devem ser capazes de manter indefinidamente, passos constantes.
Contínua atenção à excelência técnica e bom design, aumenta a agilidade.
Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser feito.
As melhores arquiteturas, requisitos e designs emergem de times auto-organizáveis.
Em intervalos regulares, o time reflete em como ficar mais efetivo, então, se ajustam e otimizam seu comportamento de acordo.

Apesar de cada uma das metodologias citadas lá em cima terem suas diferenças, podemos dizer que elas seguem de forma geral as seguintes práticas[3]:
Equipes Auto Gerenciáveis: É importante que a equipe atue em conjunto para tomar as melhores decisões, ao invés de haver um gerente que dita o caminha, há um líder que atua como facilitador;
Comunicação: É essencial a constante comunicação entre a equipe de desenvolvimento e a área de negócio;
Preferência por Equipes Pequenas: É consenso que equipes pequenas são mais produtivas, evitam conflitos e falhas de comunicação;
Uso de TDD (Test-Driven Development): É uma técnica que permite a realização de testes contínuos e não apenas na conclusão do sistema;
Planejamento Incremental: Ao invés de planejar o software como um todo, o planejamento é feito de forma sistêmica. O todo é determinado, mas o planejamento é feito por etapas;
Entregas menores: Uso de incrementos pequenos de software, entregando novas funcionalidades em meses ou semanas, ao invés de anos;
Uso de Refatoração: Melhoria constante do código, tornando-o mais fácil de manter;
Integração sistêmica continua: Sempre que um incremento está pronto, ele é integrado ao sistema como um todo.
Referências:
HIGHSMITH, J. Agile Project Management — Creating Innovative Products. Pearson Education, 2004. (Visto em 30/08/2019)
Site: http://metodologiaagil.com/ (Visto em 30/08/2019)
Site http://metodologiaagil.com/
Post publicado originalmente por mim na plataforma medium em 2019 (https://medium.com/@siq.andressa/metodologia-%C3%A1gil-cap%C3%ADtulo-2-e-por-fim-chegou-o-%C3%A1gil-230a37c8bd49)
Comments