Objetivos de negócio: Requisitos → Processo de Desenvolvimento: - Concepção, Análise & Design, Desenvolvimento, Testes, Implantação → Software
Princípio de Pareto
apenas 20% das funcionalidades constumam gerar 80% ou mais do benefício esperado.
Gestão de Projetos: Tradicional X Ágil
- Waterfall (Tradicional): só permite que o projeto avança quando uma fase está inteiramente completa
- Ágil: Software construído por partes (incremental) e cada parte executa-se um ciclo (iterativo).
Tradicional:
- Escopo definido na fase inicial do projeto
- Projeto é controlado por fases e marcos
- Cliente só vê o software funcionando na fase final do projeto
- Rersistência a mundaças
Ágil:
- Escopo definido ao longo do projeto
- Projeto é controlado por funcionalidades entregues
- Cliente pode ver parte do software funcionando na parte inicial do projeto
- Mudanças constantes de acordo com feedbacks contínuos
O que é ser Ágil? Ágil é diferente de rápido.
- Ágil é rapidez na mudança e desembaraço
- Fazer coisas complexas de forma simples
- Equipe comprometida com os objetivos
- Maior valor para o cliente
Scrum
Pilares do Scrum: Transparência, Adaptação e Inspeção.
- Projetos usando equipes pequenas e multidisciplinares produzem os melhores resultados.
- Conversar mais e escrever menos Demonstar o software constantemente aos usuários e obter feedbacks constantes;
- Requisitos mudam ao longo do tempo;
- Aprender progressivamento com o uso do software.
Razões para adotar o SCRUM:
- Desenvolvido e entregue em partes menores (2 a 4 semanas), com constante feedback dos usuários
- Melhor gerenciamento de riscos
- Comprometimento, motivação e transparência da equipe (Daily Meeting);
- Maior valor para o negócio (Prorização do backlog)
- Usuários envolvidos durante todo o ciclo
- Aplicação das Lições aprendidas (melhoria contínua)
Características do time SCRUM:
- Equipes capazes de se auto-organizarem
- As tarefas são do time e todos são responsáveis
- Forte comprometimento com os resultados
Papéis e Responsabilidades
Product Owner (PO)
- Representa a área e negócios
- PO não é um comitê (é uma pessoa)
- Define as funcionalidades do software (Product Backlog)
- Prioriza as funcionalidades de acordo com o valor do negócio
- Garante que o time de desenvolvimento entenda os itens do backlog no nível necessário.
Scrum Master (SM)
- Garante o uso correto do SCRUM
- Scrum Master não é gerente de projetos (Não é ele que delega atividades para o time)
- Age como facilitador
- Auxilia o Product Owner no planejamento e estimativas do backlog
- Auxilia a equipe a remover impedimentos
- Treina o time em autogerenciamento e interdisciplinaridade.
Time de Desenvolvimento
- Possui habilidades suficiente para desenvolver, testar, criar, ou seja, tudo que for necessário para entregar o software funcionando.
Sprint
Time box: tempo máximo para fazer uma cerimônia Sprint: Corrida, arrancada. É o principal evento do Scrum Duração de 1 Sprint: No máximo 30 dias corridos. O time define o tempo da sprint.
- Planejamento da Sprint
- Participa o PO, Time de desenvolvimento e o Scrum Master
- O que fazer? Como fazer?
- Planning Poker: Cada um opina uma estimativa de cada tarefa e o time entra em consenso
- Reuniões Diárias (Daily Meeting)
- Participa o PO, Time de desenvolvimento e o Scrum Master
- Time de desenvolvimento responde: O que foi feito no dia anterior, o que há para fazer e o que irá ser feito hoje.
- Dura no máximo 15 minutos
- Revisão da Sprint (Review)
- No último dia da sprint ocorre uma divisão
- time de desenvolvimento apresenta para o PO o trabalho feito.
- Retrospectiva da Sprint
- Reunião da equipe para apontar erros e acertos
- Release Planning: Cada vez que um produto de software é criado ou modificado, o fabricante e seus desenvolvedores decidem sobre como distribuir o novo produto ou modificação.