crystal - trabalho entregue

Upload: aniele-santos

Post on 05-Jul-2018

213 views

Category:

Documents


0 download

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 

     – 

    Piramide 

    cores 

    Crystal 

    Fonte: 

    Guerreiro 

    (2011) 

    . 7

    Figura 

     – 

    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 

    DSDM 

    ” 

    ActiveTrainning 

    Agile, 

    2011. 

    Disponível

    em: