Metodologias Ageis

18
Universidade Federal de Sergipe Departamento de Computação Metodologias de Desenvolvimento de Software Metodologias Ágeis Alunos: Rafael Mendonça França Marcos José Ribeiro Barrêto Vilnei Leite Bottari Leonardo Araujo Zoehler Brum Gabriel Viana Passos

description

 

Transcript of Metodologias Ageis

Page 1: Metodologias Ageis

Universidade Federal de SergipeDepartamento de ComputaçãoMetodologias de Desenvolvimento de Software

Metodologias Ágeis

Alunos: Rafael Mendonça França             Marcos José Ribeiro Barrêto             Vilnei Leite Bottari             Leonardo Araujo Zoehler Brum             Gabriel Viana Passos

Page 2: Metodologias Ageis

Agenda

• Introdução• Características• Ágeis x RAD• Exemplos de metodologias ágeis• Scrum• XP • Ruby on Rails• Trabalhos futuros

Page 3: Metodologias Ageis

Introdução

• Aliança de Desenvolvimento Ágil de Softwareo Fundada em 11-13/02/2001o 17 pessoas envolvidas 

• Metodologia Ágilo Há Modelagemo Há Documentaçãoo Há Planejamento 

• Valoriza-seo Individualidade e interações > processos e ferramentaso Software funcional > documentaçãoo Colaboração do cliente > negociação de contratoo Responder às mudanças > seguir um plano

Page 4: Metodologias Ageis

Características

• Maior prioridade: satifazer o cliente com entrega contínua e mais cedo possível de um software usável

• Mudanças de requerimentos são sempre bem vindas, mesmo quando for tarde

• Entregar freqüentemente um software que funcioneo Algumas semanas/meses

• Cliente e desenvolvedor trabalham juntos diariamente no projeto

• Construir projetos com individualismo e motivaçãoo Proporcionar ambiente e suporte que os

desenvolvedores precisam e confiar que eles farão o trabalho

Page 5: Metodologias Ageis

Características

• Conversa cara-a-carao Método mais efetivo e eficiente de se obter informação

em uma equipe• Um software funcionando é a nossa medida de progress• Processos ágeis promovem desenvolvimento sustentável• Atenção contínua na excelência técnica e num bom design

aumentam a agilidade• Simplicidade

o Fácil de mudar• A melhor arquitetura, requerimento e design surgem das

equipes com auto-organização

Page 6: Metodologias Ageis

Características

• Em intervalos regulares, a equipe discute sobre um meio de aumentar a eficiência e então ajusta-se de acordo

Page 7: Metodologias Ageis

Ágeis x RAD

• Não admite protótipos• Projetos são quebrados em funcionalidades

o No RAD o foco está em entregar todas as funcionalidades de uma vez Baixa qualidade antes para depois haver um

melhoramento• Equipes democráticas• Membros da equipes são auto-gestores• As práticas ágeis focam no problemas e os resolvem o mais

rápido possível• Equipes se comunicam• Equipes demonstram apenas trabalhos completos• Equipes incluem também testadores e especialistas com

experiência de usuário

Page 8: Metodologias Ageis

Exemplos de Metodologias Ágeis

• Scrum• XP (eXtreme Programming)• FDD (Feature Driven Development)• Crystal• DSDM (Dynamic Systems Development Method)• OpenUP (Open Unified Process)• AUP (Agile Unified Process)

Page 9: Metodologias Ageis

Scrum

• Scrum é uma metodologia ágil para gestão e planejamento de software.

• Parte da premissa de que o processo de desenvolvimento é complexo e imprevisível

• Adota uma abordagem empírica em relação ao processo• Pincipais papéis

o Project Owner: prioriza os requisitos do sistema, enumerados no chamado backlog;

o  Scrum Master: age como facilitador para a equipe de desenvolvimento

o  Equipe Scrum: grupo responsável pelo cumprimento das tarefas definidas

Page 10: Metodologias Ageis

Scrum

• A partir do backlog, são definidas iterações curtas, denominadas sprints.

•  Os sprints baseiam-se no ciclo PDCA e fornecem ao final incrementos prontos do sistema.

•  Cabe à equipe Scrum, com o auxílio do Scrum Master, cumprir os objetivos do sprint.

Page 11: Metodologias Ageis

XP

• XP (Extreme programming) é uma metodologia de desenvolvimento ágil adequada para sistemas com requisitos vagos e em mudança constante.

• Vale-se de metáforas para facilitar a comunicação com o cliente.

• Os requisitos são descritos em linguagem simples nas chamadas histórias de usuário. 

• As iterações são semanais, gerando, ao final, uma "pequena versão"  do sistema.

• Os testes de aceitação, definidos pelo cliente, validam as funcionalidades implementadas.

• A XP preza pela simplicidade do projeto

Page 12: Metodologias Ageis

XP

• É utilizada a prática de programação em pares. • A equipe é incentivada a conhecer todas as partes do

sistema desenvolvido.• São estabelecidos padrões de codificação que devem

seguidos por todos na equipe.

Page 13: Metodologias Ageis

Ruby on Rails

• É um framework que torna fácil o desenvolvimento, a distribuição e a manutenção de aplicações Web.

• Ele é uma das principais escolhas no desenvolvimento das  aplicações Web 2.0.

• Todas as aplicações Rails são feitas usando o padrão arquitetural MVC (Model-View-Controler).

• Todas as aplicações Rails vem com suporte a testes integrados.O framework facilita o teste de aplicações,e como resultado, as aplicações Rails tendem a serem testadas.

• As aplicações Rails são feitas na linguagem Ruby, uma linguagem moderna, de script orientada a objetos.

• É fácil ler uma aplicação em Ruby, por ser uma linguagem concisa e que facilita a expressão de idéias no código.

Page 14: Metodologias Ageis

Ruby on Rails

class Project < ActiveRecord::Base    belongs_to      :portfolio    has_one          :project_manager    has_many       :milestones    validates_presence_of       :name, :description    validates_acceptance_of   :non_disclosure_agreement    validates_uniqueness_of    :short_nameend

Page 15: Metodologias Ageis

Ruby on Rails

• Os projetos em Rails seguem uma dupla de conceitos chaves:o DRY (Don't Repeat Yourself)o Convenção sobre configuração 

• Rails traz o que há de mais novo em padrões para desenvolvimento Web (Ajax, REST).

• O Rails facilita a distribuição e configuração das aplicações. As mudanças são geridas facilmente e podem ser feitas e desfeitas sem prejuízo algum para o desenvolvimento.

Page 16: Metodologias Ageis

Ruby on Rails

• Algumas ferramentas do Rails:o Migrationso Fixtureso Generatoro Templateso Plugins

Page 17: Metodologias Ageis

Trabalhos Futuros

• SCRUM e certificações existentes (MPS.BR, CMMI, PMBOK, etc).

• Testar, validar e aperfeiçoar a metodologia proposta na Empresa Júnior de Informática da UFS (Softeam Jr.) utilizando o Ruby on Rails como uma das ferramentas de desenvolvimento de software.

Page 18: Metodologias Ageis

BONS CAMINHOS!!!