Metodologias Ágeis para Desenvolvimento de Software ADRIANA TAVARES FIGUEIREDO Graduaçao em Licenciatura para Computação UNILASALLE RJ / 2006 Pós Graduada em Design Estratégico e MKT Management ESPM RJ / 2009 Certified Scrum Master (CSM) - SCRUM ALLIANCE / 2009 Certified Scrum Product Owner (CSPO) SCRUM ALLIANCE / 2011 Atualmente cursando Mestrado em Engenharia de Software UNICAMP SP Trabalhando atualmente como Scrum Master atuando na Johnson&Johnson, pela empresa Ci&T.
O nome Scrum vem de uma jogada ou formação do Rugby, onde 8 jogadores de cada time devem se encaixar para formar uma muralha. É muito importante que seja realizado um trabalho de equipe, pois se um dos jogadores na formação falhar, toda a jogada é comprometida.
- Pessoas e suas interações mais importante do que processos e ferramentas; - Software funcionando mais importante do que documentação abrangente; - Colaborar com o cliente mais importante do que negociar contratos; - Responder as mudanças mais importante do que seguir um plano.
Cross Functional Teams / Times de alta performance Adriana Tavares Figueiredo
*Exemplo fictício de um backlog priorizado. O backlog pode ser feito antes ou durante a planning. As histórias devem estar priorizadas É de suma importância atacar os pontos de melhoria no Sprint seguinte, e manter os pontos positivos durante o andamento do projeto.
A planning pode ser feita no início do projeto, como pode também ser feita em etapas - a cada início de Sprint (dependendo da complexidade do projeto). Planning poker combines expert opinion, analogy, and disaggregation into an enjoyable approach to estimating that results in quick but reliable estimates. Scrum Alliance
*Scrum Board fictício Adriana Tavares Figueiredo
Ocorre ao final de cada Sprint. Todos os envolvidos no projeto participam da apresentação. É de suma importância o feedback do cliente e stakeholders.
What went well: - Team s Communication - Environment - Just a few bugs etc... Need to improve: - Acceptance Criteria - P.O. participation - Too much blocks etc... ACTION POINTS: -Action Point 1 - Action Point 2 etc... A retrospective meeting é essencialmente para o time de desenvolvimento. A participação do P.O. é opcional, mas caso existam pontos de melhoria no lado do cliente, é importante sinalizar para o mesmo. É de suma importância atacar os pontos de melhoria no Sprint seguinte e manter os pontos positivos durante o andamento do projeto.
A cada Sprint é disponibilizado ao cliente uma parte entregável e que agrega valor ao negócio. Ou seja, as funcionalidades são entregues em etapas, facilitando o alinhamento de expectativas com o cliente e garantindo que o time está desenvolvendo o produto de acordo com o esperado. Ao final da Release, temos um projeto entregue, cobrindo todos os itens do backlog.
O QUE AS EMPRESAS QUEREM? Adriana Tavares Figueiredo
Como as metodologias ágeis tentam superar os obstáculos enfrentados pelas metodologias tradicionais? Adriana Tavares Figueiredo
O cliente está constantemente envolvido no projeto. Qualidade - Métodos Ágeis sempre atribuem forte foco na qualidade do que está sendo desenvolvido. Times Cross Functional = alta performance. Prazos e custos - Interações de no máximo 4 semanas = entregas mais rápidas, mitigando riscos. Incentivo à entregas constantes. (processo espiral) Flexibilidade e Adaptação às Mudanças - Um projeto ágil pode se adaptar as mudanças de um mercado efetivamente melhor do que modelos tradicionais. Escopo e prazo sempre podem ser redefinidos durante o projeto. Qualidade não! Mitigar riscos de forma mais eficiente - Problemas podem ser identificados e resolvidos com maior antecedência, sem causar maiores danos ao andamento do projeto. Maior visibilidade - De aspectos como sucessos, insucessos, impedimentos, comprometimento das equipes e satisfação do cliente ao longo do projeto.
Scrum utiliza a divisão do escopo em sprints e conta com um time multi skills, otimiza o tempo da entrega e garante qualidade no desenvolvimento. Não prima por documentações extensas e detalhadas, faz somente o necessário, mas a participação ativa dos clientes com o time de desenvolvimento mitiga riscos durante o andamento do processo. O funcionamento de um projeto é influenciado por fatores humanos (conhecimento, experiências anteriores, motivação) e há melhora neste quando os indivíduos produzem melhor. O sucesso de um projeto de desenvolvimento de software começa no devido planejamento e na escolha de uma metodologia compatível com as características do mesmo.
BIBLIOGRAFIA Cavalcanti, Eric at all. Ferramenta OpenSource para Apoio ao Uso do scrum por Equipes Distribuídas. http://www.lbd.dcc.ufmg.br:8080/colecoes/wdds/2009/006.pdf Acesso em: 13/03/2012. Cohn, Mike. Introduction to Scrum - An Agile Process. http://www.mountaingoatsoftware.com/topics/scrum Acesso em: 13/03/2012. SCHWABER, Ken; BEEDLE, Mike. Agile Software Development with SCRUM. Prentice Hall, 2002 PRESSMAN, R. S.. Engenharia de Software. McGraw Hill, 2002. CONTATOS adrinit@gmail.com adrianaf@ciandt.com www.facebook.com/adrinit Site: www.ciandt.com Envio de currículos: hr@ciandt.com