crystal - trabalho entregue
TRANSCRIPT
-
8/15/2019 Crystal - Trabalho Entregue
1/15
INSTITUTO FEDERAL DE SÃO PAULO
CAMPUS BOITUVA
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
ANIELE CRISTINE DE OLIVEIRA VIANA DOS SANTOS
GIOVANNE VIANA DA SILVA DENARDI
GRACE KELLEN GONÇALVES DOS SANTOS
PAULO EDUARDO DE MARTINI FONSECA
RAFAEL HENRIQUE DA SILVA SANTOS
VINICIUS TARCISIO FERREIRA
INTRODUÇÃO A METODOLOGIA CRYSTAL
FAMÍLIA DE DESENVOLVIMENTO ÁGIL CRYSTAL
Boituva/SP
2015
-
8/15/2019 Crystal - Trabalho Entregue
2/15
ANIELE CRISTINE DE OLIVEIRA VIANA DOS SANTOS
GIOVANNE VIANA DA SILVA DENARDI
GRACE KELLEN GONÇALVES DOS SANTOS
PAULO EDUARDO DE MARTINI FONSECA
RAFAEL HENRIQUE DA SILVA SANTOSVINICIUS TARCISIO FERREIRA
INTRODUÇÃO A METODOLOGIA CRYSTAL
Trabalho apresentado à disciplina de Enge-nharia de Software, como requisito parcialpara a avaliação do segundo Semestre, docurso de Tecnologia em Analise e Desen-volvimento de Sistemas do Instituto Federal
de São Paulo - Câmpus Boituva.
Orientador: Prof a Giorjety Licorini Dias
Boituva/SP
2015
-
8/15/2019 Crystal - Trabalho Entregue
3/15
Resumo
O método Crystal é uma família de metodologias que une diferentes paradigmas
de processo, se adaptando a diferentes situações com diferentes equipes e tipos
de equipes de desenvolvimento. Idealizado e concebido atraves do movimento de
desivolvimento ágil, está metodologia veio para suprir os constantes fracassos, sendo
considerada uma das mais “leves”, ja desenvolvidas. Visando a exemplificação e o
entendimento introdutorio, este trabalho inseri ao novo mundo desta Metodologia.
Palavras-chave: metodologias ágeis, família crystal, Crystal.
-
8/15/2019 Crystal - Trabalho Entregue
4/15
Lista de ilustrações
Figura
1
–
Piramide
cores
Crystal
Fonte:
Guerreiro
(2011)
.
.
.
.
.
.
.
.
.
.
.
. 7
Figura
2
–
Diagrama
cores
Crystal
Fonte:
Cockburn
(2002)
.
.
.
.
.
.
.
.
.
.
. 9
Figura 3 – Uma repetição em crystal orange Fonte: Abrahamsson,2002 . . . . 11
-
8/15/2019 Crystal - Trabalho Entregue
5/15
Sumário
1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 HISTÓRICO - METODOLOGIA DE DESENVOLVIMENTO ÁGIL CRYS-
TAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 CARACTERÍSTICAS
DAS
METODOLOGIAS
.
.
.
.
.
.
.
.
.
.
.
.
. 8
3.1 Duração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2 Quantidade
de
Membros
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 8
3.3 Foco
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 83.4 Adaptabilidade e Flexibilidade . . . . . . . . . . . . . . . . . . . . . 9
4 METODOLOGIAS UTILIZADAS ATUALMENTE . . . . . . . . . . . 10
4.1 Crystal/Clear
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 10
4.2 Crystal Orange / Crystal Orange Web . . . . . . . . . . . . . . . . 10
5 APLICAÇÃO
NO
DESENVOLVIMENTO
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 12
6 CONSIDERAÇÕES
FINAIS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 13
7 REFERENCIAS
BIBLIOGRÁFICAS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 14
-
8/15/2019 Crystal - Trabalho Entregue
6/15
5
1 Introdução
Devido ao grande número de referências a esses processos leves, que
emergiam como
resposta aos constantes fracassos de projetos utilizando abordagens
tradicionais, em
fevereiro de 2001 um grupo de profissionais extraordinários do desen-
volvimento de
software reuniu-se em um Resort de Ski em Wasatch Range para
discutir melhores
maneiras de desenvolver software. Esse encontro deu origem ao mani-festo ágil, uma
declaração com os princípios que regem o desenvolvimento ágil [. . . ]
(GOMES, 2013, p. 2 )
Dentro do movimento ágil nas palavras de Gomes (2013), que imergi através de
estudos e pesquisas de Cockburn, posteriormente a Metodologia de Desenvolvimento
ágil Crystal ou Família Crystal, para simplificar e evitar fracassos futuros que Cockburn
tanto observou em seus estudos e analises. Este trabalho vem como uma Introdução a
esta metodologia, dando assim uma visão ampla e minimalista ao tema, seguindo a
estrutura abaixo:
Uma visão do Histórico geral da família Crystal sera dada na seção 2. Na
seção 3, serão abordados as Características das Metodologias, exemplificando-se em
subtítulos a Duração 3.1, Foco 3.2, Adaptabilidade e Flexibilidade 3.3, Seguindo na
seção 4, abordaremos Metodologias Utilizadas Atualmente, citando em subseções a
metodologia Crystal/Clear 4.1, Crystal Orange/ Crystal Orange Web 4.2. Na 5 seção a
Aplicação no Desenvolvimento e na 6 seção as Considerações Finais.
-
8/15/2019 Crystal - Trabalho Entregue
7/15
6
2 Histórico - Metodologia de Desenvol-
vimento Ágil Crystal
A Metodologia Crystal, também chamada de Família de Metodologias Crystal,
foi idealizada por Alistair Cockburn, sendo um dos seguidores do movimento ágil de
desenvolvimento de Software e com uma vasta experiencia na liderança de projetos
aceitou a proposta de trabalho da IBM no ano de 1991, seu principal objetivo seria
o de estudar, analisar e criar metodologias de desenvolvimento. Durante o tempo de
trabalho focado em seu projeto de concepção de uma nova metodologia , iniciou um
processo de entrevista com várias equipes de desenvolvimento de software e concluiu
que mesmo que as metodologias fossem seguidas passo - a - passo os projetos ainda
estavam fracassando.
Apoś alguns anos e com o termino de sua pesquisa e com o inicio de analises
consecutivas, por volta do ano de 2000, Cockburn concebeu a Família de metologias
Crystal, se focando em alguns paradigmas, demonstrados abaixo:
• Interação
• Comunidade
• Habilidades
• Talentos
• Comunicação
Cockburn só chegou a estes paradigmas, pois com sua experiencia e com varias
leituras sobre o tema em foco, com o auxilio das entrevistas ele percebe que todos osentrevistados citam a falta de envolvimento humano, tanto com os membros da equipe
como com o usuário final que todas as outras metodologias não contemplavam.
A escolha destes paradigmas, segundo Cockburn (2004), se dá pois os membros
de uma equipe especifica são detentores individuais de talentos e habilidades, assim
sendo necessário e mais eficaz, o uso de uma metodologia mais flexível e que se
enquadre a cada equipe em especial, com isso valorizando e colocando os paradigmas
já mencionados em ação.
Crystal ou Família Crystal, é considerado um dos métodos ágeis mais leves,
com abordagens ao desenvolvimento de software flexível. De acordo com Cockburn
(2004), Composta de uma família de metodologias: Crystal Clear, Crystal Yellow, Crystal
-
8/15/2019 Crystal - Trabalho Entregue
8/15
Capítulo 2. Histórico - Metodologia de Desenvolvimento Ágil Crystal 7
Orange, Crystal Orange Web, Crystal Red, Crystal Magenta, Crystal Blue, cujas carac-
terísticas únicas são motivadas por e adequadas por diversos fatores como tamanho
da equipe, complexidade do sistema e prioridades do projeto, Conforme figura 1.
Figura 1 – Piramide cores Crystal Fonte: Guerreiro (2011)
As cores das Metodologias em Crystal também integram a perspectiva de um
grau de complexidade da mesma, ou seja, quanto mais escura a cor, mais complexa a
metodologia, conforme demonstrado na figura 1.Segundo D.Sousa, J.Ribeiro, N. Sousa(2012), o termo “Crystal ” dentro da família
de metodologias Crystal significa refere - se as diferentes pedras e suas características
únicas, no ambiente de desenvolvimento de software se refere a diferença essencial do
núcleo do projeto, assim as diferentes metodologias Crystal, são consideradas “Leves”,
e flexíveis, por depender diretamente a “dureza” do projeto, assim se relacionando com
as pessoas e o objetivo.
Assim na Figura 1, quanto mais próximo ao topo da piramide menor o grau
de “dureza”, e quanto mais próximos a base da nossa piramide maior o grau de“dureza”, consequentemente, os fatores núcleo do projeto e equipe estão fortemente
relacionados e dependentes. Assim se aplica o principio das cores e os tipos das
Metodologias Crystal, sendo considerado como núcleo do projeto a complexidade do
sistema e prioridades do projeto.
-
8/15/2019 Crystal - Trabalho Entregue
9/15
8
3 Características das Metodologias
3.1 Duração
A família de Metodologia Crystal apresentam algumas características partilhadas
por todas as cores, assim sendo, Cockburn (2002), define que os projetos sempre usam
sempre um ciclo de desenvolvimento com tempo definido, no máximo pelo período de
4 meses, mas, preferencialmente entre um a três meses. Sendo assim, um processo
dinâmico, seguindo o padrão da metodologia.
Porém com a forte adaptabilidade e flexibilidade da família de metodologias, aduração pode ter uma total variação, pois não depende de documentação “forte”.
3.2 Quantidade de Membros
A quantidade de membros dentro da família de metodologias é bastante variável,
dependendo diretamente a cor da metodologia e ao tamanho do projeto, o seu núcleo.
Assim como é demonstrado na figura 2, abaixo.
3.3 Foco
Outra característica compartilhada entre as cores da família Crystal, é o seu foco
na comunicação e inter-relação entre os membros da equipe propiciando um ambiente
colaborador e ágil.
Em todas as metodologias da família Crystal (cores), temos os seguintes princí-
pios, enumerados abaixo:
1. Entregas Frequentes
2. Feedback Contínuo
3. Comunicação Constante
4. Segurança
5. Foco nas Prioridades
6. Acesso aos usuários
7. Testes Automáticos e Integração
-
8/15/2019 Crystal - Trabalho Entregue
10/15
Capítulo 3. Características das Metodologias 9
Figura 2 – Diagrama cores Crystal Fonte: Cockburn (2002)
3.4 Adaptabilidade e Flexibilidade
De acordo com Cockburn (2002), uma das características para designar a
metodologia crystal como leve é, a não limitação a qualquer outra prática ágil, assim
permitindo a introdução de outras práticas como SCRUM, XP e outras metodologias
no mesmo projeto, visando a melhora do projeto e da equipe e plena iteração com ocliente e usuários.
Seguindo o pensamento de Cockburn (2004), o desenvolvimento de software é
o conjunto de cooperação e Comunicação , ou seja, é preciso que haja interação com
o cliente, e comunicação entre os integrantes da equipe para que o desenvolvimento
do projeto satisfaça ambas as partes.
Existem apenas duas regras absolutas em Crystal, segundo Highsmith (2002),
o uso de ciclos incrementais não podem passar o tempo padrão a quatro meses e o
uso de oficinas de reflexão, de modo que a metolodologia possa ser auto-adaptado,gerando assim uma total adaptabilidade e flexibilidade.
-
8/15/2019 Crystal - Trabalho Entregue
11/15
10
4 Metodologias Utilizadas Atualmente
As metodologias da Família Crystal são dividida em cores e cada cor se com-
porta de uma forma,
descritas abaixo:
4.1 Crystal/Clear
Seguindo a analogia da piramide o Crystal Clear se encontra no topo dela, e
com isto é considerada a metodologia com menor grau de complexidade.Segundo Cockburn (2004), Crystal clear é metodologia para projetos muito
pequenos , podendo conter ate 6 membros na equipe de desenvolvimento, mas, com
auxilio na comunicação e posteriormente aos teste realizados, poderá também ser
aplicada a projeto maiores com mais membros. Comumente coloca - da em pratica em
ambientes de trabalho compartilhado, com pequena infraestrutura , com isso Gerando
a comunicação naturalmente entre os membros, com o ambiente mais acolhedor e
unificado.
A Crystal Clear é a metodologia mais conhecida dentro da família de metodo-logias Crystal Clear, consequentemente a mais utilizada e estudada. São definidos,
penas 3, Sponsor (patrocinador), Sênior designer e Programadores.
Grande parte da metodologia é pouco definida e, segundo o autor, isto é propo-
sital; a ideia do Crystal/Clear é permitir que cada organização implemente as atividades
que lhe parecem adequadas, fornecendo um mínimo de suporte útil do ponto de vista
de comunicação e documentos.
A propria equipe faz a definição do método de codificação e posteriormente osseus testes, podendo ser utlizado seguindo a equipe, sendo assim, diferente de equipe
para equipe, sendo o Crystal Clear diferente para cada equipe e cada projeto.
4.2 Crystal Orange / Crystal Orange Web
Utilizado para projetos de 40 a 75 membros, considerados projetos de tamanho
médio, com o tempo de duração especifica com duração máxima de 2 anos, diferen-
ciando do Crystal Clear em algumas características, seu foco é a maior ênfase na
estruturação do processo de desenvolvimento e testes, diferentemente do Crystal Clear
que não mantem um padrão para codificação e testes.
-
8/15/2019 Crystal - Trabalho Entregue
12/15
Capítulo 4. Metodologias Utilizadas Atualmente 11
Apresenta um maior número de Papéis, podendo ter em sua equipe, Gerente de
Projetos, Analista de Negócios, Arquiteto e Testador. Sendo estruturado da seguinte
forma:
• Documentação dos Requisitos;
• Cronograma de releases (entregas);
• Cronograma do Projeto;
• Reporte do Status (status report);
• Interface do Usuário UI;
• Modelo de Objetos;
• Manual do Usuário ;
• Casos de Testes.
O projeto é dividido em várias equipes, sendo que os grupos possuem suas
funcionalidades cruzadas, usando a estratégia de diversidade holística. Por enquanto,
este método não suporta o ambiente de desenvolvimento distribuído. Uma das carac-
terísticas presentes na metodologia é considerar o tempo de mercado, ou seja, estarsempre pronta para adaptações, de forma a dar suporte às equipes em uma mudança
de mercado, sem perder a funcionalidade do projeto.
Figura 3 – Uma repetição em crystal orange Fonte: Abrahamsson,2002
-
8/15/2019 Crystal - Trabalho Entregue
13/15
12
5 Aplicação no Desenvolvimento
De acordo com Cockburn (2004), todas Metodologias da Família Crystal, seguem
um número de práticas, definidas abaixo:
• Plataforma: Parte do planejamento do incremento seguinte do sistema, com
lançamento de versões funcionais a cada três ou quatro meses, preferencialmente
um a dois meses;
• Revisão: Incluindo a cada incremento construção, demonstração e revisão dos
seus objetivos;
• Monitoramento: Controle do processo através de marcos, definidos por, inicio,
revisão 1, revisão 2, teste e entrega; incluindo estágios de estabilidade, que são
estáveis para revisão posterior;
• Paralelismo e fluxo: Assim que o estágio de estabilidade é estável o bastante
para revisão a próxima tarefa pode começar. Tornando assim o desenvolvimento
paralelo mais rápido e eficiente;
• Técnica de melhoramento de metodologia: Em cada incremento, o time podeaprender e usar o conhecimento ganho para otimizar o próximo incremento;
-
8/15/2019 Crystal - Trabalho Entregue
14/15
13
6 Considerações Finais
A metodologia crystal, utilizando a classificação de cores, ao longo com a
estimação dos riscos, em caso de falha de solucionar o problema, tem o objetivo
de maximizar a utilização dos funcionários, minimizando as chances da empresa
acabar indo a falência.Não só isso, mas para cada ’cor’, mesmo que seja vago, existe
um método criado pelo Cockburn especializado para aquele tamanho, facilitando a
resolução do problema.Portanto, com essa informação podemos concluir que o Crystal,
diferente de vários outros métodos, não tenta colocar o modelo dentro da metodologia,
e ao invés disso, tenta mudar a metodologia de acordo com o problema.Isso faz com
que Crystal seja uma metodologia complexa,e portanto, existe dificuldade ao aplicar
a familia Crystal.Mas por causa do potencial de se adaptar, pode-se dizer que a
metodologia tem um grande potencial, se for bem aplicada.
-
8/15/2019 Crystal - Trabalho Entregue
15/15
14
7 Referencias Bibliográficas
Crystal Clear: A Human-Powered Methodology for Small Teams - Alistair
Cockburn - Google Livros. Disponível em: . Acesso em: 3 set. 2015.
Agile Software Development: The Cooperative Game - Alistair Cockburn - Goo-
gle Livros.
Disponível
em:
. Acesso em: 4 set. 2015.
Highsmith,
J.,
“Agile Software Development Ecosystems”. Addison Wesley.
(2002).
Highsmith,
J.:
“Agile software development: Why it is hot!”
(pp.
1-22).
Cutter
Consortium white paper, Information Architects. (2002)
Souza,
D.
F.
De;
Ribeiro,
J;
Souza,
N.
“
extbfMetodologia
Ágil
de
Desenvolvi-
mento
de
Softwares
Crystal”
.
white
paper,
FACOM
(2013)
Highsmith,
J.
Agile
Project
Management:
Creating
Innovative
Products.
1a.
ed:
Addison
Wesley,
2004
Gomes, F. A: “ extbfAgile Desenvolvimento de software com entregas frequentes
e foco no valor de negócio”. 1a. ed: Casa do Código, São Paulo (2013)
Abrahamsson,
P.
et
al.“
extbfAgile
software
development
methods:
reviews
and
analysis.”
Espoo:
VTT
Publications,
2002.
Disponível
em:
Guerreiro,
R.
“
extbfCrystal
e
DSDM
”
ActiveTrainning
Agile,
2011.
Disponível
em: