IntroduçãoConceitos e Objetivos
O que são métodos ágeis de desenvolvimento?       • Metodologias de desenvolvimento que nos permita alterar         consta...
Principais Métodos• Abordadas               • Outros métodos•   Programação extrema   • Adaptive Software Development•   S...
Casos de sucesso !!!!• Assembléia Legislativa do Estado de São Paulo• Ikwa• ITM• Paggo• Parceria com Scopus e LARC• Sistem...
Programação eXtrema (XP)
Programação     eXtrema (XP)É uma metodologia ágil para equipes pequenas e médias e que irão desenvolver software com requ...
Programação      eXtrema (XP)Valores contrários a programação XP• Comunicação– preferir papel a olho-no-olho• Simplicidade...
Programação    eXtrema (XP)Princípios da programação XP• Humanidade• Economia• Benefício mútuo• Auto similaridade• Melhora...
Programação     eXtrema (XP)Praticas da programação XP• Categorias                                         • Fatores relac...
Programação    eXtrema (XP)Praticas da programação XP• Codificação e lançamento (liberação) de código– Build de dez minuto...
Gerenciamento de Equipescom Scrum
Programação                   Scrum    eXtrema (XP)• O Scrum é um processo de desenvolvimento iterativo e incremental para...
Programação                   Scrum    eXtrema (XP)Características• Processo de controle e gerenciamento• Processo iterati...
Programação                       Scrum     eXtrema (XP)• Princípios do SCRUM• Os envolvidos trabalham em equipe com:• – R...
Programação                   Scrum    eXtrema (XP)• Tipos de processo SCRUM• Processo prescritivo– Funciona em ambientes ...
Programação pareada
Programação                               Programação                            Scrum       eXtrema (XP)                 ...
Programação                   Programação                  Scrum   eXtrema (XP)                  pareada• O par é composto...
Programação                   Programação                   Scrum   eXtrema (XP)                  pareada• Importante• Um ...
Programação                   Programação                  Scrum   eXtrema (XP)                  pareada• Vale a pena ?• A...
Programação                  Programação                    Scrum   eXtrema (XP)                 pareada• Por que fazer ?•...
Orientada a testes
Programação                  Programação   Orientado a                   Scrum   eXtrema (XP)                 pareada     ...
Programação             Programação   Orientado a                    Scrum    eXtrema (XP)            pareada       testes...
Programação                     Programação   Orientado a                     Scrum     eXtrema (XP)                    pa...
Programação                       Programação      Orientado a                   ScrumeXtrema (XP)                      pa...
Desenvolvimento de Software
Upcoming SlideShare
Loading in...5
×

Desenvolvimento de Software

417

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
417
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Desenvolvimento de Software"

  1. 1. IntroduçãoConceitos e Objetivos
  2. 2. 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 efuncionalida funcionalidade des maior o custo
  3. 3. Principais Métodos• Abordadas • Outros métodos• Programação extrema • Adaptive Software Development• Scrum • Crystal• Programação pareada • Pragmatic Programming• Orientado a testes
  4. 4. Casos de sucesso !!!!• Assembléia Legislativa do Estado de São Paulo• Ikwa• ITM• Paggo• Parceria com Scopus e LARC• Sistema Janus• LocaWeb
  5. 5. Programação eXtrema (XP)
  6. 6. Programação eXtrema (XP)É uma metodologia ágil para equipes pequenas e médias e que irão desenvolver software com requisitos vagos eem constante mudança. Para isso, adota a estratégia de constante acompanhamento e realização de váriospequenos ajustes durante o desenvolvimento de software. Desenvolvedor (KENT BECK)Valores• Comunicação• Simplicidade• Retroalimentação (Feedback)• Coragem• RespeitoComunicaçã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
  7. 7. 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 atualpensando 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
  8. 8. 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
  9. 9. 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
  10. 10. 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
  11. 11. Gerenciamento de Equipescom Scrum
  12. 12. 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.
  13. 13. 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
  14. 14. 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
  15. 15. 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
  16. 16. Programação pareada
  17. 17. Programação Programação Scrum eXtrema (XP) pareada• Programação pareada é a prática onde um ou mais programadorestrabalham lado a lado em um computador colaborando no mesmoprojeto, algoritmo, código ou teste.Principal vantagemQuando se está trabalhando em par se trabalha o dia todo. Pois aotrabalhar sozinho, você vê o seu e-mail, lê blogs e etc. E essas coisasnão acontecem com programação em par. Ao fim de um dia deprogramação em par você está cansado, pois você realmente pensoue trabalhou o dia todo. Mas você fica contente, pois sabe que teve otrabalho realizado
  18. 18. 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.
  19. 19. 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
  20. 20. 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...)
  21. 21. 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
  22. 22. Orientada a testes
  23. 23. 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
  24. 24. 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
  25. 25. 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 osresultados obtidos• Teste Automatizado:– Programa ou script executável que roda o programa a ser testado e faz verificaçõesautomá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
  26. 26. Programação Programação Orientado a ScrumeXtrema (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
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×