Vinicius Brumatti
RA:C206AI-4
William Galdino
RA:C03DGD-9
So Paulo SP
2014
NDICE
1. INTRODUO.............................................................................................................. 1
2. Resumo....................................................................................................................... 2
3. O que um processo gil de desenvolvimento de software.......................................... 3
4. Scrum.......................................................................................................................... 4
4.1 Product Backlog......................................................................................................... 5
4.2 Sprint Planning Meeting............................................................ 6
4.3 Sprint Owner.......................................................................................................... 6
4.4 Sprint Backlog............................................................................................. 7
4.5 Daily Scrum.............................................................................................. 7
4.6 Sprint Review Meeting............................................................................................ 8
4.7 Sprint Retrospective..............................................................................................8
5 XP (Extreme Programming).....................................................................9
5.1 Valores.......................................................................9
5.2 Princpios Bsicos....................................................................................9
5.3 Processos / Atividades Metodolgicas.........................................................................9
5.4 Prticas...................................................................................................10
6 Crystal......................................................................11
6.1 Figura Modelo ASD.................................................................. 12
7 DSDM Dynamic Systems Development Method...........................................................13
7.1 Pricpios....................................................................13
7.2 Pr-Requisitos para utlizar o DSDM................................................................. 14
8 FDD Feature Driven Development.................................................................. 15
9 ASD - Adaptive Software Development ...................................................................... 16
9.1 Figura ASD ................................................................... .17
10 Concluso.....................................................................18
10 Referncias Bibliogrficas............................................................................19
1. Introduo
Existem inmeros frameworks de processos para desenvolvimento de software. A maioria dos
mtodos geis tenta minimizar o risco pelo desenvolvimento do software em curtos perodos,
chamados de iterao, os quais gastam tipicamente menos de uma semana a at quatro. Cada
iterao como um projeto de software em miniatura de seu prprio, e inclui todas as tarefas
necessrias para implantar o mini-incremento da nova funcionalidade: planejamento, anlise
de requisitos, projeto, codificao, teste e documentao. Enquanto em um processo
convencional, cada iterao no est necessariamente focada em adicionar um novo conjunto
significativo de funcionalidades, um projecto de software gil busca a capacidade de implantar
uma nova verso do software ao fim de cada iterao, etapa a qual a equipe responsvel
reavalia as prioridades do projecto.
Mtodos geis tambm enfatizam trabalho no software como uma medida primria de
progresso. Combinado com a comunicao cara-a-cara, mtodos geis produzem pouca
documentao em relao a outros mtodos, sendo este um dos pontos que podem ser
considerados negativos. recomendada a produo de documentao que realmente ser til.
2. RESUMO
Este trabalho apresenta um estudo sobre metodologias geis de
desenvolvimento. um breve estudo das metodologias geis em geral e uma
especificao detalhada dos papeis de cada uma delas.
4. SCRUM
=> Processo de desenvolvimento iterativo e incremental para o desenvolvimento de software
gil.
Scrum uma metodologia gil para gesto e planejamento de projetos de software.
No Scrum, os projetos so divididos 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 so iterativas, ou seja, o
trabalho dividido em iteraes, que so chamadas de Sprints no caso do Scrum.
As funcionalidades a serem implementadas em um projeto so mantidas em uma lista que
conhecida como Product Backlog. No incio de cada Sprint, faz-se um Sprint Planning Meeting,
ou seja, uma reunio 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 so transferidas do Product Backlog para
o Sprint Backlog.
A cada dia de uma Sprint, a equipe faz uma breve reunio (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 prximo Sprint. Assim reinicia-se o ciclo. Veja a ilustrao abaixo:
Concentrando-se no que cada pessoa fez ontem e no que ela ir fazer hoje, a equipe ganha
uma excelente compreenso sobre que trabalho foi feito e que trabalho ainda precisa ser
feito. O Daily Scrum no uma reunio de status report na qual um chefe fica coletando
informaes sobre quem est atrasado. Ao invs disso, uma reunio na qual membros da
equipe assumem compromissos perante os demais.
Os impedimentos identificados no Daily Scrum devem ser tratados pelo Scrum Master o mais
rapidamente possvel.
5.1 Valores
Comunicao
Simplicidade
Feedback
Coragem
Respeito
Feedback rpido
Presumir simplicidade
Mudanas incrementais
Abraar mudanas
Trabalho de alta qualidade
Planejamento
Projeto
Codificao
Testes
5.4 Prticas
Jogo de planejamento
Fases pequenas
Metfora
Design Simples
Time coeso
Testes de aceitao
Semana 40 horas
Reunies em p
Propriedade coletiva
Programao pareada
Padronizao do cdigo
10
6. Crystal
Metodologia Crystal
No ano de 2000 Cockburn criou a metodologia Crystal ou Familia de Metodologias Crystal, que
possui uma abordagem voltada a gesto de pessoas. Seu foco a interao, comunidade,
habilidades, talentos e comunicaes, com a crena de que estes so os que tm o efeito de
primeira ordem no desempenho, no descartando os outros fatores mas os colocando como
secundrio. Os membros que compem as equipes tem um conjunto diferente de talentos e
habilidades, ou seja, fundamental utilizar um processo exclusivo feito sob medida para ela.
Caractersticas:
A metodologia Crystal na verdade uma Famlia de Metodologias que so consideradas e
descritas como "metodologias leves", foram criadas para atender s equipes de diferentes
tamanhos que necessitam de diferentes estratgias para resolver problemas diversos.
A famlia de metodologia Crystal dividida em cores, alguns deles citados a seguir:
Crystal Clear
Crystal Yellow
Crystal Orange
Crystal Red
Crystal Maroon
Propriedades comuns:
11
Convico Pessoal: ideal que todos tenham confiana j que isto melhorar o seu
desempenho, as habilidades especificas de cada um devem ser focadas na hora da diviso das
tarefas, e quanto mais o projeto avanar mais confiana a equipe ter;
Foco: Concentrao fundamental. Em cristal ele indica q todos tenham dois focos
principais: primeiro lugar, concentrao na sua tarefa individual dentro de um projeto e em
segundo lugar, ao projeto como todo, sempre verificar se o projeto est seguindo em direo
aos objetivos propostos
Ambiente Tcnico com Testes Automatizados: Deve haver integrao total, se em testes for
necessrio alguma alterao isso deve ser feito de forma rpida e todos devem saber o que foi
modificado.
METODOLOGIA CRYSTAL
12
7. DSDM
Metodologia de Desenvolvimento de Sistemas Dinmicos (Dynamic Systems Development
Method) uma metodologia de desenvolvimento de software baseada em "Desenvolvimento
Rpido de Aplicao" . DSDM uma metodologia de desenvolvimento iterativo e
incremental que enfatiza o envolvimento constante do usurio.
o DSDM aplicado em projetos de Sistemas caracterizados pelos cronogramas e custos
limitados. Aponta falhas de informao mais comuns destes projetos, incluindo custos
excedentes, perda de prazos, falta de envolvimento de usurios e acompanhamento da alta
gerncia. Atravs do uso do RAD, contudo, sem os devidos cuidados com o DSDM pode
aumentar ainda mais o risco em outros quesitos. DSDM consiste em:
7.1 Princpios:
Existem 9 princpios formados por 4 sries e 5 pontos-chave.
Autonomia: o time deve estar empenhado em tomar decises que sejam importantes ao
progresso do projeto sem que necessitem de aprovao dos superiores.
Entregas: o foco na entrega frequente de produtos, assumindo que entregar algo bom logo
melhor que entregar algo perfeito somente no fim. Iniciando a entrega do produto desde os
primeiros estgios do projeto, o produto pode ser testado e revisado e a evidncia do teste e
reviso da documentao pode ser utilizados na prxima iterao ou fase.
Eficcia: o critrio principal para ser considerado "entregvel" entregar um sistema que
demonstre auxiliar nas necessidades e negcio atuais. Mais importante que um sistema que
corresponda todas as necessidades de negcio menos importante do que o foco nas
funcionalidades.
13
Previsibilidade: o escopo e requisitos de alto nvel devem ser definidos antes que o projeto se
inicie.
Para obter sucesso com o DSDM, um nmero de pr-requisitos deve ser alcanado. Inicialmente,
deve haver interao entre o time do projeto, futuros usurios e o alto-escalo. Isto permite
identificar futuras falhas no sistema acarretadas pela falta de acompanhamento da gerncia ou
envolvimento de usurio. O segundo requisito para um projeto DSDM que ele possa
ser fracionado em pequenas partes permitindo um maior detalhamento em cada iterao
MODELO DSDM
14
Feature Driven
Development (Desenvolvimento Guiado por
Funcionalidades) uma metodologia gil para
gerenciamento e desenvolvimento de
software. Ela combina as melhores prticas do
gerenciamento gil de projetos com uma
abordagem completa para Engenharia de
Software orientada por objetos, conquistando
os trs principais pblicos de um projeto de
software: clientes, gerentes e
desenvolvedores.
Seus princpios e prticas proporcionam um equilbrio entre as filosofias tradicionais e
as mais extremas, proporcionando uma transio mais suave para organizaes mais
conservadoras, e a retomada da responsabilidade para as organizaes que se
desiludiram com as propostas mais radicais.
O lema da FDD : "Resultados freqentes, tangveis e funcionais."
possvel notar como o FDD pode atuar em conjunto com outras metodologias,
principalmente com o Scrum, encaixando-se perfeitamente como metodologia de
engenharia gil de software com projeto gil de software.
Alm disso, possvel notar que as boas prticas do FDD podem entrar em embate
com o XP, na forma em que o cdigo tratado por cada uma das metodologias.
Lembrando que as metodologias possuem caractersticas que podem ser adaptadas
necessidade de cada empresa, se notarmos o foco principal em todas as metodologias,
temos o desenvolvimento por incremento, a comunicao constante com o cliente e a
integrao continua.
15
Como Surgiu:
Foi proposta por Jim Highsmith como uma tcnica para construo de software
complexos. O apoio filosfico do ASD concentra-se na colaborao humana e na autoorganizao. A auto-organizao aparece quando agentes individuais independentes
cooperam para criar resultados emergentes. OASD uma metodologia gil, tal como o
XP e o SCRUM; Segundo Pressman (2006), o ASD ( Adaptive Software Development )
foi proposto por Jim Highismith como uma tcnica para construo de sistemas e
software complexos. O ASD possui como filosofia a concentrao na colaborao
humana e na auto-organizao da equipe. Alm do ASD prover o desenvolvimento de
software complexos e de grande porte, ele tambm possui uma cultura adaptativa
onde h colaborao, desenvolvimento iterativo e incremental baseado em
componentes que fazem parte do ciclo adaptativo.
A filosofia ASD preocupa-se mais com os conceitos e cultura organizacional que com
prticas de software (ABRAHAMSSON, 2002).A nfase do ASD est na dinmica de
equipes auto organizadas, na colaborao interpessoal e no aprendizado individual e
em capacitar equipes de projeto de software que tenha uma probabilidade de sucesso
muito maior (PRESSMAN, 2006).
Como Funciona:
O Adaptive Software Development (ASD) tem como base principal um mtodo RAD
(Rapid Application Development), o RADical Software Development, evoluindo-o ao
incorporar conceitos da teoria de sistemas adaptativos complexos. Sob esse
panorama, o ASD prope atualizar o ciclo de desenvolvimento baseado em planejar,
projetar e construir, trocando-o por um com as fases de especular, colaborar e
aprender. Essa mudana seria necessria devido ao enfoque diferente dos dois ciclos:
o primeiro considera a estabilidade no ambiente de negcios, enquanto o segundo
foca em ambientes de incerteza e de grande mudana, viso comum a todos os
mtodos geis.
16
17
10. Concluso
18
19