Engenharia de Software 100% Ágil

Tamanho: px
Começar a partir da página:

Download "Engenharia de Software 100% Ágil"

Transcrição

1 Engenharia de Software 100% Ágil SCRUM, FDD e XP Rildo F Santos blog: Versão Versão 4 6 RFS Todos os direitos reservados e protegidos 2006 e 2010

2 Sobre o autor: Rildo F. Santos Coach e Consultor de Gestão de Negócios, Inovação e Tecnologia para a Gestão 2.0, a Gestão Ágil. A Gestão Ágil ajuda as empresas a responder mais rápido as demandas de negócio e mudanças. A Gestão 2.0, abrange Planejamento Estratégico, Gestão por Processos Ágeis, Gestão de Projetos Ágeis, Tecnologia da Informação (Métodos Ágeis), Inovação e Liderança. Minha Experiência: Tenho mais de horas de experiência em Gestão de Negócios, Gestão de Inovação, Governança e Engenharia de Software. Formado em Administração de Empresas, Pós-Graduado em Didática do Ensino Superior e Mestre em Engenharia de Software pela Universidade Mackenzie. Fui instrutor de Tecnologia de Orientação a Objetos, UML e Linguagem Java na Sun Microsystems e na IBM. Conheço Métodos Ágeis (SCRUM, Lead, FDD e XP), Arquitetura de Software, SOA (Arquitetura Orientado a Serviço), RUP/UP - Processo Unificado, Business Intelligence, Gestão de Risco de TI entre outras tecnologias. Sou professor de curso de MBA da Fiap e fui professor de pós-graduação da Fasp e IBTA. Possuo fortes conhecimentos de Gestão de Negócio (Inteligência de Negócio, Gestão por Processo, Inovação, Gestão de Projetos e GRC - Governance, Risk and Compliance), SOX, Basel II e PCI; E experiência na implementação de Governança de TI e Gerenciamento de Serviços de TI. Conhecimento dos principais frameworks e padrões: ITIL, Cobit, ISO e ISO 15999; Desempenhei diversos papéis como: Estrategista de Negócio, Gerente de Negócio, Gerente de Projeto, Arquiteto de Software, Projetista de Software e Analista de Sistema em diversos segmentos: Financeiro, Telecomunicações, Seguro, Saúde, Comunicação, Segurança Pública, Fazenda, Tecnologia, Varejo, Distribuição, Energia e Petróleo e Gás. Possuo as certificações: CSM - Certified SCRUM Master, CSPO - Certified SCRUM Product Owner, SUN Java Certified Instrutor, ITIL Foundation e sou Instrutor Oficial de Cobit Foundation e Cobit Games; Sou membro do IIBA-International Institute of Business Analysis (Canada) Onde estou: Twitter: Blog: Todos os direitos reservados e protegidos 2006 e

3 Comentário inicial: Engenharia de Software Ágil, ainda falta algo... Para desenvolver um software (ou produto), os métodos ágeis são altamente recomendáveis e já descobrimentos que podemos usar diversos métodos juntos. O Scrum pode ser utilizado para a Gestão de Projetos. Contudo, ele não faz abordagem sobre a engenharia de software. O FDD pode ser utilizado para Engenharia de Software: Requisitos de Software e também para arquitetura. Mas, será que faltou algo? SIM, FALTOU! Você ainda não é 100% Ágil... > E a codificação, testes, patterns, refactoring 1...O quê podemos usar? Nesta apresentação vamos responder como usar XP, que é método ágil, para o desenvolvimento de software (codificação, testes e refactoring). Todos os direitos reservados e protegidos 2006 e

4 Engenharia de Software Ágil? SCRUM Gestão de Projetos FDD Requisitos de Software E a codificação e os testes do software? Não somos 100% Ágeis Todos os direitos reservados e protegidos 2006 e

5 Engenharia de Software Ágil? Ciclo de Desenvolvimento de Software na Visão Ágil Práticas de Engenharia de Software Ágeis? Todos os direitos reservados e protegidos 2006 e

6 Engenharia de Software Ágil? SCRUM Gestão de Projetos FDD Requisitos de Software Agora sim % Ágil XP desenvolvimento de Software Todos os direitos reservados e protegidos 2006 e

7 Engenharia de Software Ágil: Qual o papel de cada um? Engenharia de Software 100% Ágil: O SCRUM é utilizado para a Gestão de Projetos. Já para as práticas de Enegnharia de Software utilizamos o FDD (requisitos de software e arquitetura) e as Práticas XP para desenvolvimento de software (codificação, testes e refactoring). Todos os direitos reservados e protegidos 2006 e

8 Sobre SCRUM: Se você já conhece o SCRUM, pule esta parte Todos os direitos reservados e protegidos 2006 e

9 O que é o SCRUM? The New, New Product Development Game TimeBoxes Iterative, Incremental Development O que é SCRUM? SCRUM é um processo iterativo e incremental para desenvolvimento de qualquer produto ou gerenciamento de qualquer trabalho... SmallTalk Engineering Tools SRUM é: Processo empírico de gerenciamento e controle. - Faz a inspeção e adaptação em loops de feedback - Faz entrega de valor ao cliente em até 30 dias; - Escalável para suportar grandes projetos - Compatível com CMM3 e ISO Extremamente simples, mas muito resistente... Valores do Scrum:: - Transparência -Integridade: assim que perceber algo, faça algo - Ser empírico - Auto-organização - Entrega de valor Todos os direitos reservados e protegidos 2006 e

10 O coração do SCRUM Legenda: Cerimônias Planejamento da Sprint Revisão da Sprint Retrospectiva da Sprint artefatos Reunião diária 24 horas Visão Produto Backlog Sprint Backlog 2-4 Semanas Produto Papéis Cerimônias Artefatos Product Owner (PO) ScrumMaster (SM) Equipe Scrum Planejamento da Sprint Reunião Diária Revisão da Sprint Retrospectiva da Sprint Product Backlog Sprint Backlog Burndown (gráfico) Burndown Todos os direitos reservados e protegidos 2006 e

11 ROAD MAP do SCRUM Visão do Produto Product Backlog Planejamento da Sprint Selected Product Backlog Sprint Backlog Tarefas da Sprint Product Onwer ajuda facilita SCRUM Master Reunião diária Equipe facilita facilita Execução da Sprint Produto Retrospectiva da Sprint Revisão da Sprint Todos os direitos reservados e protegidos 2006 e

12 Papéis O SCRUM tem somente três papéis: Product Onwer (PO), SCRUM Master (SM) e a equipe SCRUM. Product Owner, responsável por: - Definir a Visão do Produto - Elaborar e manter o Product Backlog - Definir a prioridade e ROI; - Representar o cliente - Aceitar ou rejeitar os entregáveis SCRUM Master é responsável por: - Ser um líder (servidor); - Remover impedimentos; - Proteger a equipe; - Ajudar o PO (com Product Backlog); - Ser o facilitador da equipe; - Garantir as práticas SCRUM. Equipe SCRUM é responsável por: - Fazer estimativa; - Definir as tarefas; - Desenvolver o produto; - Garantir a qualidade do produto; - Apresentar o produto ao cliente Equipe: auto-gerenciável e multifuncional Todos os direitos reservados e protegidos 2006 e

13 A Equipe e Comprometimento: Envolvidos Comprometidos Stakeholders (clientes e usuários finais) Product Onwer Equipe SCRUM Master Todos os direitos reservados e protegidos 2006 e

14 TimeBox e Sprint O que é Timebox? É um conceito diz que a quantidade de tempo (horas ou dias) é imutável, ou seja, a quantidade de horas não poderá aumentar. Assim, evita-se atraso no prazo de entrega e facilita o planejamento. Entretanto, quanto se erra a estimativa de tempo (leia-se: horas ou dias) de uma Sprint (leia-se: iteração), neste caso é recomendável reduzir o escopo da Sprint, desde que não afete a meta da Sprint (isto é discutido um mais a frente) ao invés de aumentar a quantidade de horas/dias. Timebox = Um prazo ou tempo (dias/horas por exemplo) bem definido e imutável. O que é uma Sprint? É uma iteração (que pode ser parte de uma release) que deve ser realizada de 2 a 4 semanas, no qual a equipe do projeto deverá produzir um entregável de valor para o cliente (lembre-se do dos Princípios do Manifesto Ágil). A entrega de valor é a meta da Sprint que deverá esta bem definida e combinada com o cliente, antes do começo da execução da Sprint. O conceito de Timebox é aplicado a Sprint. O conceito de timebox é aplicado as cerimônias (reuniões) do Scrum. Todas as reuniões são Timeboxed: - Reunião de Planejamento da Sprint (8 horas) - Reunião Diária (15 minutos) - Reunião de Revisão da Sprint (4 horas*) - Reunião de Retrospectiva da Sprint (3 horas*) Nota: * A quantidade de horas pode variar de acordo com a necessidade (por exemplo, apresentação do que será entregue ao cliente) ou aquilo que será discutido/debatido, neste caso a Retrospectiva ela poderá variar entre 1 a 3 horas Todos os direitos reservados e protegidos 2006 e

15 Desenvolvimento Iterativo e Incremental: Entrega 1 Entrega 2 Entrega 3 Incremental Iterativo Devido a complexidade, tamanho, mudanças de requisitos, urgência e necessidade de demonstrar valor mais rápido, fica quase inconcebível desenvolver software utilizado o modelo cascata, ou seja desenvolver todo o software de uma única vez. Desenvolvimento Iterativo e incremental é uma estratégia de planejamento (que segue a linha dividir para conquistar ), onde o software é construído em partes, ou seja, em ciclos (iterações), a cada iteração é feito um novo incremento (parte do software funcional) até completar o software. Todos os direitos reservados e protegidos 2006 e

16 Planejamento no SCRUM, O Planehamento Ágil : Cebola do Planejamento Todos os direitos reservados e protegidos 2006 e

17 Product Backlog: O que é Product Backlog? É uma lista contendo todas as funcionalidades desejadas para um produto. O produto deve ter somente um Product Backlog (PB) independente número de equipes que está trabalhando no projeto. PB poderá ser criado de diversas maneiras: - Com Estórias de Usuário, Com Casos de Uso ou Com Features (funcionalidades de produto). Exemplo de Product Backlog: Sistema de Reserva On-Line Product Owner Product Owner (PO), é responsável por elaborar e manter Product Backlog atualizado, bem como priorizar seus itens. Todos os direitos reservados e protegidos 2006 e

18 Cerimônias: Participantes: PO, Equipe e SCRUM MASTER Reunião de Planejamento da Sprint (8 horas) Esta reunião é primeira reunião, seu objetivo é fazer o planejamento da Sprint. Ela é dividida em duas partes.na primeira parte o PO definirá prioridade, seleção dos itens do backlog e meta da Sprint. Na segunda parte a equipe definirá a Sprint Backlog (que são as tarefas necessárias para cumprir a meta). Participantes: Equipe e SCRUM MASTER Reunião Diária (15 minutos) Nesta reunião somente membros da equipe devem participar. A duração dela é de 15 minutos. As pessoas fazem a reunião de pé. O objetivo desta reunião é fazer que as pessoas respondam 3 questões: - O que eu fiz ontem? - O que vou fazer hoje? - Encontrei algum impedimento? Participantes: PO, Equipe e SCRUM MASTER Revisão da Sprint (4 horas*) Esta reunião acontece no final da Sprint, opcionalmente outras pessoas podem ser convidadas (se necessário). O objetivo da reunião é apresentar o que a equipe fez durante a Sprint e fazer a entrega do produto (software funcionando) para o PO. (Normalmente é apresentado uma demo do software). Geralmente ela é feita em um auditório ou em uma sala de reunião Participantes: Equipe e SCRUM MASTER Retrospectiva da Sprint (3 horas*) Esta reunião acontece logo após a Revisão da Sprint. O objetivo dela é avaliar o que deu certo e que deu errado durante a Sprint, e fazer os ajustes possíveis para a próxima Sprint, ou seja, o ciclo de melhoria contínua. Todos os direitos reservados e protegidos 2006 e

19 Engenharia de Software Ágil? Se você já conhece o FDD, pule esta parte Todos os direitos reservados e protegidos 2006 e

20 O que é o FDD (Feature Driven Development)? Feature Driven Development (Desenvolvimento Guiado por Funcionalidades) é uma metodologia ágil para gerenciamento e desenvolvimento de software. Ela combina as melhores práticas do gerenciamento ágil de projetos com uma abordagem completa para Engenharia de Software orientada por objetos, conquistando os três principais públicos de um projeto de software: - Clientes, - Gerentes, -Desenvolvedores. - Seus princípios e práticas proporcionam um equilíbrio entre as filosofias tradicionais e as mais extremas, proporcionando uma transição mais suave para organizações mais conservadoras, e a retomada da responsabilidade para as organizações que se desiludiram com as propostas mais radicais. O lema da FDD é: "Resultados freqüentes, tangíveis e funcionais." O FDD foi criada em 1997 num grande projeto em Java para o United Overseas Bank, em Singapura. Nasceu a partir da experiência de análise e modelagem orientadas por objetos de Peter Coad, e de gerenciamento de projetos de Jeff De Luca. Foi inicialmente publicada em 1999, no capítulo 6 do livro "Java Modeling in Color with UML", de Peter Coad, Eric Lefebvre e Jeff De Luca. Em 2002, Stephen Palmer (gerente de desenvolvimento do projeto em Singapura) e John Mac Felsing (arquiteto senior na TogetherSoft) publicaram o livro "A Practical Guide to Feature Driven Development", com a versão completa, atualizada e comentada da metodologia. Em 2003, David Anderson, que foi o especialista em interface com o usuário, no projeto de Cingapura, publicou um marco na literatura Ágil, "Agile Management for Software Engineering: Using the Theory of Constraints for Business Results", onde oferece uma análise profunda sobre a FDD (entre outras metodologias), além de material inédito sobre a FDD. Todos os direitos reservados e protegidos 2006 e

21 FDD (Feature Driven Development) Todos os direitos reservados e protegidos 2006 e

22 O que é o FDD (Feature Driven Development)? A FDD é uma metodologia muito objetiva. Possui apenas duas fases: - Concepção & Planejamento: Pensar um pouco antes de fazer (tipicamente de 1 a 2 semanas) - Construção: Fazer de forma iterativa (tipicamente em iterações de 2 semanas) Os cinco processos são bem definidos e integrados: DMA (Desenvolver um Modelo Abrangente): Análise Orientada por Objetos CLF (Construir a Lista de Funcionalidades): Decomposição Funcional PPF (Planejar por Funcionalidade): Planejamento Incremental DPF (Detalhar por Funcionalidade): Desenho (Projeto) Orientado por Objetos CPF (Construir por Funcionalidade): Programação e Teste Orientados por Objetos A FDD chama a atenção por algumas características peculiares: - Resultados úteis a cada duas semanas ou menos - Blocos bem pequenos de funcionalidade valorizada pelo cliente, chamados "Features" - Planejamento detalhado e guia para medição - Rastreabilidade e relatórios - Monitoramento detalhado dentro do projeto, com resumos de alto nível para clientes e gerentes, tudo em termos de negócio - Fornece uma forma de saber, dentro dos primeiros 10% de um projeto, se o plano e a estimativa são sólidos Todos os direitos reservados e protegidos 2006 e

23 Os Processos A FDD é, classicamente, descrita por cinco processos: DMA - Desenvolver um Modelo Abrangente: pode envolver desenvolvimento de requisitos, análise orientada por objetos, modelagem lógica de dados e outras técnicas para entendimento do domínio de negócio em questão. O resultado é um modelo de objetos (e/ou de dados) de alto nível, que guiará a equipe durante os ciclos de construção. CLF - Construir uma Lista de Funcionalidades: decomposição funcional do modelo do domínio, em três camadas típicas: áreas de negócio, atividades de negócio e passos automatizados da atividade (funcionalidades). O resultado é uma hierarquia de funcionalidades que representa o produto a ser construído (também chamado de product backlog, ou lista de espera do produto). PPF - Planejar por Funcionalidade: abrange a estimativa de complexidade e dependência das funcionalidades, também levando em consideração a prioridade e valor para o negócio/cliente. O resultado é um plano de desenvolvimento, com os pacotes de trabalho na seqüência apropriada para a construção. DPF - Detalhar por Funcionalidade: já dentro de uma iteração de construção, a equipe detalha os requisitos e outros artefatos para a codificação de cada funcionalidade, incluindo os testes. O projeto para as funcionalidades é inspecionado. O resultado é o modelo de domínio mais detalhado e os esqueletos de código prontos para serem preenchidos. CPF - Construir por Funcionalidade: cada esqueleto de código é preenchido, testado e inspecionado. O resultado é um incremento do produto integrado ao repositório principal de código, com qualidade e potencial para ser usado pelo cliente/usuário. Todos os direitos reservados e protegidos 2006 e

24 Visão da Arquitetura: Apresentação (Visões e Controladores de Interface) Negócio (Domínio do Problema) Persistência Interface com outros sistemas Todos os direitos reservados e protegidos 2006 e

25 Sobre UML Color UML Color é um conjunto de quatro cores associadas a UML (Unified Modeling Language). O sistema de coloração indica quais vários arquétipos se aplicam ao objeto UML. UML tipicamente identifica um estereótipo com um comentário entre parênteses, para cada objeto que identifica se é uma classe, interface, etc. Estas cores foram pela primeira vez sugerida por Peter Coad, Eric Lefebvre e Jeff De Luca em uma série de artigos no The Letter Coad e posteriormente publicado em seu livro Java Modeling em cores com UML. Ao longo de centenas de modelos de domínio, ficou claro que quatro grandes "tipos" de classes apareceu de novo e de novo - apenas um nome diferente para se adequar ao domínio. Estes eram chamados de arquétipos (depois de muita discussão), que serve para transmitir que as classes de um arquétipo dado seguem mais ou menos da mesma forma. Isto é, atributos, métodos, associações e interfaces são bastante semelhantes entre as classes de um determinado arquétipo. Ao tentar classificar um determinado domínio de classe, tipicamente uma pergunta sobre os padrões de cor, nesta ordem: Rosa: momento, intervalo - Será que representam um momento ou intervalo de tempo? Um exemplo seria um objeto que armazena temporariamente as informações de login durante o processo de Autenticação. Amarelo - papéis - É uma maneira de participar de uma atividade (por qualquer pessoa, lugar ou coisa)? Assinatura em um sistema como um administrador, que muda o comportamento do programa, exigindo uma senha que contas de convidado não, é um exemplo. Azul - Descrição - É simplesmente uma descrição do catálogo-como a que classifica ou objeto 'rótulos Um? Se os usuários do sistema são rotulados com base no departamento de uma empresa em que trabalham dentro e isso não muda a forma como o sistema se comporta, isso seria uma descrição. Verde - parte, lugar ou coisa - algo tangível, unicamente identificável. Normalmente, se você passar a três perguntas acima e acabam por aqui, sua classe é um verde ". O usuário do sistema e as sub-seções do sistema são todos os que visitam PPTs. Todos os direitos reservados e protegidos 2006 e

26 Exemplo: UML em cores: Todos os direitos reservados e protegidos 2006 e

27 As disciplinas envolvidas: Gestão Ágil de Projetos Fonte: Adail Muniz Retamal - Todos os direitos reservados e protegidos 2006 e

28 Engenharia de Software Ágil: XP XP desenvolvimento de Software Todos os direitos reservados e protegidos 2006 e

29 Engenharia de Software Ágil: XP A Programação extrema (XP, do inglês extreming Programming) é um método ágil para o processo de desenvolvimento de software ágil e iterativa. O método XP propõe um processo leve, centrado no desenvolvimento iterativo e com a entrega constante de pequenas partes da funcionalidade do software. O primeiro projeto XP foi feito em março de Todos os direitos reservados e protegidos 2006 e

30 Engenharia de Software Ágil: XP (Extreme Programming) - Programação extrema: Desenvolvendo Software com Qualidade e Agilidade O XP é uma técnica revolucionária de desenvolvimento de software que se opõe a uma série de premissas adotadas pelos métodos tradicionais de engenharia de software. XP consiste numa série de práticas e regras que permitem aos programadores desenvolver software de alta qualidade de uma forma dinâmica e ágil. A metodologia se baseia nas seguintes práticas (2000): Jogo do Planejamento Versões Pequenas Metáfora Projeto Simples Desenvolvimento Orientado por Testes Testes dos Clientes Refatoração Programação Pareada Propriedade Coletiva do Código Integração Contínua e Freqüente Ritmo Sustentável Cliente com os desenvolvedores Padrão de Código Todos os direitos reservados e protegidos 2006 e

31 Engenharia de Software Ágil: XP Comentários sobre algumas práticas: Jogo de Planejamento (Planning Game): O desenvolvimento é feito em iterações semanais. No início da semana, desenvolvedores e cliente reúnem-se para priorizar as funcionalidades. Essa reunião recebe o nome de Jogo do Planejamento. Nela, o cliente identifica prioridades e os desenvolvedores as estimam. O cliente é essencial neste processo e assim ele fica sabendo o que está acontecendo e o que vai acontecer no projeto. Como o escopo é reavaliado semanalmente, o projeto é regido por um contrato de escopo negociável, que difere significativamente das formas tradicionais de contratação de projetos de software. Ao final de cada semana, o cliente recebe novas funcionalidades, completamente testadas e prontas para serem postas em produção. Pequenas Versões (Small Releases): A liberação de pequenas versões funcionais do projeto auxilia muito no processo de aceitação por parte do cliente, que já pode testar uma parte do sistema que está comprando. Metáfora (Metaphor): Procura facilitar a comunicação com o cliente, entendendo a realidade dele. O conceito de rápido para um cliente de um sistema jurídico é diferente para um programador experiente em controlar comunicação em sistemas em tempo real, como controle de tráfego aéreo. É preciso traduzir as palavras do cliente para o significado que ele espera dentro do projeto. Projeto Simples (Simple Design): Simplicidade é um princípio da XP. Projeto simples significa dizer que caso o cliente tenha pedido que na primeira versão apenas o usuário "teste" possa entrar no sistema com a senha "123" e assim ter acesso a todo o sistema, você vai fazer o código exato para que esta funcionalidade seja implementada, sem se preocupar com sistemas de autenticação e restrições de acesso. Um erro comum ao adotar essa prática é a confusão por parte dos programadores de código simples e código fácil. Nem sempre o código mais fácil de ser desenvolvido levará a solução mais simples por parte de projeto. Esse entendimento é fundamental para o bom andamento do XP. Código fácil deve ser identificado e substituído por código simples. Todos os direitos reservados e protegidos 2006 e

32 Engenharia de Software Ágil: XP Comentários sobre algumas práticas: Testes de Aceitação (Customer Tests): São testes construídos pelo cliente e conjunto de analistas e testadores, para aceitar um determinado requisito do sistema. Ritmo Sustentável (Sustainable Pace): Trabalhar com qualidade, buscando ter ritmo de trabalho saudável (40 horas/semana, 8 horas/dia), sem horas extras. Horas extras são permitidas quando trouxerem produtividade para a execução do projeto. Outra prática que se verifica neste processo é a prática de trabalho energizado, onde se busca trabalho motivado sempre. Para isto o ambiente de trabalho e a motivação da equipe devem estar sempre em harmonia. Reuniões em pé (Stand-up Meeting): Reuniões em pé para não se perder o foco nos assuntos, produzindo reuniões rápidas, apenas abordando tarefas realizadas e tarefas a realizar pela equipe. Posse Coletiva (Collective Ownership): O código fonte não tem dono e ninguém precisa solicitar permissão para poder modificar o mesmo. O objetivo com isto é fazer a equipe conhecer todas as partes do sistema. Programação em Pares (Pair Programming): é a programação em par/dupla num único computador. Geralmente a dupla é formada por um iniciante na linguagem e outra pessoa funcionando como um instrutor. Como é apenas um computador, o novato é que fica à frente fazendo a codificação, e o instrutor acompanha ajudando a desenvolver suas habilidades. Desta forma o programa sempre é revisto por duas pessoas, evitando e diminuindo assim a possibilidade de defeitos. Com isto busca-se sempre a evolução da equipe, melhorando a qualidade do código fonte gerado. Padrões de Codificação (Coding Standards): A equipe de desenvolvimento precisa estabelecer regras para programar e todos devem seguir estas regras. Desta forma parecerá que todo o código fonte foi editado pela mesma pessoa, mesmo quando a equipe possui 10 ou 100 membros. Todos os direitos reservados e protegidos 2006 e

33 Engenharia de Software Ágil: XP Comentários sobre algumas práticas: Refatoração (Refactoring): É um processo que permite a melhoria continua da programação, com o mínimo de introdução de erros e mantendo a compatibilidade com o código já existente. Refabricar melhora a clareza (leitura) do código, divide-o em módulos mais coesos e de maior reaproveitamento, evitando a duplicação de código-fonte; Integração Contínua (Continuous Integration): Sempre que produzir uma nova funcionalidade, nunca esperar uma semana para integrar à versão atual do sistema. Isto só aumenta a possibilidade de conflitos e a possibilidade de erros no código fonte. Integrar de forma contínua permite saber o status real da programação. Todos os direitos reservados e protegidos 2006 e

34 Engenharia de Software Ágil: As NOVAS práticas XP (ou Regras) Todos os direitos reservados e protegidos 2006 e

35 Engenharia de Software Ágil: XP Os princípios fundamentais são: - Feedback rápido: Quanto mais demorado o feedback menor o aprendizado produzido por ele. - Simplicidade assumida: Desenvolver a solução mais simples que possa funcionar. Não construir complexidade desnecessária - Mudança incremental: Grandes mudanças tendem a não funcionar; os problemas são normalmente esolvidos com uma série de pequenas mudanças naquilo que faz diferença. - Aceitar mudanças: A mudança é inevitável. Ao invés de combater a mudança, aceitá-la como normal e saudável para o projeto. - Trabalho de qualidade: Todos gostam de fazer um trabalho de qualidade; se as pessoas que estão no projeto não gostam da qualidade do trabalho que estão fazendo, a tendência do projeto é fracassar. Todos os direitos reservados e protegidos 2006 e

36 Engenharia de Software Ágil: XP Além destes princípios fundamentais, existem outros que também são importantes: - Ensinar a aprender: Melhor do que um monte de frases doutrinárias, tais como "Você deve testar como XYZ...", devemos focar em ensinar estratégias de se aprender quanto teste deve ser feito; isto também vale para o refactoring de código, projeto, planejamento, etc. - Pequeno investimento inicial: Muito dinheiro logo no início do projeto não faz bem; a melhor abordagem é ter dinheiro o suficiente para começar e ir incrementando o orçamento conforme o retorno do investimento que vai sendo dado para o cliente. - Jogar para ganhar: Deve-se sempre jogar para ganhar, e não jogar para não perder. Jogar para ganhar significa fazer o que quer que seja necessário para obter sucesso no projeto, e nada que não ajude. - Experiências concretas: Antes de tomar decisões deve-se experimentar algumas alternativas. - Comunicação honesta e aberta: Falta de comunicação dentro da equipe prejudica o ambiente de trabalho e o projeto como um todo. Todos os direitos reservados e protegidos 2006 e

37 Engenharia de Software Ágil: XP Além destes princípios fundamentais, existem outros que também são importantes: - Trabalhar de acordo com o instinto das pessoas, e não contra ele: Pessoas gostam de fazer um bom trabalho, como elas gostam de comunicar-se e de aprender. Entender essas características naturais irá criar um time feliz e de sucesso. - Responsabilidade aceita: Pessoas que tomam tarefas para si irão fazer um trabalho melhor que aquelas que têm tarefas designadas a elas. A responsabilidade não deve ser imposta às pessoas, mas aceita por elas. - Adaptação local: Os costumes e práticas de desenvolvimento locais devem ser respeitados ao máximo quando da implantação da XP. - Viagem leve: Não carregue documentação que não seja essencial para o projeto; jogue fora tudo aquilo que não precisa mais. O código é a documentação mais atualizada. - Medição honesta: Medir sempre o desenvolvimento, mas nunca numa maneira que não seja suportada pelos instrumentos disponíveis, ou pela simples necessidade de haver mensuração. Todos os direitos reservados e protegidos 2006 e

38 Engenharia de Software Ágil: XP Dentre as variáveis de controle em projetos (custo, tempo, qualidade e escopo), há um foco explícito em escopo. Para isso, recomenda-se a priorização de funcionalidades que representem maior valor possível para o negócio. Desta forma, caso seja necessário a diminuição de escopo, as funcionalidades menos valiosas serão adiadas ou canceladas. Custo escopo Prazo Qualidade Todos os direitos reservados e protegidos 2006 e

39 Engenharia de Software Ágil: XP Práticas de programação: O processo de programação tem como características a programação em pares e a propriedade coletiva do código. Na programação em pares (em dupla), dois programadores ocupam um único computador. Embora, a princípio, isto possa ser visto como um desperdício de esforços, várias vantagens podem ser obtidas. Esta estratégia aumenta a qualidade do código e não altera o tempo de entrega, uma vez que haverá um ganho posterior nas etapas de retirada de erros (defeitos). Os dois programadores atuam de forma colaborativa. Enquanto o que está com o teclado e mouse está pensando diretamente na codificação (sintaxe, variáveis, fluxos de controle, etc.), o outro pode pensar estrategicamente em como o código irá interagir como outras partes do programa. Além disso, um atua com uma visão mais crítica corrigindo erros dos companheiros e pode pensar nas futuras mudanças e etapas posteriores. Isto permite que a tradicionalmente prática do codifica-e-conserta, criticada nas origens do desenvolvimento de software, possa ser realiza sem perda da qualidade do software. A propriedade coletiva do código é outra característica fundamental do método XP, com a rotatividade do código entre os programadores e reuniões freqüentes para estabilizar o código. A propriedade coletiva encoraja o time todo a contribuir com novas idéias. Qualquer membro do time pode adicionar funcionalidade, corrigir erros ou re-fabricar o código. Não existe a figura do arquiteto chefe. Todos são responsáveis pelo código inteiro. Não existe alguém para aprovar as mudanças. Reuniões freqüentes devem ser definidas como parte do processo iterativo de programação. Estas reuniões devem ser curtas e são realizadas com todos de pé (stand up meeting). Todos os direitos reservados e protegidos 2006 e

40 Engenharia de Software Ágil: XP Práticas de programação: (continuação) A prática do codifica-e-refactoring também requer um processo constante de teste de unidade e integração. Para isto funcionar bem, os desenvolvedores devem trabalhar com uma ferramenta de testes automático e um repositório coletivo do código fonte. Os desenvolvedores devem criar testes de unidades e liberar o código apenas quando estiver 100% testado. Uma vez no repositório, qualquer um pode fazer alterações e adicionar novas funcionalidades. Uma ferramenta de controle de versões é fundamental. O refactoring é uma atividade fundamental e necessária para o XP funcionar. Mesmo que o código esteja 100% testado, para viabilizar reuso, ele precisa ser revisto para remover redundâncias, retirar funcionalidades desnecessárias e modificar arquitetura obsoletas. O re-trabalho do código ao longo de todo o ciclo de vida reduz o tempo total de entrega do código e aumenta a qualidade do software produzido. Todos os direitos reservados e protegidos 2006 e

41 Engenharia de Software Ágil: XP em Detalhes Detalhes da Iteração Todos os direitos reservados e protegidos 2006 e

42 Engenharia de Software Ágil: XP em Detalhes Detalhes da Desenvolvimento Todos os direitos reservados e protegidos 2006 e

43 Engenharia de Software Ágil: XP em Detalhes Código: Propriedade Coletiva Todos os direitos reservados e protegidos 2006 e

44 Engenharia de Software Ágil: XP Planejamento e Feedback: Todos os direitos reservados e protegidos 2006 e

45 Engenharia de Software Ágil: XP RESUMO - Regras e Práticas: Planejando: Estórias do usuário Planejando liberações (releases) e pequenas liberações Dividir projetos em iterações (ciclos) Medindo velocidade do projeto Reuniões diárias em pé Projetando (designing): Simplicidade (não adicione funcionalidades antes do tempo) Metáfora Cartões CRC (Classes, Responsabilidades e Colaboração) Refactoring (refactor) Codificando: O cliente deve estar sempre disponível. Programação em pares. Codificar de acordo com padrões acordados. Codificar testes de unidade primeiro. Integrar com freqüência. O código é propriedade coletiva. Testando: Todo código deve ter os testes de unidade. Cada unidade deve ser testada antes de liberada. Quando um erro é encontrado, testes devem ser realizados. Testes de aceitação devem ser freqüentes. Todos os direitos reservados e protegidos 2006 e

46 Engenharia de Software Ágil? SCRUM Gestão de Projetos FDD Requisitos de Software Colocando tudo junto... XP desenvolvimento de Software Todos os direitos reservados e protegidos 2006 e

47 Colocando tudo junto: Scrum, FDD e XP Antes de falarmos sobre a Trilogia (SCRUM, FDD e XP). Precisamos esclarecer algumas coisas como: XP dá conta de todo ciclo de desenvolvimento de software (isto quer dizer sem a necessidade do Scrum e FDD). Contudo, para isto seja uma verdade a equipe tem que ter alta maturidade e experiências nas práticas XP. Você poderia questionar, por que precisamos utilizar os três, a trilogia. A resposta é simples: Ao usar dos três métodos ágeis, estaríamos utilizando o que cada um tem de melhor, assim podemos criar um robusto ciclo de desenvolvimento de software baseado nas práticas dos métodos ágeis. Todos os direitos reservados e protegidos 2006 e

48 Gerenciamento (SCRUM) e Engenharia de Software (FDD e XP) SCRUM XP FDD Todos os direitos reservados e protegidos 2006 e

49 Equipe: XP vs SCRUM Cliente / Product Onwer Desenvolvedores / Equipe 1,2 Manager / SCRUM Master 1 - (Desenvolvedores) / Equipe: São desenvolvedores, DBAs, Arquitetos, Analista de Testes, Web Designer e todas as pessoas necessárias para desenvolvimento do software. 2 - Team Empowerment Equipe empoderada / Equipe Comprometida ( pigs ). Todos os direitos reservados e protegidos 2006 e

50 Juntando o SCRUM, FDD e XP: A Engenharia de Software Ágil FDD Codificação Práticas XP: Testes Refactoring Todos os direitos reservados e protegidos 2006 e

51 Exemplos da A Engenharia de Software Ágil : 1 Utilizando o FDD para criar o Product Backlog 2 XP: Refactoring Todos os direitos reservados e protegidos 2006 e

52 FDD - FBS: Feature Breakdown Structure: 1 FBS (Feature BreakDown Structure) é uma prática para engenharia de requisito de software. FBS cria uma estrutura analista de funcionalidades, como estamos trabalhando com FDD, cada feature deve representar um item do Product Backlog Todos os direitos reservados e protegidos 2006 e

53 FDD - O Que é Feature? (Pela visão da FDD) Funcionalidade (ou característica): Pequena o suficiente para ser implementada no máximo em 01 iteração Oferece valor para o cliente 1 Mapeia passos em uma atividade de negócio: Pode ser um passo de um Caso de Uso (ou user stories) Às vezes pode ser o próprio Caso de Uso (ou user stories) Conceito muito próximo ao de um requisito funcional Modelo: < ação> <resultado> <objeto > - Liberar apartamento para locação - Calcular o total de uma nota fiscal - Autorizar uma transação com cartão - Emitir uma nota fiscal - Calcular total da conta do cliente - Imprimir o relatório para conferência Fonte: Adail Muniz Retamal - Todos os direitos reservados e protegidos 2006 e

54 FDD - Gerenciado ROI com Business Value Business Value será uma moeda de troca durante o projeto e o cliente empresta um determinado valor dessa moeda para a equipe e esta por sua vez, terá que devolver o valor correspondente em forma de software, ou seja, é uma dívida que a equipe assume com o cliente e que deverá ser amortizada a cada ciclo(sprint), até que a mesma seja totalmente liquidada (zerada). 1 Exemplo de Product BackLog baseado no FDD: Business Value Área de Negócio Item 100 Reserva Os clientes poderão fazer reserva de apartamento 50 Reserva Os clientes poderão cancelar a reserva 50 Reserva Os clientes poderão fazer alterações de data da reserva 40 Reserva Os cliente poderão fazer consulta de reservas 100 Reserva Criação de o Book de Reserva 80 Pagamento O meio de pagamento da reserva serão por cartão de crédito 60 Apartamento Os apartamentos deverão ser cadastros 40 Apartamento Os apartamentos são classificados por categoria 60 Cliente Precisamos registrar os dados dos clientes Todos os direitos reservados e protegidos 2006 e

55 As práticas XP (ou Regras): 2 Utilizaremos estas práticas (regras) do XP para o desenvolvimento de software. Opcionalmente também podemos considerar Refactor (Designing) Todos os direitos reservados e protegidos 2006 e

56 As práticas XP (ou Regras) 1 : Codificação: - Cliente sempre disponível; - Código devem ser escritos de acordo com padrões (Padronização do código); - Primeiro teste (unitário) o código; -Toda produção de código é feito através da programação pareada (em duplas); - Apenas um par faz integração código por vez; - A integração é frequente (Integração Contínua); - Computador configurado e dedicado para integração (Integração Contínua); - O código é de propriedade coletiva. 2 Testes: - Todos códigos devem ter testes unitários; - Todos códigos devem passar todos os testes unitários antes de serem liberados; - Quando um "bug" é encontrado testes são criados; - Testes Aceitação são frequentes e seus resultados ("scores") são publicados. Desingning: - Refatorar quando e sempre que possível. 1- Tradução livre Todos os direitos reservados e protegidos 2006 e

57 Detalhando algumas práticas XP: 2 Programação Pareada: É a programação em par (dupla) num único computador. Reduz o numero de bugs e equilibra a equipe. Propriedade Coletiva: O código-fonte não tem dono e ninguém precisa solicitar permissão para poder modificar o mesmo. O objetivo com isto é fazer a equipe conhecer todas as partes do sistema. Integração Contínua: Sempre que produzir uma nova funcionalidade, nunca esperar uma semana para integrar à versão atual do sistema. Testes: Podem ser de diversos tipos, tais como: de aceitação; que são criados pelos clientes junto com analistas, para determinar a aceitação da funcionalidade do sistema; TDD; Testes de Integração e outros; Refatoração: (Designing) É um processo que permite a melhoria continua da programação, com o mínimo de introdução de erros e mantendo a compatibilidade com o código já existente. Refabricar melhora a clareza do código, divide-o em módulos mais coesos e de maior reaproveitamento, evitando a duplicação de código fonte. Padronização do código: A equipe de desenvolvimento precisa estabelecer regras para programar e todos devem seguir estas regras. A código fonte final deve parecer ter sido feito por apenas um programador. Todos os direitos reservados e protegidos 2006 e

58 As práticas XP. Refactoring 1 : Acoplamento (Low Coupling) 2 É uma medida da interdependência relativa entre as classes. Depende da complexidade de interface entre as classes. Baixo acoplamento é o desejável, pois, ele favorece o Reúso. Como manter o baixo acoplamento? - Solução: Atribuir uma responsabilidade de forma que o acoplamento permaneça fraco Como suportar uma dependência baixa e aumentar o reúso? O acoplamento é uma medida de quão fortemente uma classe está ligada a uma ou mais classes, tem conhecimento das mesmas ou depende delas. Uma classe com acoplamento baixo (fraco) não é dependente de muitas classes. Uma classe com acoplamento alto (forte) depende de muitas outras classes. Tais classes são indesejáveis; elas sofrem dos seguinte problemas: - Mudança em classes relacionadas forçam mudanças locais; - Mais difícil de compreender isoladamente; - Mais difícil de reusar porque o seu uso requer a presença adicional das classes que ela depende. 1- Não apresentaremos código, somente os modelos UML Todos os direitos reservados e protegidos 2006 e

59 As práticas XP. Refactoring: 2 O problema: A classe Cliente realiza a interface ipessoa (isto quer dizes que todos os métodos assinados na interface deve ser implementado na classe) Uma vez que se declare uma nova assinatura de método na interface ipessoa será necessário implementar este novo método na classe Cliente. <<interface>> ipessoa Relacionamento de Realização Cliente A solução: Criação de nova classe PessoaAdapter (Design Patterns: Adapter) esta classe se relacionará com a interface ipessoa, desta forma todas as modificações ou novos implementações serão feitas nesta classe. Desta forma reduziremos o acoplamento entre a interface e a classe Cliente <<interface>> ipessoa Relacionamento de Realização PessoaAdapter Benefícios: Mudança na interface não afeta a classe cliente Facilita o reúso. Cliente Todos os direitos reservados e protegidos 2006 e

60 Conclusão Não temos como afirmar que a combinação destes métodos podem ser utilizados para todos projetos de software e que esses projetos terão sucesso. Cada equipe deve avaliar a possibilidade de utilizar a Engenharia de Software Ágil, de acordo com suas necessidades e experiência. Mas devemos experimentar a combinação dos métodos ágeis com o objetivo de usar as suas melhores práticas para gerar valor ao negócio (ao cliente). Todos os direitos reservados e protegidos 2006 e

61 Gostou? Gostou...Que saber mais, conhecer mais os métodos ágeis, como SCRUM, FDD e XP: Participe do nosso treinamento: Formação de Engenharia de Software Ágil Entre em contato: Formação Engenharia de Software Ágil As melhores práticas para o desenvolvimento de software ágil Conteúdo Programático Gestão de Projeto de desenvolvimento de Software com SCRUM (16 horas) - Ciclo de Produto (8 horas) : Papel do Product Onwer Visão do Produto Roadmap do Produto Plano de Release do Produto Product Backlog *Workshop do Produto e Requisitos - Ciclo do Processo (8 horas) Papel do SCRUM Master Papel da Equipe SCRUM Reunião de Planejamento: Estimativa Definição DoD Sprint Backlog Reuniões Diárias Impedimentos - Engenharia de Software com as práticas FDD+BDD e XP (8 horas) Ciclo do desenvolvimento da Sprint com práticas FDD, XP e BDD Revisão da Sprint (Revisão do produto da Sprint) Retrospectiva (Revisão do processo - Lições aprendidas) Implementação da Fábrica Ágil (8 horas) Planejamento da implementação da Fábrica Ágil Fatores críticos de sucesso Ferramentas, pessoas e processos Capacitação da equipe Carga horária: 32 horas Local: São Paulo Todos os direitos reservados e protegidos 2006 e

62 Referências e Créditos: FDD, Créditos: Adail Muniz Retamal - Manoel Pimentel Medeiros (Visão Ágil - XP: SCRUM: SCRUM Product Owner SCRUM Experience Todos os direitos reservados e protegidos 2006 e

63 Glossário e Referência (Refactoring): 1 Refactoring: Refatoração (do inglês Refactoring) é o processo de modificar um sistema de software para melhorar a estrutura interna do código sem alterar seu comportamento externo. O uso desta técnica aprimora a concepção (design) de um software e evita a deterioração tão comum durante o ciclo de vida de um código. Esta deterioração é geralmente causada por mudanças com objetivos de curto prazo ou por alterações realizadas sem a clara compreensão da concepção do sistema. Outra consequência é a melhora no entendimento do código, o que facilita a manutenção e evita a inclusão de defeitos. Esta melhora no entendimento vem da constante alteração do código com objetivo de facilitar a comunicação de motivações, intenções e objetivos por parte do programador. É fundamental que o sistema de software possua testes automatizados para realizar refatoração. Desta forma, será possível garantir a que o comportamento externo não foi alterado. O livro mais importante sobre refatoração é Refactoring: Improving the Design of Existing Code (ISBN ) de Martin Fowler, onde são explicados os conceitos, motivações e uma série de refatorações descritas passo a passo. Veja o livro no Google Books: Fonte: Todos os direitos reservados e protegidos 2006 e

64 Quer Mais? Gostou quer mais, gostaria de receber outros materiais sobre o mesmo tema e novas versões deste material... Envie um para com subject: Quero entrar na comunidade para que te enviaremos um convite para participar da nossa comunidade Todos os direitos reservados e protegidos 2006 e

65 Notas: Marcas Registradas: Todos os termos mencionados e reconhecidos como Marca Registrada e/ou comercial são de responsabilidade de seus proprietários. O autor informa não estar associada a nenhum produto e/ou fornecedor apresentado neste material. No decorrer deste, imagens, nomes de produtos e fabricantes podem ter sido utilizados, e desde já o autor informa que o uso é apenas ilustrativo e/ou educativo, não visando ao lucro, favorecimento ou desmerecimento do produto/fabricante. Melhoria e Revisão: Este material esta em processo constante de revisão e melhoria, se você encontrou algum problema ou erro envie um nós. Criticas e Sugestões: Nós estamos abertos para receber criticas e sugestões que possam melhorar o material, por favor envie um para nós. Imagens: Google, Flickr e Banco de Imagem. Rildo F dos Santos () Todos os direitos reservados e protegidos 2006 e

66 Licença: Todos os direitos reservados e protegidos 2006 e

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

Processo de Desenvolvimento de Software. Unidade V Modelagem de PDS. Luiz Leão luizleao@gmail.com http://www.luizleao.com Processo de Desenvolvimento de Software Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático desta aula Modelo Cascata (Waterfall) ou TOP DOWN. Modelo Iterativo. Metodologia Ágil.

Leia mais

Escrevendo Estórias do Usuário Eficazes aula #1

Escrevendo Estórias do Usuário Eficazes aula #1 Escrevendo Estórias do Usuário Eficazes aula #1 www.etcnologia.com.br (11) 9123-5358 (11) 9962-4260 Rildo F Santos twitter: @rildosan skype: rildo.f.santos http://rildosan.blogspot.com/ Versão Versão 5

Leia mais

Como criar, priorizar e manter o Product Backlog

Como criar, priorizar e manter o Product Backlog {apresentação} Workshop Como criar, priorizar e manter o Product Backlog www.etcnologia.com.br (11) 9123-5358 (11) 9962-4260 Rildo F Santos twitter: @rildosan skype: rildo.f.santos http://rildosan.blogspot.com/

Leia mais

Workshop. Workshop SCRUM. Rildo F Santos. rildo.santos@etecnologia.com.br. Versão 1 Ago 2010 RFS. www.etcnologia.com.br (11) 9123-5358 (11) 9962-4260

Workshop. Workshop SCRUM. Rildo F Santos. rildo.santos@etecnologia.com.br. Versão 1 Ago 2010 RFS. www.etcnologia.com.br (11) 9123-5358 (11) 9962-4260 Workshop www.etcnologia.com.br (11) 9123-5358 (11) 9962-4260 Rildo F Santos twitter: @rildosan skype: rildo.f.santos http://rildosan.blogspot.com/ Todos os direitos reservados e protegidos 2006 e 2010

Leia mais

SCRUM Experience. SCRUM Experience = Tutorial SCRUM. Rildo F Santos rildosan@uol.com.br rildo.santos@companyweb.com.br

SCRUM Experience. SCRUM Experience = Tutorial SCRUM. Rildo F Santos rildosan@uol.com.br rildo.santos@companyweb.com.br SCRUM Experience Rildo F Santos rildosan@uol.com.br rildo.santos@companyweb.com.br Twitter: http://twitter.com/rildosan Blog: http://rildosan.blogspot.com/ versão: 16 Rildo F. Santos, CSM, CSPO Tem mais

Leia mais

Governança de TI com melhores práticas COBIT, ITIL e BSC

Governança de TI com melhores práticas COBIT, ITIL e BSC {apresentação} Governança de TI com melhores práticas COBIT, ITIL e BSC www.etcnologia.com.br Rildo F Santos twitter: @rildosan skype: rildo.f.santos (11) 9123-5358 (11) 9962-4260 http://rildosan.blogspot.com/

Leia mais

Workshop SCRUM. Versão 5 Out 2010 RFS. rildo.santos@etecnologia.com.br

Workshop SCRUM. Versão 5 Out 2010 RFS. rildo.santos@etecnologia.com.br Todos os direitos reservados e protegidos 2006 e 2010 Objetivo: Estudo de Caso Objetivo: Apresentar um Estudo de Caso para demonstrar como aplicar as práticas do SCRUM em projeto de desenvolvimento de

Leia mais

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

Manifesto Ágil e as Metodologias Ágeis (XP e SCRUM) Programação Extrema Manifesto Ágil e as Metodologias Ágeis (XP e SCRUM) Prof. Mauro Lopes Programação Extrema Prof. Mauro Lopes 1-31 45 Manifesto Ágil Formação da Aliança Ágil Manifesto Ágil: Propósito

Leia mais

RESUMO PARA O EXAME PSM I

RESUMO PARA O EXAME PSM I RESUMO PARA O EXAME PSM I Escrito por: Larah Vidotti Blog técnico: Linkedin: http://br.linkedin.com/in/larahvidotti MSN: larah_bit@hotmail.com Referências:... 2 O Scrum... 2 Papéis... 3 Product Owner (PO)...

Leia mais

Desenvolvimento Ágil de Software

Desenvolvimento Ágil de Software Desenvolvimento Ágil de Software Métodos ágeis (Sommerville) As empresas operam em um ambiente global, com mudanças rápidas. Softwares fazem parte de quase todas as operações de negócios. O desenvolvimento

Leia mais

Workshop. Workshop SCRUM. Rildo F Santos. rildo.santos@etecnologia.com.br. Versão 1 Ago 2010 RFS. www.etcnologia.com.br (11) 9123-5358 (11) 9962-4260

Workshop. Workshop SCRUM. Rildo F Santos. rildo.santos@etecnologia.com.br. Versão 1 Ago 2010 RFS. www.etcnologia.com.br (11) 9123-5358 (11) 9962-4260 Workshop www.etcnologia.com.br (11) 9123-5358 (11) 9962-4260 Rildo F Santos twitter: @rildosan skype: rildo.f.santos http://rildosan.blogspot.com/ Todos os direitos reservados e protegidos 2006 e 2010

Leia mais

MÉTODO ÁGIL XP (EXTREME PROGRAMMING)

MÉTODO ÁGIL XP (EXTREME PROGRAMMING) MÉTODO ÁGIL XP (EXTREME PROGRAMMING) Luciano Malaquias de Souza* * RESUMO: Como o emprego dos métodos para desenvolvimento de software tem se tornado mais popular, existe uma grande demanda, pela industria,

Leia mais

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

Engenharia de Software I. Aula 15: Metodologias Ágeis. Prof. Márcio D. Puntel marcio@puntel.org Engenharia de Software I Aula 15: Metodologias Ágeis Prof. Márcio D. Puntel marcio@puntel.org Março - 2008 Antes... Manifesto Mudança de contratos Foco nas premissas... 2 Algumas metodologias Extreme Programming

Leia mais

Ideal para que tipo de empresa (equipe): pequena, média, grande? Em software onde os requisitos não são conhecidos é recomendado o uso do XP? Por quê?

Ideal para que tipo de empresa (equipe): pequena, média, grande? Em software onde os requisitos não são conhecidos é recomendado o uso do XP? Por quê? Significado de XP? Extreme Programming (Programação Extrema). Ideal para que tipo de empresa (equipe): pequena, média, grande? Pequenas e Médias. Em software onde os requisitos não são conhecidos é recomendado

Leia mais

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

SCRUM. É um processo iterativo e incremental para o desenvolvimento de qualquer produto e gerenciamento de qualquer projeto. SCRUM SCRUM É um processo iterativo e incremental para o desenvolvimento de qualquer produto e gerenciamento de qualquer projeto. Ken Schwaber e Jeff Sutherland Transparência A transparência garante que

Leia mais

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Organização da Informação Projeto Final. extreme Programming

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Organização da Informação Projeto Final. extreme Programming UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Organização da Informação Projeto Final extreme Programming Afonso Carvalho Felipe de Souza Rômulo de Brito Wesley Boaes Professora: Adriana Vivacqua NOVEMBRO 2011

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Curso de Sistemas de Informação Karla Donato Fook karladf@ifma.edu.br DESU / DAI 2015 Desenvolvimento Rápido de Software 2 1 Para quê o Desenvolvimento Rápido de Software? Os negócios

Leia mais

Metodologias Ágeis. Aécio Costa

Metodologias Ágeis. Aécio Costa Metodologias Ágeis Aécio Costa Metodologias Ágeis Problema: Processo de desenvolvimento de Software Imprevisível e complicado. Empírico: Aceita imprevisibilidade, porém tem mecanismos de ação corretiva.

Leia mais

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

Scrum Guia Prático. Raphael Rayro Louback Saliba Certified Scrum Master. Os papéis, eventos, artefatos e as regras do Scrum. Solutions. www.domain. Scrum Guia Prático Os papéis, eventos, artefatos e as regras do Scrum Solutions www.domain.com Raphael Rayro Louback Saliba Certified Scrum Master 1 Gráfico de Utilização de Funcionalidades Utilização

Leia mais

[Agile] Scrum + XP. Wagner Roberto dos Santos. Agilidade extrema. Arquiteto Java EE / Scrum Master wrsconsulting@gmail.com. Globalcode open4education

[Agile] Scrum + XP. Wagner Roberto dos Santos. Agilidade extrema. Arquiteto Java EE / Scrum Master wrsconsulting@gmail.com. Globalcode open4education [Agile] Scrum + XP Agilidade extrema Wagner Roberto dos Santos Arquiteto Java EE / Scrum Master wrsconsulting@gmail.com 1 Apresentação Arquiteto Java EE / Scrum Master Lead Editor da Queue Arquitetura

Leia mais

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

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas CMP1141 Processo e qualidade de software I Prof. Me. Elias Ferreira Sala: 210 F Quarta-Feira:

Leia mais

Após completar este módulo você deverá ter absorvido o seguinte conhecimento: Uma ampla visão do framework Scrum e suas peculiaridades

Após completar este módulo você deverá ter absorvido o seguinte conhecimento: Uma ampla visão do framework Scrum e suas peculiaridades Objetivos da Aula 1 Após completar este módulo você deverá ter absorvido o seguinte conhecimento: Uma ampla visão do framework Scrum e suas peculiaridades Entendimento sobre os processos essenciais do

Leia mais

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

SCRUM Gerência de Projetos Ágil. Prof. Elias Ferreira SCRUM Gerência de Projetos Ágil Prof. Elias Ferreira Métodos Ágeis + SCRUM + Introdução ao extreme Programming (XP) Manifesto Ágil Estamos descobrindo maneiras melhores de desenvolver software fazendo-o

Leia mais

METODOLOGIA ÁGIL. Lílian Simão Oliveira

METODOLOGIA ÁGIL. Lílian Simão Oliveira METODOLOGIA ÁGIL Lílian Simão Oliveira Fonte: Pressman, 2004 Aulas Prof. Auxiliadora Freire e Sabrina Schürhaus Alexandre Amorin Por quê???? Principais Causas Uso das Funcionalidades Processos empírico

Leia mais

Tópicos. Métodos Ágeis. Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Referências Bibliográficas.

Tópicos. Métodos Ágeis. Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Referências Bibliográficas. Métodos Ágeis Edes Garcia da Costa Filho edes_filho@dc.ufscar.br 1 Tópicos Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Extreme Programming (XP). Referências Bibliográficas. 2 Histórico

Leia mais

Gestão Ágil de Projetos com Scrum e FDD

Gestão Ágil de Projetos com Scrum e FDD Gestão Ágil de Projetos com Scrum e FDD Por Manoel Pimentel Medeiros É Engenheiro de Software, com 15 anos na área de TI, atualmente trabalha como Agile Coach para importantes empresas da área de serviços,

Leia mais

Uma introdução ao SCRUM. Evandro João Agnes evandroagnes@yahoo.com.br

Uma introdução ao SCRUM. Evandro João Agnes evandroagnes@yahoo.com.br Uma introdução ao SCRUM Evandro João Agnes evandroagnes@yahoo.com.br Agenda Projetos de Software O que é Scrum Scrum framework Estrutura do Scrum Sprints Ferramentas Projetos de software Chaos Report Standish

Leia mais

Desenvolvimento Ágil sob a Perspectiva de um ScrumMaster

Desenvolvimento Ágil sob a Perspectiva de um ScrumMaster Desenvolvimento Ágil sob a Perspectiva de um ScrumMaster Danilo Sato e Dairton Bassi 21-05-07 IME-USP O que é Scrum? Processo empírico de controle e gerenciamento Processo iterativo de inspeção e adaptação

Leia mais

Scrum. Introdução UFRPE-DEINFO BSI-FÁBRICA DE SOFTWARE

Scrum. Introdução UFRPE-DEINFO BSI-FÁBRICA DE SOFTWARE Scrum Introdução UFRPE-DEINFO BSI-FÁBRICA DE SOFTWARE scrum Ken Schwaber - Jeff Sutherland http://www.scrumalliance.org/ Scrum Uma forma ágil de gerenciar projetos. Uma abordagem baseada em equipes autoorganizadas.

Leia mais

Objetivos do Módulo 3

Objetivos do Módulo 3 Objetivos do Módulo 3 Após completar este módulo você deverá ter absorvido o seguinte conhecimento: Conceitos do Scrum O que é um Sprint Decifrando um Product backlog Daily Scrum, Sprint Review, Retrospectiva

Leia mais

Guia Projectlab para Métodos Agéis

Guia Projectlab para Métodos Agéis Guia Projectlab para Métodos Agéis GUIA PROJECTLAB PARA MÉTODOS ÁGEIS 2 Índice Introdução O que são métodos ágeis Breve histórico sobre métodos ágeis 03 04 04 Tipos de projetos que se beneficiam com métodos

Leia mais

Quais são as características de um projeto?

Quais são as características de um projeto? Metodologias ágeis Flávio Steffens de Castro Projetos? Quais são as características de um projeto? Temporário (início e fim) Objetivo (produto, serviço e resultado) Único Recursos limitados Planejados,

Leia mais

METODOLOGIAS ÁGEIS - SCRUM -

METODOLOGIAS ÁGEIS - SCRUM - METODOLOGIAS ÁGEIS - SCRUM - André Roberto Ortoncelli ar_ortoncelli@hotmail.com 2010 Organização da Apresentação Introdução as Metodologias Ágeis Scrum Conceitos Básicos Artefatos Papeis Cerimônias Estórias

Leia mais

Capítulo 1. Extreme Programming: visão geral

Capítulo 1. Extreme Programming: visão geral Capítulo 1 Extreme Programming: visão geral Extreme Programming, ou XP, é um processo de desenvolvimento de software voltado para: Projetos cujos requisitos são vagos e mudam com freqüência; Desenvolvimento

Leia mais

SCRUM. Fabrício Sousa fabbricio7@yahoo.com.br

SCRUM. Fabrício Sousa fabbricio7@yahoo.com.br SCRUM Fabrício Sousa fabbricio7@yahoo.com.br Introdução 2 2001 Encontro onde profissionais e acadêmicos da área de desenvolvimento de software de mostraram seu descontentamento com a maneira com que os

Leia mais

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

SCRUM. Otimizando projetos. Adilson Taub Júnior tecproit.com.br SCRUM Otimizando projetos Adilson Taub Júnior tecproit.com.br Sobre mim Adilson Taub Júnior Gerente de Processos Certified ScrumMaster; ITIL Certified; Cobit Certified; 8+ anos experiência com TI Especialista

Leia mais

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

Processo de Desenvolvimento de Software Scrum. Prof. Antonio Almeida de Barros Jr. Processo de Desenvolvimento de Software Scrum Manifesto da Agilidade Quatro princípios Indivíduos e interações mais que processos e ferramentas Software funcionando mais que documentação compreensiva Colaboração

Leia mais

SCRUM: UM MÉTODO ÁGIL. Cleviton Monteiro (cleviton@gmail.com)

SCRUM: UM MÉTODO ÁGIL. Cleviton Monteiro (cleviton@gmail.com) SCRUM: UM MÉTODO ÁGIL Cleviton Monteiro (cleviton@gmail.com) Roteiro Motivação Manifesto Ágil Princípios Ciclo Papeis, cerimônias, eventos, artefatos Comunicação Product Backlog Desperdício 64% das features

Leia mais

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis. Profª Esp.: Maysa de Moura Gonzaga

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis. Profª Esp.: Maysa de Moura Gonzaga DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis Profª Esp.: Maysa de Moura Gonzaga 2º Semestre / 2011 Extreme Programming (XP); DAS (Desenvolvimento Adaptativo de Software)

Leia mais

Fundamentos do Scrum aplicados ao RTC Sergio Martins Fernandes

Fundamentos do Scrum aplicados ao RTC Sergio Martins Fernandes Workshop Scrum & Rational Team Concert (RTC) Sergio Martins Fernandes Agilidade Slide 2 Habilidade de criar e responder a mudanças, buscando agregar valor em um ambiente de negócio turbulento O Manifesto

Leia mais

SCRUM: UMA DAS METODOLOGIAS ÁGEIS MAIS USADAS DO MUNDO

SCRUM: UMA DAS METODOLOGIAS ÁGEIS MAIS USADAS DO MUNDO SCRUM: UMA DAS METODOLOGIAS ÁGEIS MAIS USADAS DO MUNDO RESUMO Eleandro Lopes de Lima 1 Nielsen Alves dos Santos 2 Rodrigo Vitorino Moravia 3 Maria Renata Furtado 4 Ao propor uma alternativa para o gerenciamento

Leia mais

Gerenciamento de Equipes com Scrum

Gerenciamento de Equipes com Scrum Gerenciamento de Equipes com Scrum Curso de Verão 2009 IME/USP www.agilcoop.org.br Dairton Bassi 28/Jan/2009 O que é Scrum? Processo de controle e gerenciamento Processo iterativo de inspeção e adaptação

Leia mais

XP extreme Programming, uma metodologia ágil para desenvolvimento de software. Equipe WEB Cercomp web@cercomp.ufg.br

XP extreme Programming, uma metodologia ágil para desenvolvimento de software. Equipe WEB Cercomp web@cercomp.ufg.br XP extreme Programming, uma metodologia ágil para desenvolvimento de software. Equipe WEB Cercomp web@cercomp.ufg.br Introdução Criada por Kent Baeck em 1996 durante o projeto Daimler Chrysler. O sucesso

Leia mais

Metodologias Ágeis de Desenvolvimento de Software

Metodologias Ágeis de Desenvolvimento de Software "Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE." Engenharia de Software de Desenvolvimento de Software Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.br/givanaldorocha

Leia mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

Leia mais

EXIN Agile Scrum Fundamentos

EXIN Agile Scrum Fundamentos Exame Simulado EXIN Agile Scrum Fundamentos Edição Fevereiro 2015 Copyright 2015 EXIN Todos os direitos reservados. Nenhuma parte desta publicação pode ser publicado, reproduzido, copiado ou armazenada

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO Santa Maria, 27 de Setembro de 2013. Revisão aula anterior Desenvolvimento Ágil de Software Desenvolvimento e entrega

Leia mais

Frederico Aranha, Instrutor. Scrum 100 Lero Lero. Um curso objetivo!

Frederico Aranha, Instrutor. Scrum 100 Lero Lero. Um curso objetivo! Scrum 100 Lero Lero Um curso objetivo! Napoleãããõ blah blah blah Whiskas Sachê Sim, sou eu! Frederico de Azevedo Aranha MBA, PMP, ITIL Expert Por que 100 Lero Lero? Porque o lero lero está documentado.

Leia mais

development Teresa Maciel DEINFO/UFRPE

development Teresa Maciel DEINFO/UFRPE development Teresa Maciel DEINFO/UFRPE Prazos curtos Baixo custo Agregação ao negócio Fidelidade do cliente Competitividade Sobrevivência Cenário 2000 35% dos projetos apresentam sucesso 31% dos projetos

Leia mais

um framework para desenvolver produtos complexos em ambientes complexos Rafael Sabbagh, CSM, CSP Marcos Garrido, CSPO

um framework para desenvolver produtos complexos em ambientes complexos Rafael Sabbagh, CSM, CSP Marcos Garrido, CSPO um framework para desenvolver produtos complexos em ambientes complexos Rafael Sabbagh, CSM, CSP Marcos Garrido, CSPO Um pouco de história... Década de 50: a gestão de projetos é reconhecida como disciplina,

Leia mais

05/05/2010. Década de 60: a chamada Crise do Software

05/05/2010. Década de 60: a chamada Crise do Software Pressman, Roger S. Software Engineering: A Practiotioner s Approach. Editora: McGraw- Hill. Ano: 2001. Edição: 5 Introdução Sommerville, Ian. SW Engineering. Editora: Addison Wesley. Ano: 2003. Edição:

Leia mais

Wesley Torres Galindo

Wesley Torres Galindo Qualidade, Processos e Gestão de Software Professores: Alexandre Vasconcelos e Hermano Moura Wesley Torres Galindo wesleygalindo@gmail.com User Story To Do Doing Done O que é? Como Surgiu? Estrutura Apresentar

Leia mais

Programa do Curso de Pós-Graduação Lato Sensu MBA em Engenharia de Software Orientada a Serviços (SOA)

Programa do Curso de Pós-Graduação Lato Sensu MBA em Engenharia de Software Orientada a Serviços (SOA) Programa do Curso de Pós-Graduação Lato Sensu MBA em Engenharia de Software Orientada a Serviços (SOA) Apresentação O programa de Pós-graduação Lato Sensu em Engenharia de Software Orientada a Serviços

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Metodologias para Desenvolvimento de Software XP e SCRUM Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.br Agenda Desenvolvimento Ágil de Software

Leia mais

Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Programa de Pós-Graduação em Informática

Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Programa de Pós-Graduação em Informática Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Programa de Pós-Graduação em Informática Disciplina: INF5008 Prof.: (monalessa@inf.ufes.br) Conteúdo 8. Metodologias

Leia mais

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

Metodologias Ágeis. Gerenciando e Desenvolvendo Projetos de forma eficiente. Gabriel Verta 0767948 Rafael Reimberg 0767701 Vinicius Quaiato - 0767697 Metodologias Ágeis Gerenciando e Desenvolvendo Projetos de forma eficiente Gabriel Verta 0767948 Rafael Reimberg 0767701 Vinicius Quaiato - 0767697 Introdução Ao longo dos anos a indústria de desenvolvimento

Leia mais

Wesley Torres Galindo. wesleygalindo@gmail.com

Wesley Torres Galindo. wesleygalindo@gmail.com Wesley Torres Galindo wesleygalindo@gmail.com Wesley Galindo Graduação em Análise e Desenvolvimento de Sistemas Mestrado em Engenharia de Software Engenheiro de Software Professor Faculdade Escritor Osman

Leia mais

Gestão Ágil de Projetos e a certificação PMI-ACP

Gestão Ágil de Projetos e a certificação PMI-ACP Gestão Ágil de Projetos e a certificação PMI-ACP Apresentação Roberto Gil Espinha Mais de 15 anos de experiência em Projetos Bacharel em Administração de Empresas pela UNIVILLE Pós-Graduado em Gestão Empresarial

Leia mais

Agilidade: SCRUM e XP

Agilidade: SCRUM e XP Agilidade: SCRUM e XP Facilitador Fernando Costa formado em Redes de Computadores Sócio da 3LJ Tecnologia www.3lj.com.br Agenda SCRUM: Contexto de projetos Valores ágeis Princípios ágeis Scrum Paradoxo

Leia mais

Ferramenta para gestão ágil

Ferramenta para gestão ágil Ferramenta para gestão ágil de projetos de software Robson Ricardo Giacomozzi Orientador: Everaldo Artur Grahl Agenda Introdução Objetivos Fundamentação teórica Desenvolvimento Resultados e discussões

Leia mais

Gestão de Projetos com Scrum

Gestão de Projetos com Scrum Gestão de Projetos com Scrum Curso de Verão - Jan / 2010 IME/USP - São Paulo Dairton Bassi dbassi@gmail.com Processo de gerenciamento de projetos. Processo iterativo de inspeção e adaptação. Usado para

Leia mais

Programa do Módulo 2. Processo Unificado: Visão Geral

Programa do Módulo 2. Processo Unificado: Visão Geral 9.1 Programa do Módulo 2 Orientação a Objetos Conceitos Básicos Análise Orientada a Objetos (UML) O Processo Unificado (RUP) Processo Unificado: Visão Geral 9.2 Encaixa-se na definição geral de processo:

Leia mais

Manifesto Ágil - Princípios

Manifesto Ágil - Princípios Manifesto Ágil - Princípios 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

Leia mais

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

UTILIZAÇÃO DAS METODOLOGIAS ÁGEIS XP E SCRUM PARA O DESENVOLVIMENTO RÁPIDO DE APLICAÇÕES UTILIZAÇÃO DAS METODOLOGIAS ÁGEIS XP E SCRUM PARA O DESENVOLVIMENTO RÁPIDO DE APLICAÇÕES Marcelo Augusto Lima Painka¹, Késsia Rita da Costa Marchi¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil

Leia mais

Especialização em Engenharia de Software e Banco de Dados

Especialização em Engenharia de Software e Banco de Dados Especialização em Engenharia de Software e Banco de Dados Disciplina: Engenharia de Software Tópico: Metodologias Ágeis Prof. Rodolfo Miranda de Barros rodolfo@uel.br O que é agilidade? Agilidade: Rapidez,

Leia mais

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

Sistemas de Informação e Programação II Odorico Machado Mendizabal Sistemas de Informação e Programação II Odorico Machado Mendizabal Universidade Federal do Rio Grande FURG C3 Engenharia de Computação 16 e 23 de março de 2011 Processo de Desenvolvimento de Software Objetivos

Leia mais

extreme Programming extreme Programming (XP) Metodologia Ágil Partes do XP Communication (comunicação) 1. Valores do XP

extreme Programming extreme Programming (XP) Metodologia Ágil Partes do XP Communication (comunicação) 1. Valores do XP extreme Programming extreme Programming (XP) Metodologia ágil para equipes pequenas a médias desenvolvendo software com requesitos vagos ou que mudam freqüentemente. [Beck 2000] Em XP, codificação é principal

Leia mais

Agradecimento. Adaptação do curso Scrum de Márcio Sete, ChallengeIT. Adaptação do curso The Zen of Scrum de Alexandre Magno, AdaptaWorks

Agradecimento. Adaptação do curso Scrum de Márcio Sete, ChallengeIT. Adaptação do curso The Zen of Scrum de Alexandre Magno, AdaptaWorks S C R U M Apresentação Tiago Domenici Griffo Arquiteto de Software na MCP, MCAD, MCSD, MCTS Web, Windows e TFS, ITIL Foundation Certified, MPS.BR P1 Experiência internacional e de offshoring Agradecimento

Leia mais

Treinamos. CSD: Certified Scrum Developer Program

Treinamos. CSD: Certified Scrum Developer Program Treinamos. CSD: Certified Scrum Developer Program Programa reconhecido oficialmente pela Scrum Alliance para a certificação CSD: Certified Scrum Developer. 1 SCRUM ALLIANCE REP(SM) is a service mark of

Leia mais

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

Por que o Scrum? o Foco na Gerência de Projetos; o Participação efetiva do Cliente. Por que o Scrum? o Foco na Gerência de Projetos; o Participação efetiva do Cliente. Desenvolvido por Jeff SUTHERLAND e Ken SCHWABER ; Bastante objetivo, com papéis bem definidos; Curva de Aprendizado é

Leia mais

FireScrum: Ferramenta de apoio à gestão de projetos utilizando Scrum

FireScrum: Ferramenta de apoio à gestão de projetos utilizando Scrum C.E.S.A.R.EDU Unidade de Educação do Centro de Estudos e Sistemas Avançados do Recife Projeto de Dissertação de Mestrado FireScrum: Ferramenta de apoio à gestão de projetos utilizando Scrum Eric de Oliveira

Leia mais

SCRUM. Desenvolvimento e gerenciamento ágil. www.tecproit.com.br

SCRUM. Desenvolvimento e gerenciamento ágil. www.tecproit.com.br SCRUM Desenvolvimento e gerenciamento ágil Adilson Taub Júnior Process Manager tecproit.com.br Sobre mim Adilson Taub Júnior Gerente de Processos Certified ScrumMaster; ITIL Certified; COBIT Certified;

Leia mais

MDMS-ANAC. Metodologia de Desenvolvimento e Manutenção de Sistemas da ANAC. Superintendência de Tecnologia da Informação - STI

MDMS-ANAC. Metodologia de Desenvolvimento e Manutenção de Sistemas da ANAC. Superintendência de Tecnologia da Informação - STI MDMS-ANAC Metodologia de Desenvolvimento e Manutenção de Sistemas da ANAC Superintendência de Tecnologia da Informação - STI Histórico de Alterações Versão Data Responsável Descrição 1.0 23/08/2010 Rodrigo

Leia mais

ScRUM na prática. Scrum no dia-a-dia. V Semana de Tecnologia da Informação

ScRUM na prática. Scrum no dia-a-dia. V Semana de Tecnologia da Informação ScRUM na prática Scrum no dia-a-dia V Semana de Tecnologia da Informação Agenda Manifesto Ágil; O Scrum; Os papéis do Scrum; Quem usa Scrum; O Scrum na Tray; Cerimônias; Artefatos. Qualidade. era uma vez

Leia mais

ágeis para projetos desenvolvidos por fábrica de software

ágeis para projetos desenvolvidos por fábrica de software Uso de práticas ágeis para projetos desenvolvidos por fábrica de software Artur Mello artur.mello@pitang.com Uma empresa C.E.S.A.R Fábrica de Software O termo software factory foi empregado pela primeira

Leia mais

Curso Certified ScrumMaster (CSM)

Curso Certified ScrumMaster (CSM) e Curso Certified ScrumMaster (CSM) 1. Perfil do Instrutor MICHEL GOLDENBERG (CSM, CSPO, CSP, CST) Michel Goldenberg é co-fundador do Grupo de usuário Scrum de Montreal, um dos maiores grupos de usuários

Leia mais

Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria

Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria Agenda Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria Introdução Processo de software é o conjunto de ferramentas, métodos

Leia mais

Gerenciamento de Projetos de Software

Gerenciamento de Projetos de Software Gerenciamento de Projetos de Software Framework Ágil, Scrum Prof. Júlio Cesar da Silva Msc. 2º Encontro Ementa & Atividades Aula 1: Fundamentos do Gerenciamento de Projetos (p. 4) 30/abr (VISTO) Aula 2:

Leia mais

Guia do Nexus. O Guia Definitivo para o Nexus: O exoesqueleto do desenvolvimento Scrum escalado. Desenvolvido e mantido por Ken Schwaber e Scrum.

Guia do Nexus. O Guia Definitivo para o Nexus: O exoesqueleto do desenvolvimento Scrum escalado. Desenvolvido e mantido por Ken Schwaber e Scrum. Guia do Nexus O Guia Definitivo para o Nexus: O exoesqueleto do desenvolvimento Scrum escalado Desenvolvido e mantido por Ken Schwaber e Scrum.org Tabela de Conteúdo Visão Geral do Nexus... 2 O Propósito

Leia mais

METODOLOGIA DE GERENCIAMENTO DE PROJETOS SCRUM: ESTUDO DE REVISÃO. Bruno Edgar Fuhr 1

METODOLOGIA DE GERENCIAMENTO DE PROJETOS SCRUM: ESTUDO DE REVISÃO. Bruno Edgar Fuhr 1 METODOLOGIA DE GERENCIAMENTO DE PROJETOS SCRUM: ESTUDO DE REVISÃO Bruno Edgar Fuhr 1 Resumo: O atual mercado de sistemas informatizados exige das empresas de desenvolvimento, um produto que tenha ao mesmo

Leia mais

O Guia Passo-a-Passo para IMPLANTAR. Em seu próprio Projeto

O Guia Passo-a-Passo para IMPLANTAR. Em seu próprio Projeto O Guia Passo-a-Passo para IMPLANTAR Em seu próprio Projeto Aprenda como Agilizar seu Projeto! A grande parte dos profissionais que tomam a decisão de implantar o Scrum em seus projetos normalmente tem

Leia mais

Casa do Código Livros para o programador Rua Vergueiro, 3185-8º andar 04101-300 Vila Mariana São Paulo SP Brasil

Casa do Código Livros para o programador Rua Vergueiro, 3185-8º andar 04101-300 Vila Mariana São Paulo SP Brasil Casa do Código Todos os direitos reservados e protegidos pela Lei nº9.610, de 10/02/1998. Nenhuma parte deste livro poderá ser reproduzida, nem transmitida, sem autorização prévia por escrito da editora,

Leia mais

Versão 7 TraceGP Ágil

Versão 7 TraceGP Ágil Versão 7 Cadastro de Produtos Será possível cadastrar todos os produtos da empresa bem como descrever suas características particulares através da seleção de atributos dinâmicos para cada produto. Manutenção

Leia mais

Métodos Ágeis, Fomando Times de Alto Desempenho. Ari do Amaral Torres Filho @ariamaral ariamaralt@gmail.com

Métodos Ágeis, Fomando Times de Alto Desempenho. Ari do Amaral Torres Filho @ariamaral ariamaralt@gmail.com Métodos Ágeis, Fomando Times de Alto Desempenho Ari do Amaral Torres Filho @ariamaral ariamaralt@gmail.com Iniciando com uma Apresentação (Instrutor, Alunos e Palestra) Apresentação do Professor Sou Bacharel

Leia mais

TÍTULO: DESENVOLVIMENTO DE UMA FERRAMENTA WEB PARA O GERENCIAMENTO DE PROJETO DE SOFTWARE UTILIZANDO METODOLOGIAS ÁGEIS

TÍTULO: DESENVOLVIMENTO DE UMA FERRAMENTA WEB PARA O GERENCIAMENTO DE PROJETO DE SOFTWARE UTILIZANDO METODOLOGIAS ÁGEIS TÍTULO: DESENVOLVIMENTO DE UMA FERRAMENTA WEB PARA O GERENCIAMENTO DE PROJETO DE SOFTWARE UTILIZANDO METODOLOGIAS ÁGEIS CATEGORIA: CONCLUÍDO ÁREA: CIÊNCIAS EXATAS E DA TERRA SUBÁREA: COMPUTAÇÃO E INFORMÁTICA

Leia mais

Reuse in a Distributed Environment

Reuse in a Distributed Environment Reuse in a Distributed Environment É possível aplicar APF em um Ambiente Ágil? Alcione Ramos, MSc, CFPS, PMP, CSD Cejana Maciel, MSc, Scrum Master, ITIL, COBIT Ponto de função é coisa dos anos 70. É uma

Leia mais

LISTA DE EXERCÍCIOS METODOLOGIAS ÁGEIS ENGENHARIA DE SOFTWARE 10/08/2013

LISTA DE EXERCÍCIOS METODOLOGIAS ÁGEIS ENGENHARIA DE SOFTWARE 10/08/2013 LISTA DE EXERCÍCIOS METODOLOGIAS ÁGEIS ENGENHARIA DE SOFTWARE 10/08/2013 Disciplina: Professor: Engenharia de Software Edison Andrade Martins Morais http://www.edison.eti.br prof@edison.eti.br Área: Metodologias

Leia mais

FIC Faculdade Integrada do Ceará Curso em tecnologia em analise e desenvolvimento de sistemas. OpenUp. Arquitetura de software

FIC Faculdade Integrada do Ceará Curso em tecnologia em analise e desenvolvimento de sistemas. OpenUp. Arquitetura de software FIC Faculdade Integrada do Ceará Curso em tecnologia em analise e desenvolvimento de sistemas OpenUp Arquitetura de software Fortaleza/2010 OpenUP Alguns anos atrás, vários funcionários da IBM começaram

Leia mais

Estudo de caso: aplicação das metodologias ágeis de desenvolvimento: Scrum e XP no desenvolvimento do sistema Unidisciplina

Estudo de caso: aplicação das metodologias ágeis de desenvolvimento: Scrum e XP no desenvolvimento do sistema Unidisciplina Perquirere, 11 (1): 113-129, jul. 2014 Centro Universitário de Patos de Minas http://perquirere.unipam.edu.br Estudo de caso: aplicação das metodologias ágeis de desenvolvimento: Scrum e XP no desenvolvimento

Leia mais

Guia do Scrum. Um guia definitivo para o Scrum: As regras do jogo. Outubro de 2011. Desenvolvido e mantido por Ken Schwaber e Jeff Sutherland

Guia do Scrum. Um guia definitivo para o Scrum: As regras do jogo. Outubro de 2011. Desenvolvido e mantido por Ken Schwaber e Jeff Sutherland Guia do Scrum Um guia definitivo para o Scrum: As regras do jogo Outubro de 2011 Desenvolvido e mantido por Ken Schwaber e Jeff Sutherland Índice O propósito do Guia do Scrum... 3 Visão geral do Scrum...

Leia mais

Guia do Scrum. Um guia definitivo para o Scrum: As regras do jogo. Julho de 2013. Desenvolvido e mantido por Ken Schwaber e Jeff Sutherland

Guia do Scrum. Um guia definitivo para o Scrum: As regras do jogo. Julho de 2013. Desenvolvido e mantido por Ken Schwaber e Jeff Sutherland Guia do Scrum Um guia definitivo para o Scrum: As regras do jogo Julho de 2013 Desenvolvido e mantido por Ken Schwaber e Jeff Sutherland Í ndice O propósito do Guia do Scrum... 3 Definição do Scrum...

Leia mais

AULAS 02 e 03: Noções sobre processo de desenvolvimento de software e Papéis e Responsabilidades em Projetos de Software

AULAS 02 e 03: Noções sobre processo de desenvolvimento de software e Papéis e Responsabilidades em Projetos de Software AULAS 02 e 03: Noções sobre processo de desenvolvimento de software e Papéis e Responsabilidades em Projetos de Software SUMÁRIO PÁGINA Análise e Projeto de Software 1 Implementação, testes e implantação

Leia mais

Introdução ao OpenUP (Open Unified Process)

Introdução ao OpenUP (Open Unified Process) Introdução ao OpenUP (Open Unified Process) Diferentes projetos têm diferentes necessidades de processos. Fatores típicos ditam as necessidades de um processo mais formal ou ágil, como o tamanho da equipe

Leia mais

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

Análise comparativa entre a engenharia de requisitos e o método de desenvolvimento ágil: Scrum Análise comparativa entre a engenharia de requisitos e o método de desenvolvimento ágil: Scrum Patrícia Bastos Girardi, Sulimar Prado, Andreia Sampaio Resumo Este trabalho tem como objetivo prover uma

Leia mais

Análise da aplicação da metodologia SCRUM em uma empresa de Desenvolvimento de Software

Análise da aplicação da metodologia SCRUM em uma empresa de Desenvolvimento de Software Análise da aplicação da metodologia SCRUM em uma empresa de Desenvolvimento de Software Carolina Luiza Chamas Faculdade de Tecnologia da Zona Leste SP Brasil carolchamas@hotmail.com Leandro Colevati dos

Leia mais

Comparativo entre Processos Ágeis. Daniel Ferreira dfs3@cin.ufpe.br

Comparativo entre Processos Ágeis. Daniel Ferreira dfs3@cin.ufpe.br Comparativo entre Processos Ágeis Daniel Ferreira dfs3@cin.ufpe.br O que discutiremos: Histórico Os Princípios Ágeis Comparação Do ponto de vista incremental Do ponto de vista funcional Vantagens e Desvantagens

Leia mais

Gerenciamento Ágil de Projetos de Desenvolvimento de Softwares na Secretaria de Estado da Casa Civil

Gerenciamento Ágil de Projetos de Desenvolvimento de Softwares na Secretaria de Estado da Casa Civil Gerenciamento Ágil de Projetos de Desenvolvimento de Softwares na Secretaria de Estado da Casa Civil Claryanne A. Guimarães 1, Daniel Dias S. Rosa 1 1 Departamento de Computação Universidade Federal de

Leia mais

TUTORIAIS. Framework SCRUM. Rafael Buck Eduardo Franceschini. MSc., PMP, CSM MBA

TUTORIAIS. Framework SCRUM. Rafael Buck Eduardo Franceschini. MSc., PMP, CSM MBA TUTORIAIS Framework SCRUM Rafael Buck Eduardo Franceschini MSc., PMP, CSM MBA SCRUM vs. PMBOK SCRUM vs. PMBOK ESCOPO Restrições de um projeto (Tripla Restrição) TEMPO CUSTO Modelo de Contrato de projetos

Leia mais

CRIANDO UM PROCESSO ÁGIL PARA DESENVOLVIMENTO DE SOFTWARE

CRIANDO UM PROCESSO ÁGIL PARA DESENVOLVIMENTO DE SOFTWARE CRIANDO UM PROCESSO ÁGIL PARA DESENVOLVIMENTO DE SOFTWARE CONTEÚDO 1.Introdução...2 2.Gestão Ágil...2 1.1 Metodologias...2 1.2 Começando um projeto...3 Planejamento Inicial...3 Desenvolvimento...6 Motivação

Leia mais

Ferramenta para Gerenciamento de Requisitos em Metodologias Ágeis

Ferramenta para Gerenciamento de Requisitos em Metodologias Ágeis Ferramenta para Gerenciamento de Requisitos em Metodologias Ágeis Eduardo dos Santos Gonçalves 1, Heitor Boeira dos Reis Filho 1 1 Universidade Luterana do Brasil (ULBRA) Av. Itacolomi, 3.600 Bairro São

Leia mais