MINISTÉRIO DA EDUCAÇÃO
SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOG...
São Vicente do Sul, RS. Brasil
2011
2
SUMÁRIO
LISTA DE FIGURAS.....................................................................................................
LISTA DE FIGURAS
FIGURA 1....................................................................................................
As metodologias clássicas de desenvolvimento da Engenharia de Software
têm causado alguns transtornos como: atrasos na ent...
Quando falamos em Engenharia de Software, temos em vista diversas áreas
envolvendo desde a criação de um sistema até os te...
Este artigo tem como objetivo fazer uma apresentação conceitual sobre uma das
mais conhecidas Metodologias Ágeis para Dese...
6. REVISÃO BIBLIOGRÁFICA (DESENVOLVIMENTO)
6.1.Metodologias Clássicas (Tradicionais)
Também conhecidas como Metodologias o...
6.2.Metodologias Ágeis e o Manifesto Ágil
A expressão “Metodologias Ágeis” tornou-se conhecida em 2001, quando
especialist...
6.3.Metodologias Ágeis (Scrum)
Inicialmente, o Scrum foi utilizado em projetos de empresas de fabricação de
automóveis e p...
Segundo (FERREIRA, 2005), as principais características do SCRUM são:
• é um processo ágil para gerenciar e controlar o de...
Scrum Meetings são normalmente engenheiros de software ou da área de sistemas.
Apesar de ser gestor não tem propriamente a...
7. MATERIAL E METÓDOS
Essa pesquisa foi realizada por meio de referências de autores da área,
trabalhos publicados, experi...
8. CRONOGRAMA
Tabela 1 – Cronograma
Tarefas
10/3
17/3
24/3
28/3
31/3
5/4
7/4
12/4
14/4
19/4
25/4
Definição do problema X
E...
Com pesquisas e leituras sobre o tema de Metodologias Ágeis de Desenvolvimento
vimos que há grandes vantagens em utilizar ...
Os processos ágeis têm evoluído e ganhado um grande numero de usuários,
principalmente pela agilidade de fornecer resultad...
 FERREIRA, D.; COSTA, F.; ALONSO, F.;ALVES, P.; NUNES, T. SCRUM -
Um Modelo Ágil para Gestão de Projetos de Software.Disp...
Figura1. Desenvolvimento Clássico.
Figura2. Desenvolvimento Scrum.
Fase de
planejamento
Fase de liberaçãoFase de desenvolv...
Próximos SlideShares
Carregando em…5
×

Metodologias ágeis de desenvolvimento trabalho

849 visualizações

Publicada em

Metodologias ágeis, Scrum

Publicada em: Software
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
849
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
14
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Metodologias ágeis de desenvolvimento trabalho

  1. 1. MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA FARROUPILHA CAMPUS SÃO VICENTE DO SUL - RS Instituição: Instituto Federal de Educação Ciência e Tecnologia Farroupilha Unidade Organizacional: Campus de São Vicente do Sul Curso: Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: Seminários em Tecnologia da Informação Orientador: Rogério Cassanta Rosado Componentes: Paulo Ricardo paulo.vinck@gmail.com Michel Minussi michelminnussi@yahoo.com.br Ruan Pozzebon rb.pozzebon@gmail.com Turma: ADS 05
  2. 2. São Vicente do Sul, RS. Brasil 2011 2
  3. 3. SUMÁRIO LISTA DE FIGURAS......................................................................................................................... 3 RESUMO........................................................................................................................................... 4 ABSTRACT....................................................................................................................................... . 4 INTRODUÇÃO.................................................................................................................................. . 5 OBJETIVO GERAL............................................................................................................................ 6 OBJETIVOS ESPECÍFICOS............................................................................................................. 6 REVISÃO BIBLIOGRAFIA................................................................................................................. 7 MATERIAL E METODOS.................................................................................................................. 12 CRONOGRAMA................................................................................................................................ 13 RESULTADOS E DISCUSSÕES...................................................................................................... 14 CONCLUSÃO.................................................................................................................................... 15 REFERÊNCIAS BIBLIOGRAFICAS.................................................................................................. 16 3
  4. 4. LISTA DE FIGURAS FIGURA 1....................................................................................................................................... 16 FIGURA 2...................................................................................................................................... 16 1. RESUMO 4
  5. 5. As metodologias clássicas de desenvolvimento da Engenharia de Software têm causado alguns transtornos como: atrasos na entrega de projetos, insatisfação de clientes, além de conflitos e desgastes para os profissionais da área. Assim com o objetivo de obter melhores resultados varias empresas está adotando metodologias de desenvolvimento, que dão mais agilidade, organização ao trabalho, além de facilitar a interação entre os usuários e o próprio sistema. Essas metodologias são chamadas de Metodologias Ágeis de Desenvolvimento de Software. Assim com a proposta de apresentar e explicar o que são essas metodologias escolhemos o processo de desenvolvimento SCRUM usado hoje por muitas empresas conceituadas nesta área. 2. ABSTRACT Traditional methodologies of software engineering development have caused some inconvenience as: delays in project delivery, customer dissatisfaction, and conflict and starvation for professionals in the area. So in order to obtain better results companies are adopting various development methodologies, which provide more flexibility, organization of work, and to facilitate interaction between users and the system itself. These methods are called Agile Software Development. Thus the proposal to introduce and explain what these methods chose the SCRUM development process used today by many reputable companies in this area. 3. INTRODUÇÃO 5
  6. 6. Quando falamos em Engenharia de Software, temos em vista diversas áreas envolvendo desde a criação de um sistema até os testes finais do mesmo. Procurando deixar mais organizada essas tarefas de desenvolvimento, foram criadas certas metodologias, que visam deixar mais fácil e rápida estas etapas do projeto, as quais foram definidas como Metodologias ágeis de Desenvolvimento, dentre elas, são mais conhecidas as práticas “XP” e “SCRUM”, sendo trabalhado neste artigo o método “SCRUM”. 4. OBJETIVO GERAL 6
  7. 7. Este artigo tem como objetivo fazer uma apresentação conceitual sobre uma das mais conhecidas Metodologias Ágeis para Desenvolvimento de Software, o SCRUM, apresentando vantagens e desvantagens do uso em relação a Metodologias Clássicas, sejam elas para plataformas Desktop, Web ou Dispositivos Móveis. 5. OBJETIVOS ESPECIFICOS Detalhando mais o foco do artigo, temos o objetivo de: • Pesquisar sobre o método de desenvolvimento “SCRUM”; • Identificar os modelos de desenvolvimento ágeis mais utilizados no mercado de software; • Mostrar as vantagens e desvantagens da utilização de métodos ágeis; • Relatar práticas bem sucedidas da utilização de métodos ágeis; Também é um fato importante que se pretende citar é como que é a implantação de “SCRUM” em um projeto, desde o início até a fase de testes, e até uma experiência real de uma empresa. 7
  8. 8. 6. REVISÃO BIBLIOGRÁFICA (DESENVOLVIMENTO) 6.1.Metodologias Clássicas (Tradicionais) Também conhecidas como Metodologias orientadas a planejamento, as Metodologias Clássicas dominaram a forma de desenvolvimento de softwares até o início da década de 90, Entretanto, estas metodologias devem ser aplicadas apenas em situações em que os requisitos do sistema são estáveis e os requisitos futuros são previsíveis. Metodologias ou Processos orientados a documentação são, de certa forma, barreiras impostas ao desenvolvimento, pois muitas organizações não possuem recursos para processos pesados de produção de software. Por esta razão, as organizações pequenas acabam por não usar nenhum processo. Isto pode trazer efeitos negativos no que diz respeito à qualidade do produto final, além de dificultar a entrega do software nos prazos, custos e funcionalidades previamente definidas. 8
  9. 9. 6.2.Metodologias Ágeis e o Manifesto Ágil A expressão “Metodologias Ágeis” tornou-se conhecida em 2001, quando especialistas em processos de desenvolvimento de software representando entre outros, os métodos Scrum e Extreme Programming (XP), foram estabelecidos princípios e características comuns destes métodos. Assim foi criada a “Aliança Ágil” e efetuou-se o estabelecimento do “Manifesto Ágil”. 6.2.1. Principais conceitos do Manifesto Ágil - Pessoas e interações, ao contrário de processos e ferramentas. - Software executável, ao contrário de documentação extensa e confusa. - Colaboração do cliente, ao contrário de constantes negociações de contratos. - Respostas rápidas para as mudanças, ao contrário de seguir planos previamente definidos. “A percepção que os usuários têm de suas necessidades também evolui à medida que eles conhecem o sistema. É difícil compreender o valor de uma determinada funcionalidade até que ela seja efetivamente usada, principalmente porque não se pode requerer de um usuário comum a mesma capacidade de abstração que um desenvolvedor possui ao olhar um conjunto de requisitos” (OLIVEIRA, 2003, p. 16). 9
  10. 10. 6.3.Metodologias Ágeis (Scrum) Inicialmente, o Scrum foi utilizado em projetos de empresas de fabricação de automóveis e produtos de consumo, por Takeuchi e Nonaka. Eles notaram que projetos usando equipes pequenas e multidisciplinares produziram os melhores resultados, e associaram estas equipes altamente eficazes à formação Scrum do Rugby (utilizada para reinício do jogo em certos casos). Jeff Sutherland aplicou a primeira concepção do Scrum na Easel Corporation em1993, mais tarde, por volta de 1995, Ken Schwaber formalizou essa metodologia baseando se em sua própria experiência no desenvolvimento de sistemas e processos. O SCRUM assume-se como uma metodologia extremamente ágil e flexível, que tem por objetivo definir um processo de desenvolvimento interativo e incremental podendo ser aplicado a qualquer produto ou no gerenciamento de qualquer atividade complexa. Esta metodologia baseia-se no desenvolvimento incremental das aplicações centrado na equipe com ciclos de iteração curto. SCRUM aplica-se a projetos tanto pequenos como grandes. Esforçando-se para liberar o processo de quaisquer barreiras, o seu principal objetivo é conseguir uma avaliação correta do ambiente em evolução, adaptando-se constantemente ao “caos” de interesses e necessidades, indicados e utilizados para o desenvolvimento de softwares em ambientes complexos, onde os requisitos mudam com certa freqüência, sendo o caminho utilizado para aumentar produtividade nesses tipos de sistemas. A Metodologia SCRUM apenas estabelece conjuntos de regras e práticas de gestão que devem ser adotadas para garantir o sucesso de um projeto. Centrado no trabalho em equipe, melhora a comunicação e maximiza a cooperação, permitindo que cada um faça o seu melhor e se sinta bem com o que faz o que mais tarde se reflete num aumento de produtividade. Englobando processos de engenharia, este método não requer nem fornece qualquer técnica ou método específico para a fase de desenvolvimento de software. 6.4.Características 10
  11. 11. Segundo (FERREIRA, 2005), as principais características do SCRUM são: • é um processo ágil para gerenciar e controlar o desenvolvimento de projetos; • é um wrapper para outras práticas de engenharia de software; • é um processo que controla o caos resultante de necessidades e interesses conflitantes; • é uma forma de aumentar a comunicação e maximizar a cooperação; • é uma forma de detectar e remover qualquer impedimento que atrapalhe o desenvolvimento de um produto; • é escalável desde projetos pequenos até grandes projetos em toda empresa. Segundo Abrahamsson (2002) os papéis identificados no Scrum são: Mestre (Scrum Master), Proprietário do produto (Product Owner), Equipe Scrum (Scrum Team), Cliente (Customer) e Gerência (Management). 6.5.Vocabulário utilizado no SCRUM • Backlog: Lista de todas as funcionalidades a serem desenvolvidas durante o projeto completo, sendo bem definido e detalhado no inicio do trabalho, deve ser listado e ordenado por prioridade de execução; • Sprint: Período não superior a 30 dias, onde o projeto (ou apenas algumas funcionalidades) é desenvolvido; • Sprint Planning Meeting: Reunião de planejamento; • Sprint Goal: Disparo dos objetivos/metas; • Sprint Review Meeting: Revisão da reunião; • Sprint Backlog: Trabalho a ser desenvolvido num Sprint de modo a criar um produto a apresentar ao cliente. Deve ser desenvolvido de forma incremental, relativa ao Backlog anterior (se existir); • Dayling SCRUM: Reunião diária; • Scrum: Reunião diária onde são avaliados os progressos do projeto e as barreiras encontradas durante o desenvolvimento; • Scrum Meeting: Protocolo a seguir de modo a realizar uma reunião Scrum; • Scrum Team: A equipe de desenvolvimento de um Sprint; • Scrum Master: Elemento da equipe responsável pela gestão do projeto e liderar as 11
  12. 12. Scrum Meetings são normalmente engenheiros de software ou da área de sistemas. Apesar de ser gestor não tem propriamente autoridade sobre os demais membros da equipe. • Product Backlog: Produção do trabalho executado. • Product Owner: Proprietário do produto. 6.6.Processos e Funcionamento As fases de desenvolvimento SCRUM podem ser divididas basicamente em três, são elas: • Planejamento: Definição de uma nova funcionalidade requerida pelo sistema baseado no conhecimento do sistema como um todo; • Desenvolvimento: Desenvolvimento dessa nova funcionalidade respeitando o tempo previsto, requisitos exigidos e qualidade. Esses itens definem o fim do ciclo de desenvolvimento; • Encerramento: Preparação para a entrega do produto persistindo as atividades: Teste Caixa Branca, Teste Caixa Preta, Documentação do Usuário, Treinamento e Marketing. 12
  13. 13. 7. MATERIAL E METÓDOS Essa pesquisa foi realizada por meio de referências de autores da área, trabalhos publicados, experiências que deram certo e literaturas da área. E para o desenvolvimento do trabalho foi utilizado notebooks como equipamentos e Microsoft Word como software. 13
  14. 14. 8. CRONOGRAMA Tabela 1 – Cronograma Tarefas 10/3 17/3 24/3 28/3 31/3 5/4 7/4 12/4 14/4 19/4 25/4 Definição do problema X Embasamento teórico X X Revisão bibliográfica X Coleta e tabulação de dados X X X Redação do trabalho X X Revisão ortográfica X X Compilação dos resultados X Apresentação X 9. RESULTADOS E DISCUSSÕES 14
  15. 15. Com pesquisas e leituras sobre o tema de Metodologias Ágeis de Desenvolvimento vimos que há grandes vantagens em utilizar esse método para agilizar o serviço, já que hoje os aspectos mais procurados são agilidade e rapidez na entrega de software, melhor distribuições de tarefas entre componentes da equipe, melhor interação entre a equipe, por serem formadas por poucos integrantes e de boa qualificação. Assim, conseguem interagir melhor se conhecendo e dividindo tarefas mais organizadamente. E segundo WILSON BISSI (2007) esses são alguns dos benefícios obtidos com o uso da metodologia SCRUM: • diminuição dos riscos; • maior integração entre os membros das equipes; • rápida solução de problemas; • progresso medido continuamente; • os clientes se tornam parte da equipe de desenvolvimento; • entregas freqüentes de funcionalidades funcionando; • discussões diárias de status com a equipe; • os profissionais de negócios e tecnologias trabalham juntos. 10.CONCLUSÃO 15
  16. 16. Os processos ágeis têm evoluído e ganhado um grande numero de usuários, principalmente pela agilidade de fornecer resultados ao usuário final, pois logo nos primeiros meses de projetos já existem resultados concretos, visíveis. Essa característica talvez seja a que mais chama atenção dos clientes, que querem ter seu sistema o mais cedo possível. Para garantir que erros de implementação não atrapalhem essa boa impressão ao longo do projeto, os testes de software são considerados vitais ao processo. Algumas características necessárias para aplicação dos processos ágeis nem sempre são possíveis, como disponibilidade de encontro entre os desenvolvedores e um representante do cliente que tenha autoridade de decisão e ao mesmo tempo conhecimento profundo dos requisitos. Além disso, a capacitação técnica e experiência dos desenvolvedores são de extrema importância para o sucesso na aplicação das etapas. 11.REFERÊNCIAS BIBLIOGRÁFICAS 16
  17. 17.  FERREIRA, D.; COSTA, F.; ALONSO, F.;ALVES, P.; NUNES, T. SCRUM - Um Modelo Ágil para Gestão de Projetos de Software.Disponível em: <http://paginas.fe.up.pt/~aaguiar/es/artigos%20finais/es_final_19.pdf>.  CRUZ, R.S.L. Metodologia Scrum. Disponível em: http://scrum-masters.com.  [Agile Manifesto (2004)] Disponível em http://agilemanifesto.org/  OLIVEIRA, E. S. (2003). “Uso de Metodologias Ágeis no Desenvolvimento de Software”, Monografia apresentada no Programa de Pós-Graduação em Engenharia de Software da UFMG.  CARVALHO, L.C. (1988). “Análise de sistemas”, Rio de Janeiro: Livros Técnicos e Científicos.  FERREIRA, R. B. (2004). “Diálogo de surdos: a difícil explicitação do saber entre programadores de software e operadores de fábrica”, Dissertação de mestrado pela Engenharia de Produção: UFMG. ANEXOS 17
  18. 18. Figura1. Desenvolvimento Clássico. Figura2. Desenvolvimento Scrum. Fase de planejamento Fase de liberaçãoFase de desenvolvimentoFase de estágio Product backlog Atualizações regulares Sprint backlog Estimativa de esforço Versão final Documentação Inspeção 24 hours Iteração Incremento do produto Prioriza requisitos 18

×