O documento apresenta as metodologias ágeis de desenvolvimento de software e discute o Extreme Programming (XP) e SCRUM. Resume os papéis e cerimônias do SCRUM e como ele pode ser combinado com práticas do XP para melhor gerenciar projetos de software.
Palestras ministrada no ALM RoadShow Campo Grande, aonde foi apresentado o que é ser ágil e como os processos estão interligados. Com sugestões para melhorias futuras.
Palestras ministrada no ALM RoadShow Campo Grande, aonde foi apresentado o que é ser ágil e como os processos estão interligados. Com sugestões para melhorias futuras.
Autores: Paula L O Libardi,
Vladimir Barbosa
Orientador: Prof. Dr. Marcos A Francisco
Borges
Mais conteúdo sobre desenvolvimento ágil: http://goo.gl/NzYcEi
Cinco motivos para você não adotar metodologias ágeis - Rafael Prikladnicki F...Flávio Steffens
Palestra sobre metodologias ágeis realizada por Flávio Steffens de Castro e Rafael Prikladnicki, na Universidade Feevale, em Novo Hamburgo. Dia 05 de novembro de 2010.
Os vídeos utilizados foram:
Video 01 - The Fun Theory - Staircase
Video 02 - Waldez Ludwig entrevistado no Jô Soares
Flávio Steffens de Castro
twitter: http://www.twitter.com/flaviosteffens
http://www.agileway.com.br
http://www.woompa.com.br
Rafael Prikladnicki
twitter: http://www.twitter.com/rafaelpri
http://www.inf.pucrs.br/~rafael
http://www.ionatec.com.br
Introdução a Metodologia XP (E Xtreme Programming)Rennan Martini
Material para palestra sobre a Metodologia de desenvolvimento Extreme Programming, ministrada no 1º ENDESDISMO - Encontro de Desenvolvimento de Software p/ Dispositivos Móveis - UNOPAR CCET LONDRINA/PR
Autores: Paula L O Libardi,
Vladimir Barbosa
Orientador: Prof. Dr. Marcos A Francisco
Borges
Mais conteúdo sobre desenvolvimento ágil: http://goo.gl/NzYcEi
Cinco motivos para você não adotar metodologias ágeis - Rafael Prikladnicki F...Flávio Steffens
Palestra sobre metodologias ágeis realizada por Flávio Steffens de Castro e Rafael Prikladnicki, na Universidade Feevale, em Novo Hamburgo. Dia 05 de novembro de 2010.
Os vídeos utilizados foram:
Video 01 - The Fun Theory - Staircase
Video 02 - Waldez Ludwig entrevistado no Jô Soares
Flávio Steffens de Castro
twitter: http://www.twitter.com/flaviosteffens
http://www.agileway.com.br
http://www.woompa.com.br
Rafael Prikladnicki
twitter: http://www.twitter.com/rafaelpri
http://www.inf.pucrs.br/~rafael
http://www.ionatec.com.br
Introdução a Metodologia XP (E Xtreme Programming)Rennan Martini
Material para palestra sobre a Metodologia de desenvolvimento Extreme Programming, ministrada no 1º ENDESDISMO - Encontro de Desenvolvimento de Software p/ Dispositivos Móveis - UNOPAR CCET LONDRINA/PR
Leds zeppellin infraestrutura de apoio ao desenvolvimentoledsifes
No Laboratório de Extensão em Desenvolvimento de Software (LEDS) utilizamos algumas das práticas recomendadas pelas metodologias Extreme Programming, SCRUM e prevemos a implantação de outras ainda em estudo. Para apoiar essas práticas um conjunto de ferramentas são necessárias e com isso a necessidade de um ambiente onde pudesse integrar tais tecnologias.
Para isso foi desenvolvido o LedsZeppellin. O LedsZeppellin integra ao todo 11 tecnologias dentre elas o Jenkins (para integração continua), Sonar (Análise Estática de Código), Gitlab (Sistema de Versionamento de Códigos), Taiga (Gerenciamento de Projetos – SCRUM) e Nexus (Sistema de Gerenciamento de Artefatos) dentre outras.
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)André Dias
Será apresentada uma breve introdução sobre o SCRUM, as práticas de gerenciamento e os pensamentos que o tornam tão “polêmico” e em seguida serão apresentadas práticas de engenharia de software que complementam o SCRUM utilizando o Visual Studio Team System para gerenciar Story Cards, Tasks, Kanban, acompanhamento de Burndown, além de práticas da Extreme Programming como TDD, Refactoring e Continuous Integration.
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilRebecca Betwel
Com intuito de esclarecer sobre como surgiu o manifesto ágil e discutir as metodologias ágeis mais utilizadas. Esse material é parte de um conjunto de materiais sobre Engenharia de Software
Software Engineering - Agil Development.
Aqui são apresentados as técnicas de Desenvolvimento Ágil: eXtreme Programming. Simples e prático.
/**Depois que entrei no mundo Java, começei a procurar por conteúdo na internet para estudar, então me deparei com um ótimo site, http://www.argonavis.com.br, de um grande cara chamado Helder Rocha, que disponibiliza este mesmo conteúdo em seu site também. Obrigado pela ajuda a comunidade.*/
eXtreme Programming - Apresentação do Grupo Pará na disciplina Métodos Ágeis de Desenvolvimento de Software (prof. Márcio Sete) da Pós-graduacao em engenharia de software centrada em métodos ágeis - UNA - 03/09/2010
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
Slides do mini-curso apresentado em 10.06.2011 no X Simpósio Brasileiro em Qualidade de Software (Curitiba-PR).
Mais informações em http://bit.ly/eyYo8Y
1. Metodologias Ágeis de Desenvolvimento de Software Por Emerson Henrique, Luciano Almeida e Márcio Lins
2. Quem somos? Emerson Henrique Aluno concluinte do curso de Ciência da Computação Analista Desenvolvedor da Ativasystems Luciano Almeida Graduado em Gestão de Sistemas de Informação Possui MBA em Novas Tecnologias Cursa Especialização em Gerenciamento de Projetos Professor, Consultor, Agilista e Owner do SCRUM Paraíba Márcio Lins Analista Programador da Construtora Alliance Trabalha com AdvPL (Protheus) E cursa Sistemas para Internet 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 2
3. Sumário Introdução Caos AgileManifesto.org Metodologias Ágeis XP SCRUM SCRUM + XP Conclusão 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 3
4. Introdução Projetos de Construção Civil São geralmente construídos como planejados Clientes acompanham a evolução Se algo dá errado, faz-se um relatório Projetos de Software Precisam suportar mudanças nas regras de negócio Clientes só vêem algo funcionando perto do fim ou em prazos longos Se algo dá errado, se esquece ou mascara o erro 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 4
5. Introdução Algumas empresas adotam metodologias de desenvolvimento e práticas extremamente formais e controladoras, porém ainda não conseguem obter qualidade. Por quê? Pouca preocupação com as pessoas e a interação entre elas Pouca comunicação com o cliente Custos muito altos Excesso de formalismo Qual a consequência disso? Alta rotatividade No fim o software não serve mais Projeto cancelado Prazos estourados 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 5
6. Introdução Além disso muitas empresas vivem em uma situação de total descontrole e falta de qualidade, e não são nada ágeis, vivem o ... 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 6
8. CAOS Situação perturbadora, desmotivante; Utilizando processo definido ou não; Altos riscos nos projetos; Custos muito altos; Projetos sem boa qualidade interna e externa. Mas esse problema não é novo, em 2001, 17 caras lançaram o ... 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 8
9. ... Agilemanifesto.org O que é isso? Um manifesto que criticava algumas mitos/práticas da engenharia de software e da gerência de projetos adotadas por abordagens tradicionalistas Foi assinado por 17 pessoas envolvidas com desenvolvimento de software, dentre eles consultores e programadores experientes 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 9 Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Brian Marick Kent Beck Mike Beedle Arie van Bennekum AlistairCockburn WardCunningham Martin Fowler
10. ... Agilemanifesto.org Indivíduos e interação entre eles mais que processos e ferramentas Software em funcionamento mais que documentação abrangente Colaboração com o cliente mais que negociação de contratos Responder a mudanças mais que seguir um plano 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 10
11. Agilemanifesto.org 12 princípios por traz do Manifesto Ágil Satisfazer o cliente As mudanças são bem vindas Entrega periódica de funcionalidade Todos juntos Indivíduos Motivados Conversas face a face Medida primária é o software trabalhado Manter um ritmo constante sempre Atenção contínua, excelência técnica e bom projeto Simplicidade Equipes auto-organizáveis ou auto-gerenciáveis Reflexão de melhoria regularmente 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 11
12. Metodologias XP – eXtreme Programming SCRUM LEAN CRYSTAL FDD ... 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 12
13. XP – EXtremeProgramming Começou a engatinhar 1987 e a se estruturar em 1996 com o projeto C3 da Chrysler Criado pro Kent Beck, que utilizou pela primeira vez em conjunto as práticas que formam a estrutura do Extreme Programming nesse projeto da Chrysler “Jeito leve, eficiente, de baixo risco, flexível, previsível, científico e divertido de desenvolver software” – Kent Beck 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 13
14. XP – EXtremeProgramming Valores: Comunicação Simplicidade Feedback Coragem Abordagem Incremental 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 14
21. XP – EXtremeProgrammingJogo de Planejamento Como? Definição de histórias Valor de negócio das histórias Definição de releases Estimativa com base nas experiências anteriores Observação de riscos Medições de progresso 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 17
22. XP – EXtremeProgrammingEntregas Frequêntes Consiste em colocar o sistema em produção com frequência, em prazos curtos, normalmente de dois ou três meses. Objetivos: Feedbacks rápidos do cliente e para o cliente Aceitação de mudanças rápidas e sem burocracia 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 18
23. XP – EXtremeProgrammingMetáfora Utilizam as metáforas para inserir a estrutura conceitual do negócio Objetivos: Facilidade de entendimento e compreensão Envolvidos compreendem o que se quer, mesmo não dominando a linguagem do negócio 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 19
24. XP – EXtremeProgrammingProjeto Simples Projete um software do jeito que o usuário espera: Primeiro que funcione E funcione corretamente Que seja fácil de utilizar (modelo mental coerente) E que possa evoluir com o tempo 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 20
25. XP – EXtremeProgrammingDesenvolvimento Orientado a Testes Partindo do pressuposto que achar as causas do bug é mais difícil e demorado que corrigir Então vamos evitar o problema Evitar problema é mais inteligente que resolver TDD (TestDrivenDevelopment) consiste em escrever um mecanismo de teste automatizado antes de codificar cada história e cada método do sistema (BECK, 2000) 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 21
26. XP – EXtremeProgrammingDesenvolvimento Orientado a Testes “O XP se concentra sobretudo em dois tipos de testes: o teste de unidade e o teste de aceitação. O primeiro tenta assegurar que cada componente do sistema funcione corretamente. O segundo procura testar a interação entre os componentes, as quais dão origem às funcionalidades.” [BECK, 2000 apud TELLES, 2005] 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 22
27. XP – EXtremeProgrammingProgramação em Par Dois programadores continuamente colaborando no mesmo projeto, algoritmo, código e teste. Diminui erros de código, permite a refatoração instantânea, aprendizado contínuo, etc. 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 23
28. XP – EXtremeProgrammingRefatoração A “refatoração é o processo de fazer mudanças em um código existente e funcional sem alterar seu comportamento externo. [...]” [ASTELS, 2003 apud TELLES,2005 Objetivos: Enxugar o código (Tornar simples e claro) Melhor a eficiência do código Minimizar chances de introduzir bugs Garantias Melhoria interna contínua 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 24
29. XP – EXtremeProgrammingPropriedade Coletiva O desenvolvedor tem acesso a todo o código O código é de todos os desenvolvedores e qualquer um pode melhorar até aquilo que não fez As alterações podem causar erros. Por segurança, é indicado adotar essa prática apenas quando se tem testes de regressão automatizados 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 25
30. XP – EXtremeProgrammingIntegração Contínua Os pares trabalham de forma isolada, mas integram o que produzem diversas vezes ao dia. Objetivos: Identificar conflitos cedo, para evitar futuras falhas de integração Consequência: Identificação quase que instantânea de conflito, já que se produz pouco código em poucas horas 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 26
31. XP – EXtremeProgrammingTrabalho em 40 horas semanais Hora extra é exceção Em atividade de 40 horas semanais já ocorre a diminuição do fator foco Pressões não aumentam o fator foco, pelo contrário diminuem 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 27
32. XP – EXtremeProgrammingCliente presente “O melhor e mais participativo cliente não será capaz de obter o software desejado se a equipe de desenvolvimento não implementar corretamente o que é pedido e a melhor equipe não será capaz de produzir o software certo se o cliente não for capaz de especificá-lo adequadamente e prover feedback ao longo do projeto.” [TELLES, 2005] Junte-os e terá: Feedbacks mais rápidos Mudanças rápidas sem burocracia 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 28
33. XP – EXtremeProgrammingPadronização de código É importante definir um padrão de codificação no inicio do projeto Objetivo: Familiarizar todos com o como o mesmo padrão de código (código legível a todos) Simplificar a comunicação E tornar o código coletivo 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 29
34. SCRUM O nome é originado da organização de uma equipe de Rugby para o reinicio da partida. Formalizado e implantado no desenvolvimento de software em 1995 por Ken Shwaber A função primária do Scrum é ser utilizado para o gerenciamento de projetos de desenvolvimento de software 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 30
35. SCRUM O que é de fato? É um framework de desenvolvimento de produto, sobre um ciclo de vida interativo e incremental Objetivos: Acompanhamento contínuo Iterações curtas Retorno mais rápido SCRUM NÃO É A BALA DE PRATA! “Não garante sozinho o sucesso de um projeto” 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 31
36. SCRUM Quais são os papeis envolvidos? ProductOwner (PO) ScrumTeam ScrumMaster 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 32
37. SCRUMPapel do ProductOwner Conhece o produto e as necessidades do cliente Representa o cliente Define os requisitos do produto, bem como sua importância e urgência É responsável pelo retorno do investimento 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 33
38. SCRUMPapel do ScrumMaster É o líder servidor Responsável por remover os impedimentos do time Por remover interferências externas E por garantir o uso correto do Scrum Ensina Scrum aos envolvidos 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 34
39. SCRUMPapel do ScrumTeam Fazem parte do Scrumteam todos os desenvolvedores, arquitetos, analistas, ... que participam do projeto O time é auto-gerenciável e multifuncional ou multidisciplinar (pessoas com diferentes aptidões) Decidem junto com o PO o que entra no Sprint E são responsáveis pelas estimativas de esforço 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 35
40. SCRUMCerimônias São elas: Planejamentos de Sprint Revisões de Sprint Retrospectivas de Sprint Reuniões diárias 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 36
41. SCRUMArtefatos ProductBacklog Lista priorizada de requisitos (Lista mutável) SprintBacklog Itens que serão feitos na Sprint (Lista não mutável) BurndownCharts O trabalho acumulado ou realizado (atualizados diariamente durante um Sprint) 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 37
44. SCRUM + XP Scrum não define técnicas de Engenharia de Software Foi construído inicialmente para o desenvolvimento de software Porém, é um framework para gerenciamento do desenvolvimento de um produto Por isso uma parceria de sucesso no desenvolvimento de software é: SCRUM + XP (Algumas práticas) 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 40
45. Conclusão SCRUM é uma excelente alternativa para empresas que estão no CAOS É interessante para equipes pequenas, onde a comunicação possa funcionar de forma tranquila XP define boas práticas que contribuem para uma boa comunicação e para a prevenção de problemas Ambas se preocupam e melhoria contínua da qualidade, através de avaliação contínua do trabalho e do processo 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 41
47. REFERÊNCIAS BECK, Kent. Extreme Programming explained: embrace change. 1. ed. Reading, MA: Addison-Wesley, 2000. 190 p. TELLES, ViníciusMagalhães. UM ESTUDO DE CASO DA ADOÇÃO DAS PRÁTICA E VALORES DO EXTREME PROGRAMMING. 2005. KINIBERG, Herink. Scrum e XP direto das Trincheiras. 2008. Disponível em: <http://www.infoq.com/br/minibooks/scrum-xp-from-the-trenches> <http://improveit.com.br/scrum> Acesso em: 21/10/2009 <http://www.adaptworks.com.br/scrum/> Acesso em: 21/10/2009 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 43
48. Contatos Emerson Henrique emerson.hss@gmail.com http://emersonhss.wordpress.com http://twitter.com/emersonhss Luciano Almeida lucianohgalmeida@gmail.com http://twitter.com/lucianohenrique Márcio Lins slackware.20@gmail.com http://twitter.com/marciolins SCRUM PARAÍBA http://scrumpb.org/ 10/12/2009 Metodologias Ágeis de Desenvolvimento de Software 44