Ir para o conteúdo principal

Nossas metodologias

O Ágil

E a disciplina que estuda um conjunto de comportamentos, processos, práticas e ferramentas utilizados para a criação de produtos (geralmente de, mas não limitados a, software) e sua subsequente disponibilização para os usuários finais. As metodologias e frameworks que fazem parte do conceito de desenvolvimento ágil  providenciam uma estrutura conceitual para conduzir projetos de engenharia de software.

Existem inúmeros frameworks de processos para desenvolvimento de software. A maioria dos métodos ágeis tenta minimizar o risco pelo desenvolvimento do software em curtos períodos, chamados de iteração, os quais gastam tipicamente menos de uma semana a até quatro. Cada iteração é como um projeto de software em miniatura de seu próprio, e inclui todas as tarefas necessárias para implantar o mini-incremento da nova funcionalidade: planejamento, análise de requisitos, projeto, codificação, teste e documentação. Enquanto em um processo convencional, cada iteração não está necessariamente focada em adicionar um novo conjunto significativo de funcionalidades, um projeto de software ágil busca a capacidade de implantar uma nova versão do software ao fim de cada iteração, etapa a qual a equipe responsável reavalia as prioridades do projeto.

Métodos ágeis enfatizam comunicações em tempo real, preferencialmente cara a cara, a documentos escritos. A maioria dos componentes de um grupo ágil deve estar agrupada em uma sala. Isso inclui todas as pessoas necessárias para terminar o software: no mínimo, os programadores e seus clientes (clientes são as pessoas que definem o produto, eles podem ser os gerentes, analistas de negócio, ou realmente os clientes). Nesta sala devem também se encontrar os testadores, projetistas de iteração, redatores técnicos e gerentes.

Métodos ágeis também enfatizam o software funcional como uma medida primária de progresso. Combinado com a comunicação cara-a-cara, métodos ágeis produzem pouca documentação em relação a outros métodos, sendo este um dos pontos que podem ser considerados negativos, mas reduzindo o tempo de produção de documentação mais útil.

Valores ágeis de desenvolvimento de software

Segundo a página Agile Manifest - Manifesto ágil os valores relacionados ao Desenvolvimento ágil de software são:

  • Indivíduos e iterações mais que processos e ferramentas;
  • Software funcional mais que documentação abrangente;
  • Colaboração do cliente mais que negociação de contratos;
  • Responder a mudanças mais que seguir um plano

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

  • Garantir a satisfação do consumidor entregando rapidamente e continuamente software funcionais;
  • Até mesmo mudanças tardias de escopo no projeto são bem-vindas para garantir a vantagem competitiva do cliente;
  • Software funcionais são entregues frequentemente (semanas, ao invés de meses);
  • Cooperação diária entre pessoas que entendem do 'negócio' e desenvolvedores;
  • Projetos surgem através de indivíduos motivados, entre os quais existe relação de confiança.
  • A maneira mais eficiente e efetiva de transmitir informações é conversar cara a cara;
  • Software funcionais são a principal medida de progresso do projeto;
  • Processos ágeis promovem desenvolvimento sustentável. Os patrocinadores, desenvolvedores e usuários devem ser capazes para manter um ritmo constante indefinidamente.
  • Design do software deve prezar pela excelência técnica;
  • Simplicidade é essencial;
  • As melhores arquiteturas, requisitos e projetos emergem de equipes auto-organizadas;
  • Em intervalos regulares, a equipe reflete sobre como para tornar-se mais eficaz, então sintoniza e ajusta seu comportamento apropriadamente.

Práticas Ágeis de Desenvolvimento de Software

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: [13]

 
Pratica 
Desenvolvimento orientado a testes de aceitação (ATDD)Kent Beck
Modelagem ágilScott Ambler
Teste ágil 
Backlogs (produto e Sprint)Ken Schwaber
Desenvolvimento Orientado por Comportamento (BDD)Dan North , Liz Keogh
Integração Contínua (CI)Grady Booch
Equipe multifuncional 
Design dirigido por domínio (DDD)Eric Evans
Desenvolvimento Iterativo e Incremental (IID) 
Plataformas de desenvolvimento de baixo código 
Programação parKent Beck
Pôquer planejandoJames Grenning, Mike Cohn
Refatoração 
Retrospectivo 
Eventos Scrum (planejamento de sprint, scrum diário, revisão de sprint e retrospectiva) 
Especificação por exemplo 
Modelagem orientada por históriaAlbert Zündorf
Desenvolvimento orientado a testes (TDD)Kent Beck
Timeboxing 
História do usuárioAlistair Cockburn
Rastreamento de velocidade

Integração Continua

 

Entrega Continua

 

Scrum