Gestão de Projetos e Metodologias Ágeis: Scrum e XP

Classificado em Tecnologia

Escrito em em português com um tamanho de 6,05 KB

Definição e Características de Projetos

Um projeto (AO 1945: projecto) é um esforço temporário empreendido para criar um produto, serviço ou resultado exclusivo. Os projetos e as operações diferem, principalmente, no fato de que os projetos são temporários e exclusivos, enquanto as operações são contínuas e repetitivas.

Os projetos são normalmente autorizados como resultado de uma ou mais considerações estratégicas. Estas podem ser uma demanda de mercado, uma necessidade organizacional, uma solicitação de um cliente, um avanço tecnológico ou um requisito legal.

Principais Características dos Projetos

  • Temporários: possuem um início e um fim definidos.
  • Planejados, executados e controlados.
  • Entregam produtos, serviços ou resultados exclusivos.
  • Desenvolvidos em etapas e continuam por incremento com uma elaboração progressiva.
  • Realizados por pessoas.
  • Com recursos limitados.

Testes de Software

Os testes têm como objetivo identificar erros inseridos durante a construção do software.

  • Testes funcionais
  • Testes de performance
  • Testes de carga
  • Testes de certificação

Implantação de Software

A implantação tem como objetivo a instalação do software no ambiente de execução.

Modelos de Ciclo de Vida de Software

Prototipação, Orientado a Reuso, Desenvolvimento Incremental, Modelo Espiral.

adssdsadsad

adsdsadasds

Manifesto Ágil

Indivíduos e interações são mais importantes que processos e ferramentas.

Software funcionando é mais importante do que documentação completa e detalhada.

Colaboração com o cliente é mais importante do que negociação de contratos.

Adaptação a mudanças é mais importante do que seguir o plano inicial.

Princípios do Manifesto Ágil

  • Maior prioridade: satisfazer o cliente entregando, antes e sempre, sistemas com valor.
  • Estar preparado para requisitos mutantes, o que fornece uma vantagem competitiva.
  • Entregar versões funcionais em prazos curtos.
  • Pessoal de negócios e desenvolvedores trabalhando juntos.
  • Construir projetos com indivíduos motivados, dando um ambiente de trabalho e confiando neles.
  • Troca de informações através de conversas diretas.
  • Medir progresso através do software funcionando.
  • Desenvolvimento sustentável.
  • Cuidados com o nível técnico e bom desempenho.
  • Simplicidade é essencial.
  • As melhores arquiteturas, requisitos e design aparecem de equipes que se auto-organizam.
  • De tempos em tempos, o time pensa em como se tornar mais efetivo e ajusta o comportamento de acordo.

SCRUM

Ênfases: Comunicação, Trabalho em Equipe, Flexibilidade e Fornecer Software Funcionando.

Principais Padrões do Scrum

Backlog

Lista de todas as funcionalidades desejadas que é gerada incrementalmente, começando pelo básico; o extra aparece com o tempo. Pode conter tarefas diretas, casos de uso e histórias. A lista é priorizada pelo dono do projeto.

Equipes

Sem nível hierárquico nem papéis, pois estão todos no mesmo barco. Geralmente equipes pequenas, de até 10 pessoas. A comunicação é essencial, para isso faz-se o encontro Scrum diário.

Sprints

Unidades básicas de tempo que podem ser de até 30 dias. No começo do Sprint, são priorizadas tarefas do Backlog, e a equipe seleciona tarefas que podem ser completadas durante o próximo sprint. As mesmas podem ser quebradas para o Backlog do Sprint. Cada tarefa recebe um responsável na equipe e não há mudança nas tarefas durante o sprint.

Encontros Scrum

São pequenos encontros diários da equipe, feitos geralmente pela manhã, nos quais as questões que aparecem devem ser resolvidas durante o dia e não na reunião. Os encontros iniciais são geralmente mais longos. Ajuda a manter as promessas e evita a frase "Como um projeto atrasa 1 ano?". São feitos no mesmo local e hora e podem ser realizados no local de desenvolvimento com pessoas sentadas ao redor de uma mesa.

Revisões Scrum/Demos

No final de cada Sprint, é feita uma reunião com todas as partes interessadas, geralmente na forma de demonstração informal. O projeto é comparado com os objetivos iniciais do Sprint.

Scrum Master

Faz com que a equipe viva os valores e práticas do Scrum. Protege a equipe de riscos, interferências externas e do excesso de otimismo.

Programação Extrema (XP)

Metodologia de desenvolvimento de software aperfeiçoada nos últimos 5 anos.

Alguns odeiam, outros amam. Quem gosta de programar ama, pois deixa o bom programador livre para ele fazer o que faria se não houvesse regras, e força o mau programador a se comportar de forma similar ao bom programador.

Modelo Tradicional de Desenvolvimento de Software

  1. Levantamento de requisitos.
  2. Análise de Requisitos.
  3. Design de Arquitetura.
  4. Implementação.
  5. Testes.
  6. Produção e Manutenção.

Abordagem Tradicional

É necessária uma análise de requisitos profunda e detalhada antes de projetar a arquitetura do sistema.

É necessário um estudo minucioso e elaborar uma descrição detalhada da arquitetura antes de começar a implementá-la.

É necessário testar o sistema completamente antes de mandar a versão final para o cliente.

A Quem se Destina o XP?

Grupos de 2 a 10 programadores e para projetos de 1 a 36 meses. De 1.000 a 250.000 linhas de código.

Princípios Básicos do XP

Feedback Rápido, Simplicidade e Melhor Negócio, Mudanças Incrementais, Carregue a Bandeira das Mudanças, Alta Qualidade.

Um projeto XP consiste em uma fase de exploração com duração de 20% do tempo total, terminada quando a primeira versão do software é enviada ao cliente.

Entradas relacionadas: