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

Click here to load reader

  • date post

    06-Jul-2015
  • Category

    Engineering

  • view

    148
  • download

    4

Embed Size (px)

description

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.

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

  • 1. Engenharia de SoftwareProcessos de Software - Desenvolvimentogil

2. Objetivos da AulaApresentar o desenvolvimento gil e os principais modelos conhecidos. 3. Desenvolvimento gilBreve Histrico2001 - Kent Beck e outros dezesseis desenvolvedores e consultores se reunem e formam a AgileAlliance - Aliana dos geis, e assinam o manifesto gil. E decidiram valorizar nodesenvolvimento, ver o link para o Manifesto gil:1.Indivduos e interao entre eles mais que processos eferramentas2.Software em funcionamento mais que documentaoabrangente3.Colaborao com o cliente mais que negociao de contratos4.Responder a mudanas mais que seguir um plano 4. Desenvolvimento gilOs 12 princpios do manifesto gil:1. Nossa maior prioridade satisfazer o cliente, atravs da entrega adiantada e contnua desoftware de valor.2. Aceitar mudanas de requisitos, mesmo no fim do desenvolvimento. Processos geis seadequam a mudanas, para que o cliente possa tirar vantagens competitivas.3. Entregar software funcionando com freqencia, na escala de semanas at meses, compreferncia aos perodos mais curtos.4. Pessoas relacionadas negcios e desenvolvedores devem trabalhar em conjunto ediriamente, durante todo o curso do projeto.5. Construir projetos ao redor de indivduos motivados. Dando a eles o ambiente e suportenecessrio, e confiar que faro seu trabalho. 5. Desenvolvimento gilOs 12 princpios do manifesto gil:6. O Mtodo mais eficiente e eficaz de transmitir informaes para, e por dentro de um time dedesenvolvimento, atravs de uma conversa cara a cara.7. Software funcional a medida primria de progresso.8. Processos geis promovem um ambiente sustentvel. Os patrocinadores, desenvolvedores eusurios, devem ser capazes de manter indefinidamente, passos constantes.9. Contnua ateno excelncia tcnica e bom design, aumenta a agilidade.10. Simplicidade: a arte de maximizar a quantidade de trabalho que no precisou ser feito.11. As melhores arquiteturas, requisitos e designs emergem de times auto-organizveis.12. Em intervalos regulares, o time reflete em como ficar mais efetivo, ento, se ajustam e otimizamseu comportamento de acordo. 6. Desenvolvimento gilCom base nesses princpios e valores algumas metodologias geis dedesenvolvimento foram surgindo. Entre elas podemos destacar: XP e Scrum. 7. Desenvolvimento gil - XPExtreme Programming (XP) uma metodologia de desenvolvimento desoftware, nascida nos Estados Unidos ao final da dcada de 90. Vemfazendo sucesso em diversos pases, por ajudar a criar sistemas de melhorqualidade, que so produzidos em menos tempo e de forma mais econmicaque o habitual. Tais objetivos so alcanados atravs de um pequenoconjunto de valores, princpios e prticas, que diferem substancialmente daforma tradicional de se desenvolver software. (Extreme Programming) 8. Desenvolvimento gil - XPFoi definido um conjunto de 5 valores que estabelecem as bases para todotrabalho utilizando XP: Comunicao; Simplicidade; Feedback; Coragem (Disciplina) e Respeito. 9. Desenvolvimento gil - XPPara estabelecer comunicao efetiva entre engenheiros de software edemais envolvidos no sistema, a XP enfatiza a colaborao estreita, emboramuitas vezes informal ( de forma verbal), entre clientes e desenvolvedores, oestabelecimento de metforas eficazes para comunicar conceitos importantes,feedback contnuo e evitar documentao volumosa como meio decomunicao. 10. Desenvolvimento gil - XPPara alcanar a simplicidade, a XP restringe os desenvolvedores a projetarapenas para as necessidades imediatas, em vez de considerarem asnecessidades futuras. O intuito criar um projeto simples que possa serfacilmente implementado em cdigo. Caso precise melhorar, isso poder serfacilmente feito posteriormente. 11. Desenvolvimento gil - XPO feedback provm de trs fontes: do prprio software implementado, docliente e dos outros membros da equipe de software. Atravs de umaestratgia para elaborao eficazes dos testes, eles podem fornecer umfeedback para a equipe gil.O XP valoriza os testes unitrios, a medida que as classes soimplementadas os testes unitrios so feitos para cada operao , de acordocom a funcionalidade especificada. A medida que, um incremento entregue aum cliente, as histrias de usurios ou casos de uso implementados peloincremento so usados como base para testes de aceitao. 12. Desenvolvimento gil - XPA XP foca no desenvolvimento para o software hoje, sem se preocupara com oque pode vir a ocorrer com o software no futuro para isso preciso coragem,ou disciplina, para atenter as necessidades atuais do projeto. Por este motivomuitas equipes que utilizam mtodos geis sucubem, pois um engano quererprojetar o futuro do sistema j que as mudanas so bem aceitas, logo se aequipe ao inves de preocupar-se com o problema atual preocupa-se comproblemas futuros podem ter realmente perdas significativas de trabalho j queo amanh do sistema pode sofrer grandes mudanas. 13. Desenvolvimento gil - XPA XP foca no desenvolvimento para o software hoje, sem se preocupara com oque pode vir a ocorrer com o software no futuro para isso preciso coragem,ou disciplina, para atenter as necessidades atuais do projeto. Por este motivomuitas equipes que utilizam mtodos geis sucubem, pois um engano quererprojetar o futuro do sistema j que as mudanas so bem aceitas, logo se aequipe ao inves de preocupar-se com o problema atual preocupa-se comproblemas futuros podem ter realmente perdas significativas de trabalho j queo amanh do sistema pode sofrer grandes mudanas. 14. Desenvolvimento gil - XPPor fim o respeito, respeitar os membros envolvidos no processo e outrosenvolvidos , de forma direta ou indireta. 15. Desenvolvimento gil - XPO processo XPutiliza-se de 4 atividades metodolgicas: Planejamento; Projeto; Codificao e Testes. 16. Desenvolvimento gil - XPO processo XP: Planejamentoouvir - Levantamento de requisitos ( ouvir as partes interessadas )histrias - semelhante aos casos de uso,entender o ambiente de negcios do software - permite uma percepo amplados resultados solicitados e esperados para o sistema.ouvir conduz criao de um conjunto de histrias que descrevem osresultados, caracteristicas e funcionalidades esperadas pelo usurio. 17. Desenvolvimento gil - XPO processo XP: Projeto Segue o lema KIS (Keep It Simple), mantenha simples. Quando aparece um requisito problemtico ou confuso, recomendado acriao de um prottipo. Projeto algo transitrio, deve ser continuamente alterado conforme aconstruo prossegue. Essa fase ocorre tanto antes quanto depois da codificao. 18. Desenvolvimento gil - XPO processo XP: CodificaoConceito chave a programao em duplas ( duas pessoas em um nicamquina codificando para criar o cdigo de uma histria) ;Conforme a dupla termina uma histria, o cdigo gerado integrado aosoftware. 19. Desenvolvimento gil - XPO processo XP: CodificaoConceito chave a programao em duplas ( duas pessoas em um nicamquina codificando para criar o cdigo de uma histria) ;Conforme a dupla termina uma histria, o cdigo gerado integrado aosoftware. 20. Desenvolvimento gil - ScrumDe acordo com Pressman [PRESSMAN, 2011], o nome Scrum vem de umaatividade do rugby.Desenvolvido no incio de 1990 e foi concebido por Jeff Sutherland e suaequipe de desenvolvimento.As atividades estruturais do Scrum so: Requisitos, Analise, projeto, evoluoe Entrega. 21. Desenvolvimento gil - ScrumNo Scrum, os projetos so dividos em ciclos (tipicamente mensais) chamadosde Sprints. O Sprint representa um Time Box dentro do qual um conjunto deatividades deve ser executado. Metodologias geis de desenvolvimento desoftware so iterativas, ou seja, o trabalho dividido em iteraes, que sochamadas de Sprints no caso do Scrum. [SCRUM] 22. Desenvolvimento gil - ScrumAs funcionalidades a serem implementadas em um projeto so mantidas emuma lista que conhecida como Product Backlog. No incio de cada Sprint,faz-se um Sprint Planning Meeting, ou seja, uma reunio de planejamento naqual o Product Owner prioriza os itens do Product Backlog e a equipeseleciona as atividades que ela ser capaz de implementar durante o Sprintque se inicia. As tarefas alocadas em um Sprint so transferidas do ProductBacklog para o Sprint Backlog. [SCRUM] 23. Desenvolvimento gil - ScrumA cada dia de uma Sprint, a equipe faz uma breve reunio (normalmente demanh), chamada Daily Scrum. O objetivo disseminar conhecimento sobre oque foi feito no dia anterior, identificar impedimentos e priorizar o trabalho dodia que se inicia. Ao final de um Sprint, a equipe apresenta as funcionalidadesimplementadas em uma Sprint Review Meeting. Finalmente, faz-se uma SprintRetrospective e a equipe parte para o planejamento do prximo Sprint. Assimreinicia-se o ciclo. Veja a ilustrao abaixo: [SCRUM] 24. Scrum - Ciclo 25. Exerccios1 - Escreva uma histria de usurio XP que descreva o recurso sitea favoritos disponvel em grande parte dos navegadores;2 - Leia o Manifesto gil (http://manifestoagil.com.br/) e comente sobre os valoresque poderiam levar a quipes a terem problemas.3 - Pesquise e responda: Qual o papel do Scrum Master e do Product Owner equem assume essas responsabilidades em um projeto? 26. Referncia BibliogrficaPRESSMAN, Roger S. Engenharia de Software: Uma abordagem Profissional / Roger S. Pressman;traduo Ariovaldo Griesi, Mario Moro Fecchio; reviso tcnica Reginaldo Arakaki, Julio Arakaki,Renato Mazan de Andrade. - 7. ed. - Porto Alegre :AMGH, 2011.SOMMERVILLE, Ian. Engenharia de Software, 8 edio / Ian Sommerville; traduo: Selma ShinShimizu Melnikoff, Reginaldo Arakaki, Edlson de Andrade Barbosa; reviso tcnica: Kechi Kirama. --8 ed. -- So Paulo: Pearson Addison - Wesley, 2007.Manifesto gil. Disponvel em . Acessado em 19 de agosto de 2014.Extreme Programming. Disponvel em . Acessado em 19 deagosto de 2014.Scrum. Disponhttp://desenvolvimentoagil.com.br/scrum/vel em < http://desenvolvimentoagil.com.br/scrum/ > . Acessado em 19 de agosto de 2014.