Scrum e Extreme Programming

Documentos relacionados
Manifesto Ágil Princípios

SIGEPRO - Mini Curso sobre Métodos Ágeis de Gestão de Projetos

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Guia do Processo de Teste Metodologia Celepar

Escolhendo um Modelo de Ciclo de Vida

Desenvolvimento Ágil de Software

PROCEDIMENTO DA QUALIDADE

Princípios e práticas de extremme Programming

Processo de Desenvolvimento de Software Scrum. Prof. Antonio Almeida de Barros Jr.

Normas ISO:

INTRODUÇÃO AOS MÉTODOS ÁGEIS

Plano de testes. Norma ANSI/IEEE para Documentação de Teste de Software define plano de testes como:

Manifesto Ágil e as Metodologias Ágeis (XP e SCRUM)

DISTRIBUIÇÃO BEM-SUCEDIDA DE SOFTWARE 6 PROBLEMAS COM ACIONISTAS QUE VOCÊ PODE FACILMENTE SUPERAR COM O ATLAS

SCRUM: UM MÉTODO ÁGIL. Cleviton Monteiro

Primeira Edição: 23/08/2010 Página 1 de 7 Revisão 02 AÇÃO CORRETIVA E PREVENTIVA PROCEDIMENTO

Verificação e Validação. Ewelton Yoshio Fabrício Araújo

Unidade IV PRINCÍPIOS DE SISTEMAS DE. Prof. Luís Rodolfo

Contagem de Pontos de Função no Desenvolvimento de Software utilizando Métodos Ágeis

Processo de Desenvolvimento de Software. Unidade V Modelagem de PDS. Luiz Leão luizleao@gmail.com

Sistemas de Informação I

Modelagem De Sistemas

Desmistificando o Scrum e o Product Owner

Desenvolvimento de Software

SCRUM Gerência de Projetos Ágil. Prof. Elias Ferreira

Scrum Guia Prático. Raphael Rayro Louback Saliba Certified Scrum Master. Os papéis, eventos, artefatos e as regras do Scrum. Solutions.

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

Não Conformidade, Ação Corretiva e Ação Preventiva

Metodologias Ágeis. Aécio Costa

MANUAL DE PROCESSOS ENG04 - REALIZAR MANU- TENÇÃO PREVENTIVA EQ. MÉDICO-HOSPITALARES

Radical Management: Conceitos de Agilidade para projetos do Séc. XXI. Heitor Roriz Filho, MSc., PMI-ACP, CST

Ferramenta para gestão ágil

Wesley Torres Galindo

Engenharia de Software I. Aula 15: Metodologias Ágeis. Prof. Márcio D. Puntel

RESUMO PARA O EXAME PSM I

Processo Unificado (PU) Unified Process

Wesley Torres Galindo.

Planejamento Estratégico

Primeira Edição: 20/08/2010 Página 1 de 10 Revisão 01 POP.ADM.001 PROCEDIMENTO ELABORAÇÃO E CONTROLE DE DOCUMENTOS

Entendendo o Processo de Desenvolvimento com Scrum

Simulado "1.Introdução"

SCRUM. É um processo iterativo e incremental para o desenvolvimento de qualquer produto e gerenciamento de qualquer projeto.

Agilidade & Cia. Engº Adail Muniz Retamal. adail@heptagon.com.br

Ágil. Rápido. Métodos Ágeis em Engenharia de Software. Introdução. Thiago do Nascimento Ferreira. Introdução. Introdução. Introdução.

Núcleo de Materiais Didáticos

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Gerenciamento de Equipes com Scrum

Agilidade parte 3/3 - Scrum. Prof. Dr. Luís Fernando Fortes Garcia luis@garcia.pro.br

Metodologias de PETI. Prof. Marlon Marcon

Gerenciamento de Projetos de Software

A Implantação do Sistema do Sistema da Qualidade e os requisitos da Norma ISO NBR 9001:2000

development Teresa Maciel DEINFO/UFRPE

Projeto para Implantação de um Novo Curso de Mestrado em uma Instituição de Ensino Superior.

Contratualização de Resultados

Sessão de visão comum CABO VERDE. Cabo Verde Maio/2010

Manifesto Ágil - Princípios

O que é um banco de dados? Banco de Dados. Banco de dados

Gestão de Projetos com Scrum

Por que o Scrum? o Foco na Gerência de Projetos; o Participação efetiva do Cliente.

Cursos para turbinar a sua carreira profissional

RUP Rational Unified Proccess (Processo Unificado da Rational) Equipe WEB Cercomp

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Plano de Cargos, Carreiras e Salários CONTROLE DE REVISÕES

Ciclo de vida do software

É POSSÍVEL SER ÁGIL EM PROJETOS DE HARDWARE?

UNIVERSIDADE FEDERAL DO PARANÁ - UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

Exercícios 2ª Avaliação

SCRUM. Otimizando projetos. Adilson Taub Júnior tecproit.com.br

Métricas de Software

Análise comparativa entre a engenharia de requisitos e o método de desenvolvimento ágil: Scrum

PSP: Personal Software Process. PSP- Personal Software Process. PSP: Personal Software Process. PSP: Personal Software Process

ENGENHARIA DE SOFTWARE

POLÍTICA DE RESPONSABILIDADE SOCIOAMBIENTAL - PRSA

Desenvolvimento Ágil sob a Perspectiva de um ScrumMaster

TS03. Teste de Software ESTÁGIOS DO TESTE DE SOFTWARE. COTI Informática Escola de Nerds

PROGRAMA PROREDES BIRD RS TERMO DE REFERÊNCIA PARA CONTRATAÇÃO DE CONSULTORIA INDIVIDUAL ESPECIALIZADA EM ANÁLISE DE SISTEMAS NA ÁREA DA EDUCAÇÃO

1. OBJETIVO Estabelecer diretrizes para elaboração e controle dos documentos e registros do Sistema de Gestão da Qualidade (SGQ).

2. Processos em Engenharia de Software

Tipos de Indicadores. Conceito. O que medir... 25/08/2016

UTILIZAÇÃO DAS METODOLOGIAS ÁGEIS XP E SCRUM PARA O DESENVOLVIMENTO RÁPIDO DE APLICAÇÕES

Metodologia Scrum e TDD Com Java + Flex + Svn Ambiente Eclipse

Sistemas de Informação e Programação II Odorico Machado Mendizabal

Gestão de Processos. Tópico 4. Ferramentas de Qualidade: PDCA

Metodologias Ágeis. Gerenciando e Desenvolvendo Projetos de forma eficiente. Gabriel Verta Rafael Reimberg Vinicius Quaiato

Fundamentos de Teste de Software

EDMS: conceito básico

Transcrição:

Scrum e Extreme Programming CODEX

Sumário Objetivo 3 Scrum 4 Papéis de Atuação 4 Eventos do Scrum 5 Artefatos do Scrum 5 Porque Scrum? 5 Extreme Programming 6 Práticas do Extreme Programming 6 Porque XP? 7 Funções/Atribuições 8

Objetivo Este documento apresenta as metodologias utilizadas no processo produtivo CODEX. Como base, utilizamos a metodologia ágil Scrum e Extreme Programming.

Scrum A proposta do Scrum é fornecer subsídios para o gerenciamento de atividades muitas vezes complexas, porém de uma forma flexível e que facilite a adaptação do projeto diante das inevitáveis mudanças. São três as ideias principais em que a metodologia Scrum se ampara: Transparência: Consenso entre o grupo participante do projeto, os termos do negócio regras e outros. Inspeção: A verificação contínua do que é produzido é fator determinante para que se tenha a certeza de que o projeto caminha dentro do estipulado, bem como para diagnosticar desvios indesejáveis e atuar de forma corretiva sobre estes últimos. Adaptação: A flexibilidade diante de mudanças. Não serão raras as ocasiões em que alterações em demandas de clientes ou ainda, regulamentações governamentais e de ordem setorial, acarretarão desvios de rotas pré-estabelecidas. Como outros métodos ágeis, Scrum é uma metodologia que prima pelo desenvolvimento iterativo e incremental de software. Em termos práticos, isto significa que ciclos contendo um conjunto de específico de atividades são repetidos continuamente ao longo de um projeto; por incremental, deve-se ter em mente a idéia de sucessivas entregas de funcionalidade, acrescentando aquilo que se espera do software em intervalos constantes de tempo. Papéis de Atuação Product Owner: representante da área cliente/solicitante definir prioridades; Scrum Master: o líder que gerenciará o projeto- garante que a equipe siga de maneira adequada o scrum; Equipe de Desenvolvimento/Time: os profissionais responsáveis pela criação do produto esperado. Além dos três papéis já descritos, certamente também existirão envolvidos com o projeto, mas que não desempenham um papel direto na sua execução. Estes elementos podem englobar usuários, gerentes, diretores ou departamentos que possuem interesses ( stakeholders ).

Eventos do Scrum São possíveis dentro de Scrum os seguintes eventos: Reunião de Planejamento da Sprint: definir prioridades das funcionalidades a serem implementadas. Reunião Diária: O que já foi realizado antes da reunião e o que ainda será realizado. Revisão da Sprint: Entrega do software funcionando (conforme definido pela metodologia). Retrospectiva da Sprint: Nesta discussão aborda-se o que deu certo e aquilo que falhou, além de se estudarem formas para se melhorar num próximo ciclo (Sprint). Artefatos do Scrum Product Backlog é uma listagem que contempla todas as funcionalidades desejadas para o software que se está implementando. Sprint Backlog é uma relação de tarefas elaborada pelo Time de Desenvolvimento durante a segunda etapa da Reunião de Planejamento da Sprint. Porque Scrum? Facilidade de adaptação: O controle de processos empíricos e a entrega iterativa fazem com que os projetos sejam adaptáveis e abertos à incorporação de mudanças. Permite um feedback contínuo fornecido através de processos denominados como a Reunião Diária e a Sprint Review. O Scrum, por ser uma metodologia ágil e ter uma estrutura de colaboração permite que os times multifuncionais atinjam o seu pleno potencial e alta velocidade que é o que todos almejam.

Extreme Programming O Extreming Programming (XP) tem muita semelhança com SCRUM em termos de valores e modelo de desenvolvimento de projetos, ou seja, como desenvolver projetos que possam abraçar as incertezas de forma mais seguras. No entanto, esses dois métodos também são complementares, visto que SCRUM é mais como um framework gerencial. O XP desenvolve menos esses aspectos e foca mais em práticas de engenharia. Práticas do Extreme Programming Pair Programming: Quando duas pessoas trabalham em uma única máquina. Um colaborador codifica e o outro faz sugestões pertinentes, trocando de funções em determinado momento. Essa troca garante uma comunicação mais fácil, garantindo maior produtividade e um projeto de alta qualidade. Projeto simples:design simples e que permite a realização de testes. Essa prática garante que a criação em excesso de generalizações dentro do código fonte seja evitada e prepara o sistema para possíveis mudanças. Teste: Cada funcionalidade de um projeto possui um teste antes de ser codificado, isso garante que não exista retrabalho entre os colaboradores e mantém a qualidade dos projetos. Refatoração: É a mudança e melhoria do código, sem que seu comportamento e sua funcionalidade sejam alterados. Propriedade coletiva: Qualquer colaborador pode modificar códigos e mexer em todas as partes do projeto. Isso garante que, caso alguém saia da equipe, o projeto não seja prejudicado. Interação contínua: Os códigos são integrados e testados constantemente, para caso algum problema for detectado, seja corrigido imediatamente. Cliente presente: O cliente deve estar presente para aprovação, definição de prioridade e auxiliar no desenvolvimento do projeto. Semana de 40 horas: Evita-se trabalhar mais de 40 horas semanais, visando o bemestar da equipe para manter o projeto em alta qualidade. Padrões de código: O fato de todos os colaboradores participarem de todos os processos requer que um padrão na codificação seja mantido. Metáfora: Uma linguagem comum garante que o entendimento de ideias seja simplificado, o intuito é que ideias complexas sejam passadas de forma simples.

Reunião diária: Nela se discutem o que foi feito anteriormente, o que está sendo feito no dia atual e o que ainda tem que ser feito. Porque XP? As chances de erros são menores com o método XP O método Extreme programming (XP) trabalha com prevenção de erros para agilizar o desenvolvimento. Fazendo com que a equipe fique mais unida, o XP aplica métodos como pair programming (programação em pares), onde um desenvolvedor digita o código enquanto o outro observa se ocorrem erros simples, analisa o funcionamento e avisa o companheiro caso tenha alguma sugestão. O cliente fica mais satisfeito Entregar uma versão básica funcional do programa para o cliente já deixa ele mais satisfeito, mas acompanhar os processos de perto faz com que ele fique maravilhado com o desenvolvimento e dê mais valor à sua equipe. Ter o poder de recomendar funcionalidades que são necessárias e vê-las entregues é o suficiente para melhorar qualquer relacionamento com seus clientes.

Funções/Atribuições Renan Felipe Philip Ramon Mateus Joanderson Matheus Vinícius Scrum Master Equipe de Desenvolvimento Product Owner Equipe de Desenvolvimento Gerente de projeto Gerente de Designer Analista de Testes Analista de Testes Programador Backend Programador Frontend Programador Backend Programador Backend