Engenharia de Software 
Processos de Software - Desenvolvimento 
Ágil
Objetivos da Aula 
Apresentar o desenvolvimento ágil e os principais modelos conhecidos.
Desenvolvimento Ágil 
Breve Histórico 
2001 - Kent Beck e outros dezesseis desenvolvedores e consultores se reunem e forma...
Desenvolvimento Ágil 
Os 12 princípios do manifesto ágil: 
1. Nossa maior prioridade é satisfazer o cliente, através da en...
Desenvolvimento Ágil 
Os 12 princípios do manifesto ágil: 
6. O Método mais eficiente e eficaz de transmitir informações p...
Desenvolvimento Ágil 
Com base nesses princípios e valores algumas metodologias ágeis de 
desenvolvimento foram surgindo. ...
Desenvolvimento Ágil - XP 
“Extreme Programming (XP) é uma metodologia de desenvolvimento de 
software, nascida nos Estado...
Desenvolvimento Ágil - XP 
Foi definido um conjunto de 5 valores que estabelecem as bases para todo 
trabalho utilizando X...
Desenvolvimento Ágil - XP 
Para estabelecer comunicação efetiva entre engenheiros de software e 
demais envolvidos no sist...
Desenvolvimento Ágil - XP 
Para alcançar a simplicidade, a XP restringe os desenvolvedores a projetar 
apenas para as nece...
Desenvolvimento Ágil - XP 
O feedback provém de três fontes: do próprio software implementado, do 
cliente e dos outros me...
Desenvolvimento Ágil - XP 
A XP foca no desenvolvimento para o software hoje, sem se preocupara com o 
que pode vir a ocor...
Desenvolvimento Ágil - XP 
A XP foca no desenvolvimento para o software hoje, sem se preocupara com o 
que pode vir a ocor...
Desenvolvimento Ágil - XP 
Por fim o respeito, respeitar os membros envolvidos no processo e outros 
envolvidos , de forma...
Desenvolvimento Ágil - XP 
O processo XP 
utiliza-se de 4 atividades metodológicas: 
● Planejamento; 
● Projeto; 
● Codifi...
Desenvolvimento Ágil - XP 
O processo XP: Planejamento 
ouvir - Levantamento de requisitos ( ouvir as partes interessadas ...
Desenvolvimento Ágil - XP 
O processo XP: Projeto 
● Segue o lema KIS (Keep It Simple), mantenha simples. 
● Quando aparec...
Desenvolvimento Ágil - XP 
O processo XP: Codificação 
Conceito chave é a programação em duplas ( duas pessoas em um única...
Desenvolvimento Ágil - XP 
O processo XP: Codificação 
Conceito chave é a programação em duplas ( duas pessoas em um única...
Desenvolvimento Ágil - Scrum 
De acordo com Pressman [PRESSMAN, 2011], o nome Scrum vem de uma 
atividade do rugby. 
Desen...
Desenvolvimento Ágil - Scrum 
“No Scrum, os projetos são dividos em ciclos (tipicamente mensais) chamados 
de Sprints. O S...
Desenvolvimento Ágil - Scrum 
“As funcionalidades a serem implementadas em um projeto são mantidas em 
uma lista que é con...
Desenvolvimento Ágil - Scrum 
“A cada dia de uma Sprint, a equipe faz uma breve reunião (normalmente de 
manhã), chamada D...
Scrum - Ciclo
Exercícios 
1 - Escreva uma história de usuário XP que descreva o recurso “ sitea favoritos 
“ disponível em grande parte ...
Referência Bibliográfica 
PRESSMAN, Roger S. Engenharia de Software: Uma abordagem Profissional / Roger S. Pressman; 
trad...
Próximos SlideShares
Carregando em…5
×

Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil

437 visualizações

Publicada em

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.

Publicada em: Engenharia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
437
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
21
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil

  1. 1. Engenharia de Software Processos de Software - Desenvolvimento Ágil
  2. 2. Objetivos da Aula Apresentar o desenvolvimento ágil e os principais modelos conhecidos.
  3. 3. Desenvolvimento Ágil Breve Histórico 2001 - Kent Beck e outros dezesseis desenvolvedores e consultores se reunem e formam a “ Agile Alliance “ - “ Aliança dos Ágeis”, e assinam o manifesto ágil. E decidiram valorizar no desenvolvimento, ver o link para o Manifesto Ágil: 1.Indivíduos e interação entre eles mais que processos e ferramentas 2.Software em funcionamento mais que documentação abrangente 3.Colaboração com o cliente mais que negociação de contratos 4.Responder a mudanças mais que seguir um plano
  4. 4. Desenvolvimento Ágil Os 12 princípios do manifesto ágil: 1. Nossa maior prioridade é satisfazer o cliente, através da entrega adiantada e contínua de software de valor. 2. Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. Processos ágeis se adequam a mudanças, para que o cliente possa tirar vantagens competitivas. 3. Entregar software funcionando com freqüencia, na escala de semanas até meses, com preferência aos períodos mais curtos. 4. Pessoas relacionadas à negócios e desenvolvedores devem trabalhar em conjunto e diáriamente, durante todo o curso do projeto. 5. Construir projetos ao redor de indivíduos motivados. Dando a eles o ambiente e suporte necessário, e confiar que farão seu trabalho.
  5. 5. Desenvolvimento Ágil Os 12 princípios do manifesto ágil: 6. O Método mais eficiente e eficaz de transmitir informações para, e por dentro de um time de desenvolvimento, é através de uma conversa cara a cara. 7. Software funcional é a medida primária de progresso. 8. Processos ágeis promovem um ambiente sustentável. Os patrocinadores, desenvolvedores e usuários, devem ser capazes de manter indefinidamente, passos constantes. 9. Contínua atenção à excelência técnica e bom design, aumenta a agilidade. 10. Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser feito. 11. As melhores arquiteturas, requisitos e designs emergem de times auto-organizáveis. 12. Em intervalos regulares, o time reflete em como ficar mais efetivo, então, se ajustam e otimizam seu comportamento de acordo.
  6. 6. Desenvolvimento Ágil Com base nesses princípios e valores algumas metodologias ágeis de desenvolvimento foram surgindo. Entre elas podemos destacar: XP e Scrum.
  7. 7. Desenvolvimento Ágil - XP “Extreme Programming (XP) é uma metodologia de desenvolvimento de software, nascida nos Estados Unidos ao final da década de 90. Vem fazendo sucesso em diversos países, por ajudar a criar sistemas de melhor qualidade, que são produzidos em menos tempo e de forma mais econômica que o habitual. Tais objetivos são alcançados através de um pequeno conjunto de valores, princípios e práticas, que diferem substancialmente da forma tradicional de se desenvolver software. “ (Extreme Programming)
  8. 8. Desenvolvimento Ágil - XP Foi definido um conjunto de 5 valores que estabelecem as bases para todo trabalho utilizando XP: ● Comunicação; ● Simplicidade; ● Feedback; ● Coragem (Disciplina) e ● Respeito.
  9. 9. Desenvolvimento Ágil - XP Para estabelecer comunicação efetiva entre engenheiros de software e demais envolvidos no sistema, a XP enfatiza a colaboração estreita, embora muitas vezes informal ( de forma verbal), entre clientes e desenvolvedores, o estabelecimento de metáforas eficazes para comunicar conceitos importantes, feedback contínuo e evitar documentação volumosa como meio de comunicação.
  10. 10. Desenvolvimento Ágil - XP Para alcançar a simplicidade, a XP restringe os desenvolvedores a projetar apenas para as necessidades imediatas, em vez de considerarem as necessidades futuras. O intuito é criar um projeto simples que possa ser facilmente implementado em código. Caso precise melhorar, isso poderá ser facilmente feito posteriormente.
  11. 11. Desenvolvimento Ágil - XP O feedback provém de três fontes: do próprio software implementado, do cliente e dos outros membros da equipe de software. Através de uma estratégia para elaboração eficazes dos testes, eles podem fornecer um feedback para a equipe ágil. O XP valoriza os testes unitários, a medida que as classes são implementadas os testes unitários são feitos para cada operação , de acordo com a funcionalidade especificada. A medida que, um incremento é entregue a um cliente, as histórias de usuários ou casos de uso implementados pelo incremento são usados como base para testes de aceitação.
  12. 12. Desenvolvimento Ágil - XP A XP foca no desenvolvimento para o software hoje, sem se preocupara com o que pode vir a ocorrer com o software no futuro para isso é preciso coragem, ou disciplina, para atenter as necessidades atuais do projeto. Por este motivo muitas equipes que utilizam métodos ágeis sucubem, pois é um engano querer projetar o “futuro do sistema” já que as mudanças são bem aceitas, logo se a equipe ao inves de preocupar-se com o problema atual preocupa-se com problemas futuros podem ter realmente perdas significativas de trabalho já que o amanhã do sistema pode sofrer grandes mudanças.
  13. 13. Desenvolvimento Ágil - XP A XP foca no desenvolvimento para o software hoje, sem se preocupara com o que pode vir a ocorrer com o software no futuro para isso é preciso coragem, ou disciplina, para atenter as necessidades atuais do projeto. Por este motivo muitas equipes que utilizam métodos ágeis sucubem, pois é um engano querer projetar o “futuro do sistema” já que as mudanças são bem aceitas, logo se a equipe ao inves de preocupar-se com o problema atual preocupa-se com problemas futuros podem ter realmente perdas significativas de trabalho já que o amanhã do sistema pode sofrer grandes mudanças.
  14. 14. Desenvolvimento Ágil - XP Por fim o respeito, respeitar os membros envolvidos no processo e outros envolvidos , de forma direta ou indireta.
  15. 15. Desenvolvimento Ágil - XP O processo XP utiliza-se de 4 atividades metodológicas: ● Planejamento; ● Projeto; ● Codificação e ● Testes.
  16. 16. Desenvolvimento Ágil - XP O processo XP: Planejamento ouvir - Levantamento de requisitos ( ouvir as partes interessadas ) histórias - semelhante aos casos de uso, entender o ambiente de negócios do software - permite uma percepção ampla dos resultados solicitados e esperados para o sistema. “ouvir “ conduz à criação de um conjunto de “histórias” que descrevem os resultados, caracteristicas e funcionalidades esperadas pelo usuário.
  17. 17. Desenvolvimento Ágil - XP O processo XP: Projeto ● Segue o lema KIS (Keep It Simple), mantenha simples. ● Quando aparece um requisito problemático ou confuso, é recomendado a criação de um protótipo. ● Projeto é algo transitório, deve ser continuamente alterado conforme a construção prossegue. ● Essa fase ocorre tanto antes quanto depois da codificação.
  18. 18. Desenvolvimento Ágil - XP O processo XP: Codificação Conceito chave é a programação em duplas ( duas pessoas em um única máquina codificando para criar o código de uma história) ; Conforme a dupla termina uma história, o código gerado é integrado ao software.
  19. 19. Desenvolvimento Ágil - XP O processo XP: Codificação Conceito chave é a programação em duplas ( duas pessoas em um única máquina codificando para criar o código de uma história) ; Conforme a dupla termina uma história, o código gerado é integrado ao software.
  20. 20. Desenvolvimento Ágil - Scrum De acordo com Pressman [PRESSMAN, 2011], o nome Scrum vem de uma atividade do rugby. Desenvolvido no início de 1990 e foi concebido por Jeff Sutherland e sua equipe de desenvolvimento. As atividades estruturais do Scrum são: Requisitos, Analise, projeto, evolução e Entrega.
  21. 21. Desenvolvimento Ágil - Scrum “No Scrum, os projetos são dividos em ciclos (tipicamente mensais) chamados de Sprints. O Sprint representa um Time Box dentro do qual um conjunto de atividades deve ser executado. Metodologias ágeis de desenvolvimento de software são iterativas, ou seja, o trabalho é dividido em iterações, que são chamadas de Sprints no caso do Scrum.” [SCRUM]
  22. 22. Desenvolvimento Ágil - Scrum “As funcionalidades a serem implementadas em um projeto são mantidas em uma lista que é conhecida como Product Backlog. No início de cada Sprint, faz-se um Sprint Planning Meeting, ou seja, uma reunião de planejamento na qual o Product Owner prioriza os itens do Product Backlog e a equipe seleciona as atividades que ela será capaz de implementar durante o Sprint que se inicia. As tarefas alocadas em um Sprint são transferidas do Product Backlog para o Sprint Backlog.” [SCRUM]
  23. 23. Desenvolvimento Ágil - Scrum “A cada dia de uma Sprint, a equipe faz uma breve reunião (normalmente de manhã), chamada Daily Scrum. O objetivo é disseminar conhecimento sobre o que foi feito no dia anterior, identificar impedimentos e priorizar o trabalho do dia que se inicia. Ao final de um Sprint, a equipe apresenta as funcionalidades implementadas em uma Sprint Review Meeting. Finalmente, faz-se uma Sprint Retrospective e a equipe parte para o planejamento do próximo Sprint. Assim reinicia-se o ciclo. Veja a ilustração abaixo: ” [SCRUM]
  24. 24. Scrum - Ciclo
  25. 25. Exercícios 1 - Escreva uma história de usuário XP que descreva o recurso “ sitea favoritos “ disponível em grande parte dos navegadores; 2 - Leia o Manifesto Ágil (http://manifestoagil.com.br/) e comente sobre os “valores” que poderiam levar a quipes a terem problemas. 3 - Pesquise e responda: Qual o papel do Scrum Master e do Product Owner e quem assume essas responsabilidades em um projeto?
  26. 26. Referência Bibliográfica PRESSMAN, Roger S. Engenharia de Software: Uma abordagem Profissional / Roger S. Pressman; tradução Ariovaldo Griesi, Mario Moro Fecchio; revisão técnica Reginaldo Arakaki, Julio Arakaki, Renato Mazan de Andrade. - 7. ed. - Porto Alegre :AMGH, 2011. SOMMERVILLE, Ian. Engenharia de Software, 8º edição / Ian Sommerville; tradução: Selma Shin Shimizu Melnikoff, Reginaldo Arakaki, Edílson de Andrade Barbosa; revisão técnica: Kechi Kirama. -- 8 º ed. -- São Paulo: Pearson Addison - Wesley, 2007. Manifesto Ágil. Disponível em <http://manifestoagil.com.br/>. Acessado em 19 de agosto de 2014. Extreme Programming. Disponível em <http://desenvolvimentoagil.com.br/xp/> . Acessado em 19 de agosto de 2014. Scrum. Disponhttp://desenvolvimentoagil.com.br/scrum/ível em < http://desenvolvimentoagil.com. br/scrum/ > . Acessado em 19 de agosto de 2014.

×