Como funciona uma empresa ágil de desenvolvimento de software

Post on 09-Jul-2015

272 views 2 download

Transcript of Como funciona uma empresa ágil de desenvolvimento de software

Como funciona uma empresa ágil de desenvolvimento de softwareFERRAMENTAS E METODOLOGIAS

Elvis Lima

Web Developer - Fortes Informática

Twitter: @elvisdelima

Github: elvisdelima

Email: elvisdelima89@gmail.com

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!