Upload
elvis-lima
View
272
Download
2
Embed Size (px)
Citation preview
Como funciona uma empresa ágil de desenvolvimento de softwareFERRAMENTAS E METODOLOGIAS
Elvis Lima
Web Developer - Fortes Informática
Twitter: @elvisdelima
Github: elvisdelima
Email: [email protected]
Conhecendo o Grupo Fortes
Contabilidade
Administrativos e Financeiros
Contábeis
Varejo e Atacado
Business Intelligence
Controle de Transporte e Frota
Gestão de Pessoas
Onde estamos
Nossos Clientes
Setor de Desenvolvimento de Software
Empresas de Desenvolvimento
Ambiente
Desenvolvimento Ágil de Software
Modelo tradicional Waterfall ou Cascata
Então Cascata não funciona?
• Recomendado para uso em projetos que são relativamente estáveis
• Onde as necessidades dos clientes podem ser claramente identificados numa fase inicial
E o Ágil, como surgiu?
• Indivíduos e interação entre eles mais que processos e ferramentas• Software em funcionamento mais que documentação abrangente• Colaboração com o cliente mais que negociação de contratos• Responder a mudanças mais que seguir um plano
Matifesto Ágil
Extreme Programming
Extreme Programming
• Comunicação• Simplicidade• Feedback• Coragem• Respeito
• Dar Feedback rápido• Presumir simplicidade• Fazer Mudanças incrementais• Abraçar mudanças• Trabalho de alta qualidade.
Valores Princípios
Extreme Programming (Práticas)
• Jogo de Planejamento (Planning Game)
• Fases pequenas (Small Releases)
• Metáfora (Metaphor)
• Design Simples (Simple Design)
• Time Coeso (Whole Team)
• Testes de Aceitação (Customer Tests)
• Semana de 40 horas (Sustainable Pace)
• Reuniões em pé (Stand-up Meeting)
• Propriedade Coletiva (Collective Ownership)
• Programação Pareada (Pair Programming)
• Padronização do Codigo (Coding Standards).
• Desenvolvimento Orientado a Testes (Test Driven Development)
• Refatoração (Refactoring)• Integração Contínua (Continuous Integration)
Scrum
Scrum
KANBAN
Mais sobre o assunto
Práticas
• Auto-Organização• Programação em Par• Revisão de Código• Stand-Up Meeting• Reunião de Retrospectiva• Reunião de Inspeção de Código• Reunião de Troca de Experiências• Melhoria Contínua
Reunião Semanal/Quinzenal
• Entrega• Retrospectiva• Criação do Sprint
Dashboard
Stand-up Meeting
• O que fez?• O que vai fazer?• Algo que atrapalha?
Dia da Melhoria
• Refatoração• Escrita de Testes• Estudo e Treinamento
Reunião de Inspeção
• Inspeção de código• Uso de Padrões• Débito Técnico
Ambiente de Desenvolvimento e Testes
Ciclo de vida de uma tarefa
Desenvolvedor Tester
Iniciar tarefa
Escrever testes (TDD)
Desenvolver Funcionalidade
Mover a tarefa no quadro para Teste
Testar Requisitos Funcionais
Mover a tarefa no quadroPara Aprovado
Entrega
Mover a tarefa no quadro paraFinalizado Apresentação da tarefas
Executar o processo de liberaçãoda tarefa
Repositório (GIT ou SVN)
Integração Contínua (Team City ou Cruise Control)
Deploy Contínuo (Team City ou Cruise Control)
Prepara Base de Testes
Executa Testes Unitários
Executa Testes Funcionais
Verifica Cobertura Código dos Testes
Atualizando Métricas
Tecnologias
Perguntas?
Obrigado!