SlideShare uma empresa Scribd logo
Introdução
Conceitos e Objetivos
O que são métodos ágeis de desenvolvimento?


       • Metodologias de desenvolvimento que nos permita alterar
         constantemente o código sem comprometer sua qualidade.

Quanto mais                                                        Estabilidade da
                                                                   relação custo e
funcionalida
                                                                   funcionalidade
 des maior o
    custo
Principais Métodos


• Abordadas               • Outros métodos


•   Programação extrema   • Adaptive Software Development
•   Scrum                 • Crystal
•   Programação pareada   • Pragmatic Programming
•   Orientado a testes
Casos de sucesso !!!!


• Assembléia Legislativa do Estado de São Paulo
• Ikwa
• ITM
• Paggo
• Parceria com Scopus e LARC
• Sistema Janus
• LocaWeb
Programação eXtrema (XP)
Programação
     eXtrema (XP)



É uma metodologia ágil para equipes pequenas e médias e que irão desenvolver software com requisitos vagos e
em constante mudança. Para isso, adota a estratégia de constante acompanhamento e realização de vários
pequenos ajustes durante o desenvolvimento de software. Desenvolvedor (KENT BECK)

Valores

• Comunicação
• Simplicidade
• Retroalimentação (Feedback)
• Coragem
• Respeito

Comunicação
• A maioria dos problemas e erros são causados por falta de comunicação
• Maximizar a comunicação entre a equipe e o cliente
• Comunicação entre pessoas: direta
• Comunicação entre pessoas e artefatos:
• estes devem ser de leitura fácil e estar atualizados
Programação
      eXtrema (XP)



Valores contrários a programação XP

• Comunicação
– preferir papel a olho-no-olho

• Simplicidade
– fazer mais do que o necessário para resolver o problema atual
pensando em antecipar a resolução de problemas futuros

• Retroalimentação (Feedback)
– Retroalimentação só bem perto do final. Contrato assinado.
• Coragem
• Respeito
– Longas jornadas de trabalho para terminar o projeto
Programação
    eXtrema (XP)




Princípios da programação XP

• Humanidade
• Economia
• Benefício mútuo
• Auto similaridade
• Melhora contínua
• Diversidade
• Reflexão
• Oportunidade
• Redundância
• Falha
• Qualidade
• Passos de bebê
• Responsabilidade aceita
Programação
     eXtrema (XP)




Praticas da programação XP

• Categorias                                         • Fatores relacionados a equipes e fatores humanos

– Análise de Requisitos e Planejamento               – Sentar junto
– Fatores relacionados a equipes e fatores humanos   – Time inteiro
– Projeto (Design)                                   – Ambiente de trabalho informativo
– Codificação e lançamento (liberação) de código     – Trabalho energizado
                                                     – Programação Pareada
• Análise de Requisitos e Planejamento
                                                     • Projeto (Design)
– Ciclo semanal
– Ciclo quinzenal                                    – Design incremental
– Folga                                              – Programação com testes primeiro
Programação
    eXtrema (XP)




Praticas da programação XP

• Codificação e lançamento (liberação) de código

– Build de dez minutos (compilar)
– Integração contínua

• Codificação e lançamento (liberação) de código

– Código e testes
– Código compartilhado
– Base de código única
– Entrega (deployment) diária
Gerenciamento de Equipes
com Scrum
Programação
                   Scrum
    eXtrema (XP)




• O Scrum é um processo de desenvolvimento iterativo e incremental para
  gerenciamento de projetos e desenvolvimento ágil de software.


• Scrum possui seu foco na gerenciamento de projeto da organização onde é
  difícil planejar à frente.
Programação
                   Scrum
    eXtrema (XP)




Características


• Processo de controle e gerenciamento
• Processo iterativo de inspeção e adaptação
• Usado para gerenciar projetos complexos
• Entrega valor de negócio periodicamente
• Compatível com CMMi até o nível 3, ISO e outras metodologias
• Extremamente simples, mas muito difícil
Programação
                       Scrum
     eXtrema (XP)



• Princípios do SCRUM


• Os envolvidos trabalham em equipe com:
• – Responsabilidade
• – Transparência
• – Honestidade
• – Auto-organização


• Fornecer software funcionando
• – De forma incremental
• – Potencialmente empregável
Programação
                   Scrum
    eXtrema (XP)




• Tipos de processo SCRUM


• Processo prescritivo
– Funciona em ambientes controlados


• Processo empírico
– Funciona para processos complexos e imprevisíveis
Programação pareada
Programação                               Programação
                            Scrum
       eXtrema (XP)                              pareada



• Programação pareada é a prática onde um ou mais programadores
trabalham lado a lado em um computador colaborando no mesmo
projeto, algoritmo, código ou teste.


Principal vantagem

Quando se está trabalhando em par se trabalha o dia todo. Pois ao
trabalhar sozinho, você vê o seu e-mail, lê blogs e etc. E essas coisas
não acontecem com programação em par. Ao fim de um dia de
programação em par você está cansado, pois você realmente pensou
e trabalhou o dia todo. Mas você fica contente, pois sabe que teve o
trabalho realizado
Programação                   Programação
                  Scrum
   eXtrema (XP)                  pareada




• O par é composto de:


• Um motorista: que digita no computador ou registra o projeto
• Um navegador: que observa o trabalho do motorista e identifica
  problemas, clarifica questões e faz sugestões.
• Os parceiros devem trocar de papéis de tempos em tempos para compartilhar o
  trabalho igualmente e obter o máximo da sua experiência com a programação
  pareada.
Programação                   Programação
                   Scrum
   eXtrema (XP)                  pareada




• Importante


• Um controla o teclado e o mouse
• O outro observa criticamente
• Os dois estão continuamente dialogando
• De tempos em tempos, o controle muda de mãos
• Ao longo de um projeto, os companheiros são trocados
Programação                   Programação
                  Scrum
   eXtrema (XP)                  pareada




• Vale a pena ?


• Aparentemente não...
• Usa dois “recursos” em vez de um
• Pagar o salário de dois desenvolvedores para trabalharem num mesmo
  problema???
• Os dois usam o mesmo computador a maior parte do tempo (o outro fica ocioso...)
Programação                  Programação
                    Scrum
   eXtrema (XP)                 pareada




• Por que fazer ?


• Pesquisas mostraram que:


• Aumenta a qualidade do software
• As tarefas são completadas em menos tempo(mas não necessariamente em menos
  da metade do tempo que um programador sozinho gasta)
• Tão importante quanto a programação pareada são a análise pareada e o projeto
  (design) pareado
Orientada a testes
Programação                  Programação   Orientado a
                   Scrum
   eXtrema (XP)                 pareada       testes



• Orientada no modelo cascata


– Licitação de requisitos
– Projeto
– Construção (implementação ou codificação)
– Integração
– Teste e depuração
– Instalação
– Manutenção de software
Programação             Programação   Orientado a
                    Scrum
    eXtrema (XP)            pareada       testes



• Tipos de testes
• Unidade
• Integração
• Interface de Usuário
• Aceitação
• Mutação
• Desempenho
• Estresse
• Segurança
Programação                     Programação   Orientado a
                     Scrum
     eXtrema (XP)                    pareada       testes



• Teste de Software:
– Executar o programa a ser testado com alguma entrada e conferir visualmente os
resultados obtidos
• Teste Automatizado:
– Programa ou script executável que roda o programa a ser testado e faz verificações
automáticas em cima dos efeitos colaterais obtidos.
• Testar NÃO é depurar
– Testar é verificar a presença de erros
– Depurar é seguir o fluxo para identificar um erro conhecido
Programação                       Programação      Orientado a
                   Scrum
eXtrema (XP)                      pareada          testes
   Principais Métodos

   • Referencias


   • BECK, Kent. Simple Smalltalk Testing: With Patterns.
   • http://www.xprogramming.com/testfram.htm
   • http://www-128.ibm.com/developerworks/java/library/•
   • http://www.instrumentalservices.com/media/articles
   • http://www.prowareness.com/blog/pair-programing-an-xp-practice-benefits/


   Livro: Metodologias Ágeis: Engenharia de Software sob Medida - José Henrique
   Teixeira de Carvalho Sbrocco e Paulo Cesar de Macedo

Mais conteúdo relacionado

Mais procurados

Extreme programming (xp)
 Extreme programming   (xp) Extreme programming   (xp)
Extreme programming (xp)
João Carlos Ottobboni
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
Marcos Pereira
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?
Igor Abade
 
Extreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia ÁgilExtreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia Ágil
Jaffer Veronezi
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Adolfo Neto
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
Marcelo Láias
 
Apresentando Extreme Programming
Apresentando Extreme ProgrammingApresentando Extreme Programming
Apresentando Extreme Programming
Milfont Consulting
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Neubio Ferreira
 
Introdução: eXtreme Programming
Introdução: eXtreme ProgrammingIntrodução: eXtreme Programming
Introdução: eXtreme Programming
Denis L Presciliano
 
Modelagem Ágil
Modelagem ÁgilModelagem Ágil
Modelagem Ágil
Rodrigo Branas
 
Scrum: entendendo o framework e aplicando no dia-a-dia
Scrum: entendendo o framework e aplicando no dia-a-diaScrum: entendendo o framework e aplicando no dia-a-dia
Scrum: entendendo o framework e aplicando no dia-a-dia
Vítor Bruno de Almeida
 
Software
SoftwareSoftware
Es capítulo 3 - desenvolvimento ágil
Es   capítulo 3 -  desenvolvimento ágilEs   capítulo 3 -  desenvolvimento ágil
Es capítulo 3 - desenvolvimento ágil
Felipe Oliveira
 
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile AppAula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Cloves da Rocha
 
Cafe agil em Recife - Agile and Design
Cafe agil em Recife - Agile and DesignCafe agil em Recife - Agile and Design
Cafe agil em Recife - Agile and Design
Thoughtworks
 
TDD e Refactoring
TDD e RefactoringTDD e Refactoring
TDD e Refactoring
André Pitombeira
 
Aplicando eXtreming Programing ao cenário do Borland ALM - BorCon 2003
Aplicando  eXtreming Programing  ao cenário do  Borland ALM - BorCon 2003Aplicando  eXtreming Programing  ao cenário do  Borland ALM - BorCon 2003
Aplicando eXtreming Programing ao cenário do Borland ALM - BorCon 2003
Edgar Silva
 
Palestra scrum
Palestra scrumPalestra scrum
Palestra scrum
Paulo Igor Alves Godinho
 
Introdução a Modelagem
Introdução a ModelagemIntrodução a Modelagem
Introdução a Modelagem
Rodrigo Branas
 
Es capítulo 3 - desenvolvimento ágil
Es   capítulo 3  -  desenvolvimento ágilEs   capítulo 3  -  desenvolvimento ágil
Es capítulo 3 - desenvolvimento ágil
Felipe Oliveira
 

Mais procurados (20)

Extreme programming (xp)
 Extreme programming   (xp) Extreme programming   (xp)
Extreme programming (xp)
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?
 
Extreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia ÁgilExtreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia Ágil
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Apresentando Extreme Programming
Apresentando Extreme ProgrammingApresentando Extreme Programming
Apresentando Extreme Programming
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
 
Introdução: eXtreme Programming
Introdução: eXtreme ProgrammingIntrodução: eXtreme Programming
Introdução: eXtreme Programming
 
Modelagem Ágil
Modelagem ÁgilModelagem Ágil
Modelagem Ágil
 
Scrum: entendendo o framework e aplicando no dia-a-dia
Scrum: entendendo o framework e aplicando no dia-a-diaScrum: entendendo o framework e aplicando no dia-a-dia
Scrum: entendendo o framework e aplicando no dia-a-dia
 
Software
SoftwareSoftware
Software
 
Es capítulo 3 - desenvolvimento ágil
Es   capítulo 3 -  desenvolvimento ágilEs   capítulo 3 -  desenvolvimento ágil
Es capítulo 3 - desenvolvimento ágil
 
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile AppAula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile App
 
Cafe agil em Recife - Agile and Design
Cafe agil em Recife - Agile and DesignCafe agil em Recife - Agile and Design
Cafe agil em Recife - Agile and Design
 
TDD e Refactoring
TDD e RefactoringTDD e Refactoring
TDD e Refactoring
 
Aplicando eXtreming Programing ao cenário do Borland ALM - BorCon 2003
Aplicando  eXtreming Programing  ao cenário do  Borland ALM - BorCon 2003Aplicando  eXtreming Programing  ao cenário do  Borland ALM - BorCon 2003
Aplicando eXtreming Programing ao cenário do Borland ALM - BorCon 2003
 
Palestra scrum
Palestra scrumPalestra scrum
Palestra scrum
 
Introdução a Modelagem
Introdução a ModelagemIntrodução a Modelagem
Introdução a Modelagem
 
Es capítulo 3 - desenvolvimento ágil
Es   capítulo 3  -  desenvolvimento ágilEs   capítulo 3  -  desenvolvimento ágil
Es capítulo 3 - desenvolvimento ágil
 

Destaque

TDD - A Verdadeira Face do Teste
TDD - A Verdadeira Face do TesteTDD - A Verdadeira Face do Teste
TDD - A Verdadeira Face do Teste
Aislan Fernandes
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
Vitor Castro
 
Curso Xp
Curso XpCurso Xp
Curso Xp
brunopedroso
 
Parear é um pouco mais que sentar ao lado
Parear é um pouco mais que sentar ao ladoParear é um pouco mais que sentar ao lado
Parear é um pouco mais que sentar ao lado
Michel Cordeiro
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
Tiago R. Sampaio
 
Xp - extreme programing
Xp - extreme programingXp - extreme programing
Xp - extreme programing
Raphael Bertassin
 
Trabalho xp
Trabalho xpTrabalho xp
Trabalho xp
Gustavo Medeiros
 
Agile User Experience
Agile User ExperienceAgile User Experience
Agile User Experience
Lógica Digital
 
Engenharia de Software - Ian Sommerville
Engenharia de Software - Ian SommervilleEngenharia de Software - Ian Sommerville
Engenharia de Software - Ian Sommerville
Tiago Canabarro
 
Análise de sistemas aula 2
Análise de sistemas   aula 2Análise de sistemas   aula 2
Análise de sistemas aula 2
Mário Gomes
 
Metodologia Crystal Clear (Crystal Clear Methodologies)
Metodologia Crystal Clear (Crystal Clear Methodologies)Metodologia Crystal Clear (Crystal Clear Methodologies)
Metodologia Crystal Clear (Crystal Clear Methodologies)
Thiago Sinésio
 
Introdução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoIntrodução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel Brandão
Daniel Brandão
 
As aula 1 - introdução a análise de sistemas
As   aula 1 - introdução a análise de sistemasAs   aula 1 - introdução a análise de sistemas
As aula 1 - introdução a análise de sistemas
tontotsilva
 
Introdução à Análise de Sistemas - Parte II
Introdução à Análise de Sistemas - Parte IIIntrodução à Análise de Sistemas - Parte II
Introdução à Análise de Sistemas - Parte II
Nécio de Lima Veras
 
Introdução à Análise de Sistemas
Introdução à Análise de SistemasIntrodução à Análise de Sistemas
Introdução à Análise de Sistemas
Nécio de Lima Veras
 
Aula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de SistemasAula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de Sistemas
Gustavo Gonzalez
 
Análise e Projeto de Sistemas
Análise e Projeto de SistemasAnálise e Projeto de Sistemas
Análise e Projeto de Sistemas
Guilherme
 
Introdução a analise de sistemas i
Introdução a analise de sistemas iIntrodução a analise de sistemas i
Introdução a analise de sistemas i
Ray Fran Pires
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006
Luís Fernando Richter
 

Destaque (19)

TDD - A Verdadeira Face do Teste
TDD - A Verdadeira Face do TesteTDD - A Verdadeira Face do Teste
TDD - A Verdadeira Face do Teste
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Curso Xp
Curso XpCurso Xp
Curso Xp
 
Parear é um pouco mais que sentar ao lado
Parear é um pouco mais que sentar ao ladoParear é um pouco mais que sentar ao lado
Parear é um pouco mais que sentar ao lado
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Xp - extreme programing
Xp - extreme programingXp - extreme programing
Xp - extreme programing
 
Trabalho xp
Trabalho xpTrabalho xp
Trabalho xp
 
Agile User Experience
Agile User ExperienceAgile User Experience
Agile User Experience
 
Engenharia de Software - Ian Sommerville
Engenharia de Software - Ian SommervilleEngenharia de Software - Ian Sommerville
Engenharia de Software - Ian Sommerville
 
Análise de sistemas aula 2
Análise de sistemas   aula 2Análise de sistemas   aula 2
Análise de sistemas aula 2
 
Metodologia Crystal Clear (Crystal Clear Methodologies)
Metodologia Crystal Clear (Crystal Clear Methodologies)Metodologia Crystal Clear (Crystal Clear Methodologies)
Metodologia Crystal Clear (Crystal Clear Methodologies)
 
Introdução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoIntrodução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel Brandão
 
As aula 1 - introdução a análise de sistemas
As   aula 1 - introdução a análise de sistemasAs   aula 1 - introdução a análise de sistemas
As aula 1 - introdução a análise de sistemas
 
Introdução à Análise de Sistemas - Parte II
Introdução à Análise de Sistemas - Parte IIIntrodução à Análise de Sistemas - Parte II
Introdução à Análise de Sistemas - Parte II
 
Introdução à Análise de Sistemas
Introdução à Análise de SistemasIntrodução à Análise de Sistemas
Introdução à Análise de Sistemas
 
Aula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de SistemasAula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de Sistemas
 
Análise e Projeto de Sistemas
Análise e Projeto de SistemasAnálise e Projeto de Sistemas
Análise e Projeto de Sistemas
 
Introdução a analise de sistemas i
Introdução a analise de sistemas iIntrodução a analise de sistemas i
Introdução a analise de sistemas i
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006
 

Semelhante a Desenvolvimento de Software

Metodologias Ágeis
Metodologias ÁgeisMetodologias Ágeis
Metodologias Ágeis
Profa Karen Borges
 
Metodologias Ágeis
Metodologias ÁgeisMetodologias Ágeis
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Igor Abade
 
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
André Dias
 
introxp-180413013250.pdf
introxp-180413013250.pdfintroxp-180413013250.pdf
introxp-180413013250.pdf
PedroLuis216164
 
Métodos ágeis de desenvolvimento de software
Métodos ágeis de desenvolvimento de softwareMétodos ágeis de desenvolvimento de software
Métodos ágeis de desenvolvimento de software
Jerônimo Medina Madruga
 
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatosSCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
Paulo César M Jeveaux
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Domingos Teruel
 
Texto de Apoio2_Síntese de Metodologias Ageis.ppt
Texto de Apoio2_Síntese de Metodologias Ageis.pptTexto de Apoio2_Síntese de Metodologias Ageis.ppt
Texto de Apoio2_Síntese de Metodologias Ageis.ppt
HurgelNeto
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
Elaine Cecília Gatto
 
[GUTS-RS] GUTS Talks - Automação de Testes
[GUTS-RS] GUTS Talks - Automação de Testes[GUTS-RS] GUTS Talks - Automação de Testes
[GUTS-RS] GUTS Talks - Automação de Testes
GUTS-RS
 
O que é SCRUM
O que é SCRUMO que é SCRUM
Engenharia de Software: A ponte para um código sustentável
Engenharia de Software: A ponte para um código sustentávelEngenharia de Software: A ponte para um código sustentável
Engenharia de Software: A ponte para um código sustentável
Fernando Pontes
 
Introdução ao desenvolvimento ágil com Scrum
Introdução ao desenvolvimento ágil com ScrumIntrodução ao desenvolvimento ágil com Scrum
Introdução ao desenvolvimento ágil com Scrum
Inove
 
IPA Conhecendo XP
IPA Conhecendo XPIPA Conhecendo XP
IPA Conhecendo XP
Wildtech
 
Programacao Extrema
Programacao ExtremaProgramacao Extrema
Programacao Extrema
Robson Silva Espig
 
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilEngenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Rebecca Betwel
 
Lista de Práticas Ágeis
Lista de Práticas ÁgeisLista de Práticas Ágeis
Lista de Práticas Ágeis
Julio Cezar Silva
 
Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013
André Borgonovo
 
ageis2003.ppt
ageis2003.pptageis2003.ppt
ageis2003.ppt
JAIMEMARTINS18
 

Semelhante a Desenvolvimento de Software (20)

Metodologias Ágeis
Metodologias ÁgeisMetodologias Ágeis
Metodologias Ágeis
 
Metodologias Ágeis
Metodologias ÁgeisMetodologias Ágeis
Metodologias Ágeis
 
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
 
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
 
introxp-180413013250.pdf
introxp-180413013250.pdfintroxp-180413013250.pdf
introxp-180413013250.pdf
 
Métodos ágeis de desenvolvimento de software
Métodos ágeis de desenvolvimento de softwareMétodos ágeis de desenvolvimento de software
Métodos ágeis de desenvolvimento de software
 
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatosSCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
SCRUM e XP - Desenvolvimento Ágil de Software - Experiências e relatos
 
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnitQualidade no desenvolvimento de Software com TDD e PHPUnit
Qualidade no desenvolvimento de Software com TDD e PHPUnit
 
Texto de Apoio2_Síntese de Metodologias Ageis.ppt
Texto de Apoio2_Síntese de Metodologias Ageis.pptTexto de Apoio2_Síntese de Metodologias Ageis.ppt
Texto de Apoio2_Síntese de Metodologias Ageis.ppt
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
[GUTS-RS] GUTS Talks - Automação de Testes
[GUTS-RS] GUTS Talks - Automação de Testes[GUTS-RS] GUTS Talks - Automação de Testes
[GUTS-RS] GUTS Talks - Automação de Testes
 
O que é SCRUM
O que é SCRUMO que é SCRUM
O que é SCRUM
 
Engenharia de Software: A ponte para um código sustentável
Engenharia de Software: A ponte para um código sustentávelEngenharia de Software: A ponte para um código sustentável
Engenharia de Software: A ponte para um código sustentável
 
Introdução ao desenvolvimento ágil com Scrum
Introdução ao desenvolvimento ágil com ScrumIntrodução ao desenvolvimento ágil com Scrum
Introdução ao desenvolvimento ágil com Scrum
 
IPA Conhecendo XP
IPA Conhecendo XPIPA Conhecendo XP
IPA Conhecendo XP
 
Programacao Extrema
Programacao ExtremaProgramacao Extrema
Programacao Extrema
 
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilEngenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
 
Lista de Práticas Ágeis
Lista de Práticas ÁgeisLista de Práticas Ágeis
Lista de Práticas Ágeis
 
Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013
 
ageis2003.ppt
ageis2003.pptageis2003.ppt
ageis2003.ppt
 

Mais de Adilmar Dantas

Querying nosql stores
Querying nosql storesQuerying nosql stores
Querying nosql stores
Adilmar Dantas
 
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
Adilmar Dantas
 
Programação Android Phonegap 1
Programação Android Phonegap 1Programação Android Phonegap 1
Programação Android Phonegap 1
Adilmar Dantas
 
Potenciação Divide and Conquer
Potenciação Divide and ConquerPotenciação Divide and Conquer
Potenciação Divide and Conquer
Adilmar Dantas
 
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
Adilmar Dantas
 
Análise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de EmoçõesAnálise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de Emoções
Adilmar Dantas
 
Reconhecimento Automático de Emoções
Reconhecimento Automático de EmoçõesReconhecimento Automático de Emoções
Reconhecimento Automático de Emoções
Adilmar Dantas
 
Reconhecimento automático de emoções
Reconhecimento automático de emoçõesReconhecimento automático de emoções
Reconhecimento automático de emoções
Adilmar Dantas
 
Detecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLPDetecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLP
Adilmar Dantas
 
Rede Neural MLP para reconhecimento de Faces
Rede Neural MLP para reconhecimento de FacesRede Neural MLP para reconhecimento de Faces
Rede Neural MLP para reconhecimento de Faces
Adilmar Dantas
 
ALgoritmo Genético - Escalonamento
ALgoritmo Genético - EscalonamentoALgoritmo Genético - Escalonamento
ALgoritmo Genético - Escalonamento
Adilmar Dantas
 
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOSBIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
Adilmar Dantas
 
Alinhamento de Sequencia DNA
Alinhamento de Sequencia DNAAlinhamento de Sequencia DNA
Alinhamento de Sequencia DNA
Adilmar Dantas
 
3ª maratona de games – facom ufu
3ª maratona de games – facom  ufu3ª maratona de games – facom  ufu
3ª maratona de games – facom ufu
Adilmar Dantas
 
Monitor Cardíaco usando Arduino
Monitor Cardíaco usando Arduino Monitor Cardíaco usando Arduino
Monitor Cardíaco usando Arduino
Adilmar Dantas
 
Algoritmo clique maximo - Analise de Algoritmos
Algoritmo clique maximo  - Analise de AlgoritmosAlgoritmo clique maximo  - Analise de Algoritmos
Algoritmo clique maximo - Analise de Algoritmos
Adilmar Dantas
 
Servidores Web
Servidores WebServidores Web
Servidores Web
Adilmar Dantas
 
TCC: WebLab Laboratório de Experimentação Remota
TCC: WebLab Laboratório de Experimentação RemotaTCC: WebLab Laboratório de Experimentação Remota
TCC: WebLab Laboratório de Experimentação Remota
Adilmar Dantas
 
Weblab TCC
Weblab TCCWeblab TCC
Weblab TCC
Adilmar Dantas
 
Engenharia de software testes
Engenharia de software  testesEngenharia de software  testes
Engenharia de software testes
Adilmar Dantas
 

Mais de Adilmar Dantas (20)

Querying nosql stores
Querying nosql storesQuerying nosql stores
Querying nosql stores
 
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
 
Programação Android Phonegap 1
Programação Android Phonegap 1Programação Android Phonegap 1
Programação Android Phonegap 1
 
Potenciação Divide and Conquer
Potenciação Divide and ConquerPotenciação Divide and Conquer
Potenciação Divide and Conquer
 
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
 
Análise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de EmoçõesAnálise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de Emoções
 
Reconhecimento Automático de Emoções
Reconhecimento Automático de EmoçõesReconhecimento Automático de Emoções
Reconhecimento Automático de Emoções
 
Reconhecimento automático de emoções
Reconhecimento automático de emoçõesReconhecimento automático de emoções
Reconhecimento automático de emoções
 
Detecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLPDetecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLP
 
Rede Neural MLP para reconhecimento de Faces
Rede Neural MLP para reconhecimento de FacesRede Neural MLP para reconhecimento de Faces
Rede Neural MLP para reconhecimento de Faces
 
ALgoritmo Genético - Escalonamento
ALgoritmo Genético - EscalonamentoALgoritmo Genético - Escalonamento
ALgoritmo Genético - Escalonamento
 
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOSBIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
 
Alinhamento de Sequencia DNA
Alinhamento de Sequencia DNAAlinhamento de Sequencia DNA
Alinhamento de Sequencia DNA
 
3ª maratona de games – facom ufu
3ª maratona de games – facom  ufu3ª maratona de games – facom  ufu
3ª maratona de games – facom ufu
 
Monitor Cardíaco usando Arduino
Monitor Cardíaco usando Arduino Monitor Cardíaco usando Arduino
Monitor Cardíaco usando Arduino
 
Algoritmo clique maximo - Analise de Algoritmos
Algoritmo clique maximo  - Analise de AlgoritmosAlgoritmo clique maximo  - Analise de Algoritmos
Algoritmo clique maximo - Analise de Algoritmos
 
Servidores Web
Servidores WebServidores Web
Servidores Web
 
TCC: WebLab Laboratório de Experimentação Remota
TCC: WebLab Laboratório de Experimentação RemotaTCC: WebLab Laboratório de Experimentação Remota
TCC: WebLab Laboratório de Experimentação Remota
 
Weblab TCC
Weblab TCCWeblab TCC
Weblab TCC
 
Engenharia de software testes
Engenharia de software  testesEngenharia de software  testes
Engenharia de software testes
 

Desenvolvimento de Software

  • 1.
  • 3. O que são métodos ágeis de desenvolvimento? • Metodologias de desenvolvimento que nos permita alterar constantemente o código sem comprometer sua qualidade. Quanto mais Estabilidade da relação custo e funcionalida funcionalidade des maior o custo
  • 4. Principais Métodos • Abordadas • Outros métodos • Programação extrema • Adaptive Software Development • Scrum • Crystal • Programação pareada • Pragmatic Programming • Orientado a testes
  • 5. Casos de sucesso !!!! • Assembléia Legislativa do Estado de São Paulo • Ikwa • ITM • Paggo • Parceria com Scopus e LARC • Sistema Janus • LocaWeb
  • 7. Programação eXtrema (XP) É uma metodologia ágil para equipes pequenas e médias e que irão desenvolver software com requisitos vagos e em constante mudança. Para isso, adota a estratégia de constante acompanhamento e realização de vários pequenos ajustes durante o desenvolvimento de software. Desenvolvedor (KENT BECK) Valores • Comunicação • Simplicidade • Retroalimentação (Feedback) • Coragem • Respeito Comunicação • A maioria dos problemas e erros são causados por falta de comunicação • Maximizar a comunicação entre a equipe e o cliente • Comunicação entre pessoas: direta • Comunicação entre pessoas e artefatos: • estes devem ser de leitura fácil e estar atualizados
  • 8. Programação eXtrema (XP) Valores contrários a programação XP • Comunicação – preferir papel a olho-no-olho • Simplicidade – fazer mais do que o necessário para resolver o problema atual pensando em antecipar a resolução de problemas futuros • Retroalimentação (Feedback) – Retroalimentação só bem perto do final. Contrato assinado. • Coragem • Respeito – Longas jornadas de trabalho para terminar o projeto
  • 9. Programação eXtrema (XP) Princípios da programação XP • Humanidade • Economia • Benefício mútuo • Auto similaridade • Melhora contínua • Diversidade • Reflexão • Oportunidade • Redundância • Falha • Qualidade • Passos de bebê • Responsabilidade aceita
  • 10. Programação eXtrema (XP) Praticas da programação XP • Categorias • Fatores relacionados a equipes e fatores humanos – Análise de Requisitos e Planejamento – Sentar junto – Fatores relacionados a equipes e fatores humanos – Time inteiro – Projeto (Design) – Ambiente de trabalho informativo – Codificação e lançamento (liberação) de código – Trabalho energizado – Programação Pareada • Análise de Requisitos e Planejamento • Projeto (Design) – Ciclo semanal – Ciclo quinzenal – Design incremental – Folga – Programação com testes primeiro
  • 11. Programação eXtrema (XP) Praticas da programação XP • Codificação e lançamento (liberação) de código – Build de dez minutos (compilar) – Integração contínua • Codificação e lançamento (liberação) de código – Código e testes – Código compartilhado – Base de código única – Entrega (deployment) diária
  • 13. Programação Scrum eXtrema (XP) • O Scrum é um processo de desenvolvimento iterativo e incremental para gerenciamento de projetos e desenvolvimento ágil de software. • Scrum possui seu foco na gerenciamento de projeto da organização onde é difícil planejar à frente.
  • 14. Programação Scrum eXtrema (XP) Características • Processo de controle e gerenciamento • Processo iterativo de inspeção e adaptação • Usado para gerenciar projetos complexos • Entrega valor de negócio periodicamente • Compatível com CMMi até o nível 3, ISO e outras metodologias • Extremamente simples, mas muito difícil
  • 15. Programação Scrum eXtrema (XP) • Princípios do SCRUM • Os envolvidos trabalham em equipe com: • – Responsabilidade • – Transparência • – Honestidade • – Auto-organização • Fornecer software funcionando • – De forma incremental • – Potencialmente empregável
  • 16. Programação Scrum eXtrema (XP) • Tipos de processo SCRUM • Processo prescritivo – Funciona em ambientes controlados • Processo empírico – Funciona para processos complexos e imprevisíveis
  • 18. Programação Programação Scrum eXtrema (XP) pareada • Programação pareada é a prática onde um ou mais programadores trabalham lado a lado em um computador colaborando no mesmo projeto, algoritmo, código ou teste. Principal vantagem Quando se está trabalhando em par se trabalha o dia todo. Pois ao trabalhar sozinho, você vê o seu e-mail, lê blogs e etc. E essas coisas não acontecem com programação em par. Ao fim de um dia de programação em par você está cansado, pois você realmente pensou e trabalhou o dia todo. Mas você fica contente, pois sabe que teve o trabalho realizado
  • 19. Programação Programação Scrum eXtrema (XP) pareada • O par é composto de: • Um motorista: que digita no computador ou registra o projeto • Um navegador: que observa o trabalho do motorista e identifica problemas, clarifica questões e faz sugestões. • Os parceiros devem trocar de papéis de tempos em tempos para compartilhar o trabalho igualmente e obter o máximo da sua experiência com a programação pareada.
  • 20. Programação Programação Scrum eXtrema (XP) pareada • Importante • Um controla o teclado e o mouse • O outro observa criticamente • Os dois estão continuamente dialogando • De tempos em tempos, o controle muda de mãos • Ao longo de um projeto, os companheiros são trocados
  • 21. Programação Programação Scrum eXtrema (XP) pareada • Vale a pena ? • Aparentemente não... • Usa dois “recursos” em vez de um • Pagar o salário de dois desenvolvedores para trabalharem num mesmo problema??? • Os dois usam o mesmo computador a maior parte do tempo (o outro fica ocioso...)
  • 22. Programação Programação Scrum eXtrema (XP) pareada • Por que fazer ? • Pesquisas mostraram que: • Aumenta a qualidade do software • As tarefas são completadas em menos tempo(mas não necessariamente em menos da metade do tempo que um programador sozinho gasta) • Tão importante quanto a programação pareada são a análise pareada e o projeto (design) pareado
  • 24. Programação Programação Orientado a Scrum eXtrema (XP) pareada testes • Orientada no modelo cascata – Licitação de requisitos – Projeto – Construção (implementação ou codificação) – Integração – Teste e depuração – Instalação – Manutenção de software
  • 25. Programação Programação Orientado a Scrum eXtrema (XP) pareada testes • Tipos de testes • Unidade • Integração • Interface de Usuário • Aceitação • Mutação • Desempenho • Estresse • Segurança
  • 26. Programação Programação Orientado a Scrum eXtrema (XP) pareada testes • Teste de Software: – Executar o programa a ser testado com alguma entrada e conferir visualmente os resultados obtidos • Teste Automatizado: – Programa ou script executável que roda o programa a ser testado e faz verificações automáticas em cima dos efeitos colaterais obtidos. • Testar NÃO é depurar – Testar é verificar a presença de erros – Depurar é seguir o fluxo para identificar um erro conhecido
  • 27. Programação Programação Orientado a Scrum eXtrema (XP) pareada testes Principais Métodos • Referencias • BECK, Kent. Simple Smalltalk Testing: With Patterns. • http://www.xprogramming.com/testfram.htm • http://www-128.ibm.com/developerworks/java/library/• • http://www.instrumentalservices.com/media/articles • http://www.prowareness.com/blog/pair-programing-an-xp-practice-benefits/ Livro: Metodologias Ágeis: Engenharia de Software sob Medida - José Henrique Teixeira de Carvalho Sbrocco e Paulo Cesar de Macedo