SlideShare uma empresa Scribd logo
1 de 46
Método Crystal
Desenvolvimento Ágil
Alunos:
Gabriel Barbosa
João Henrique
Lucas Vinicios
Pedro Victor
Desenvolvimento Ágil
❖ Chegamos em tempos onde a interação passou a ser de
evidente importância, a colaboração com o cliente, onde este
quase faz parte da equipe, deixar de lado processos
pesados e cansativos, ser sempre adepto a mudanças, entre
outras características que vieram com a abordagem da
metodologia ágil.
2
Desenvolvimento Ágil
❖ Desta forma, surgiram diversos métodos para se construir
software seguindo essa nova linha de raciocínio, tais como:
➢ Scrum
➢ Xp
➢ Tdd
➢ Crystal
➢ e muitos outros...
3
Método Crystal
Contexto histórico
Contexto Histórico
❖ Criada em 1990 por Alistair Cockburn e Jim Highsmith a fim de conseguir
uma abordagem de desenvolvimento de software que premia a
“manobrabilidade” durante o que Cockburn caracteriza como “um jogo
cooperativo de invenções e comunicação de recursos limitados, com o
principal objetivo de entregar softwares úteis funcionando e com o objetivo
secundário de preparar-se para o jogo seguinte”.
5
Contexto Histórico
❖ A criação desse método se deu pelo resultado da pesquisa feita por
Couckburn que mostrava que o resultado dos projetos feitos por equipes
que não seguiam métodos formais era mais bem sucedido do que as que
seguiam.
6
Porque Crystal?
❖ Crystal é uma família de metodologias de desenvolvimento
de software e, como os cristais, possuem diferentes cores e
rigidez, referindo-se ao tamanho e ao nível crítico do projeto.
7
A metodologia Crystal
❖ Crystal é uma série de metodologias ágeis que são bastante flexíveis que
tem o foco nos seguintes pilares :
– Pessoas
– Interação
– Comunidade
– Habilidade
– Talentos
– Comunicação
8
A metodologia Crystal
❖ Utiliza dois parâmetros para adequar-se ao projeto de software, sendo a
primeira métrica o número de pessoas envolvidas e a segunda métrica o
nível crítico.
❖ É preciso analisar três fatores para o entendimento de como proceder na
adaptação e classificação por cor:
– a coordenação e comunicação(representada pelo número de
pessoas);
– criticidade do sistema;
– prioridade do projeto.
9
Conforme o
Tamanho
❖ Crystal Clear: 2-8/12
❖ Yellow: 10-20
❖ Orange: 20-75
❖ Red: 75-100
Gerenciamento e de
comunicação ajustados de
acordo com o tamanho da
equipe.
10
Conforme o
Nível Crítico
Além das cores, o Crystal
utiliza-se de algumas
letras para representar
potenciais perdas
causados por uma falha no
sistema de
desenvolvimento de
software.
11
Nível Crítico
❖ C de Confort (Conforto)
– Ex.: o serviço de um aparelho celular;
❖ D de Discretionary money
– Ex.: o sistema de um caixa de um supermercado;
❖ E de Essencial money
– Ex.: o sistema de reserva de uma companhia aérea;
❖ L de Life (vida)
– Ex.: um software de piloto automático;
12
Método Crystal
Código Genético
Crystal
❖ Esta família de metodologias tem um código genético em comum, que
podem ser adaptados de acordo com o projeto ou o número de
integrantes da equipe.
14
Código Genético
❖ O código genético da Família Crystal baseia-se em:
– Jogo Econômico-Cooperativo;
– Prioridades;
– Propriedades;
– Princípios;
– Estratégias e Técnicas.
15
Jogo Cooperativo
❖ Desenvolvimento de software é uma “série” de jogos;
❖ Possui dois objetivos, entrega de software funcional e preparação para a
próxima etapa do jogo;
❖ O jogo nunca se repete;
❖ O modelo de jogo econômico-cooperativo leva as pessoas a pensarem
sobre seu trabalho em um projeto de uma forma muito específica.
16
Prioridades
❖ Segurança no resultado do projeto(entrega do software);
❖ Eficiência no desenvolvimento;
❖ Habitabilidade das convenções(o time precisa aceitar o processo).
17
Propriedades
❖ Entrega frequente:
– Os desenvolvedores mantém o foco;
– A equipe se mantém motivada através de realizações;
– O cliente recebe feedback constante.
❖ Comunicação Cara a Cara (Comunicação Osmótica):
– Surge naturalmente entre a equipe;
– A maneira mais barata e rápida de trocar informações.
18
Propriedades
❖ Melhoria Reflexiva:
– Equipe reúne para discutir o que pode funcionar melhor;
– Realizar tais mudanças para a próxima iteração;
❖ Foco:
– Saber em que trabalhar (Patrocinador);
– Tranquilidade para trabalhar;
19
Propriedades
❖ Fácil acesso a especialistas:
– Permite realizar testes e entregas freqüentes;
– Facilita a tomada de decisões.
❖ Segurança pessoal:
– Dizer livremente o que está incomodando;
– Descobrir e trabalhar fraquezas;
20
Princípios
❖ Mais feedback reduz a necessidade de entregas intermediárias:
– Considera-se feedback entrega de software funcionando.
❖ Excesso de metodologia é custo:
– Evitar burocracia desnecessária;
– Redução de custo com o tempo, ferramentas, etc.
❖ Diferentes projetos precisam de metodologias distintas:
– Dois fatores influenciam na escolha: Número de pessoas na equipe e
criticidade no projeto;
21
Princípios
❖ Desenvolvimento simultâneo e em série reduz custos e promove aumento
de velocidade e flexibilidade;
❖ A eficiência é dispensável em atividades que não possuem gargalo:
– Não adianta otimizar o que não há gargalo.
22
Estratégias e Técnicas
❖ Exploratório 360°
– Analisar o projeto em todas as direções;
❖ Vença cedo
– Trabalha com a entrega de algo de valor logo no início do projeto
para ganhar auto-confiança;
❖ Radiadores de informação
– Deixar as informações do projeto em um lugar visível, possibilitando a
equipe sanar todas as dúvidas.
23
Estratégias e Técnicas
❖ Oficina de Reflexão (Reflection Workshop)
❖ Planejamento Relâmpago (Blitz Planning)
– semelhante ao “planning game” do XP, porém deve-se fazer uma lista
de dependência entre as tarefas.
❖ Reuniões Diárias (Daily Stand-ups Meetings)
❖ Design Ágil de Interfaces (Agile Interaction Design)
24
Estratégias e Técnicas
❖ Programação lado-a-lado (Side-by-Side Programming)
❖ Burn Charts
– Maneira de dar visibilidade ao andamento do projeto, através de
relatórios.
25
Método Crystal
Características, Ferramentas e Ciclo de Vida
Características
❖ Os incrementos do projeto devem ter no máximo 4 meses,
preferencialmente de 1 a 3 meses.
❖ Você encontrará sete princípios-chave em cada um, independente de qual
implementação Crystal for utilizada:
27
Características
❖ Entrega freqüente;
❖ Feedback contínuo;
❖ Comunicação Constante;
❖ Segurança;
❖ Foco;
❖ Acesso para Usuários;
❖ Testes automatizados e Integração;
28
Ferramentas
29
Ferramentas que podem ser utilizadas:
❖ Agileplatform
– Solução unificada que suporta todo o processo de construção para a
Web com recurso a ‘Métodos Ágeis’.
❖ VisionProject
– Permite a gestão de projetos, gestão dos tickets, controle de versões,
visualização de durações e custos, e etc.
❖ Pivotaltracker
– Mesmas funções que o VisionProject, porém mais simples quanto a
sua usabilidade.
Ferramentas
30
❖ TargetProcess
– Mesmas funções que o VisionProject e Pivotaltracker, porém mais
completo que os mesmos com presença de recursos de plugins,
automatização de inputs e output, entre outros.
❖ Axosoft
– Divide tarefas, proporciona uma visualização do fluxo de trabalho
mais dinâmica, notifica atividades importantes e etc.
❖ VersionOne
– Gerenciador de ciclo de vida ágil e soluções de integração .
Ciclo de Vida
São 10 fases:
❖ Staging
– Planejamento do próximo incremento;
– Requisitos a serem implementados e o prazo são selecionados;
❖ Edição e revisão
– Construção, demonstração e revisão dos objetivos do incremento;
❖ Monitoramento
– O processo é monitorado com relação ao progresso e estabilidade da
equipe. É medido em marcos e em estágios de estabilidade;
31
Ciclo de Vida
❖ Paralelismo e fluxo
– Em Crystal Orange as diferentes equipes podem operar com máximo
paralelismo. Isto é permitido através do monitoramento da
estabilidade e da sincronização entre as equipes;
❖ Inspeções de usuários
– São sugeridas duas a três inspeções feitas por usuários a cada
incremento;
❖ Workshops refletivos
– São reuniões que ocorrem antes e depois de cada interação, com
objetivo de analisar o progresso do projeto;
32
Ciclo de Vida
❖ Local matters
– São os procedimentos a serem aplicados, que variam de acordo com
o tipo de projeto;
❖ Produtos de Trabalho
– Sequência de lançamento, modelos de objetos comuns, manual do
usuário, casos de teste e migração de código. Especificamente para
o Clear, são casos de uso e descrição de funcionalidade e,
especificamente para o Orange, são documentos de requisitos;
❖ Padrões
– Padrões de notação, convenções de produto, formatação e qualidade
usadas no projeto;
33
Ciclo de Vida
❖ Ferramentas
– Ferramentas mínimas utilizadas. Para Crystal Clear, são
compiladores, gerenciadores de versão e configuração, ferramentas
de versão, programação, teste, comunicação, monitoramento de
projeto, desenho e medição de desempenho.
34
Ciclo de Vida
35
Método Crystal
Equipe, Processo, Exemplo Prático e Conclusão
Núcleo da equipe
A equipe possui os seguintes papéis:
❖ Executive Sponsor (patrocinador);
❖ Lead Designer: deve ser um especialista, com conhecimento de todo o
projeto, dentre suas atribuições ele deve:
– Conversar com o patrocinador;
– Treinar membros da equipe menos experientes.
❖ Ambassador User: é um desenvolvedor especialista que a equipe pode
consultar quando precisar.
37
Núcleo da equipe
❖ A Crystal Clear específica somente os três papéis no slide anterior, os
outros papéis são de acordo com a necessidade do projeto e podem ser:
– Designer-Programmer;
– Business Expert;
– Coordinator (deve ser alguém com boa comunicação, geralmente o
Lead Designer);
– Tester;
– Writer.
38
O Processo
A Crystal Clear utiliza processos cíclicos de diferentes tamanhos:
desenvolvimento, iteração, prazo de entrega e o projeto como um todo.
O ciclo do projeto tem três partes:
1. Mapeamento de atividades
Esta atividade leva de alguns dias a algumas semanas e é constituída por
quatro passos:
a. Construir o núcleo da equipe;
b. Realizar a estratégia Exploratório 360º;
c. Definir como a metodologia será aplicada;
d. Construir o plano inicial do projeto.
39
O Processo
2. Uma série de dois ou mais ciclos de entrega
O ciclo de entrega possui três ou quatro partes.
a. Fazer uma reavaliação do plano de entregas;
b. Uma ou mais iterações com código testado e integrado;
c. Entrega real para usuários;
d. Realizar um ritual de conclusão, incluindo reflexão sobre o processo e
sobre o produto que está sendo criado.
40
O Processo
3. Conclusão do ritual: reflexão sobre a entrega
Neste ritual deve-se, além de realizar uma reflexão sobre o projeto, o
processo e deixar claro o que funcionou bem e o que não funcionou. A
equipe deve ter um momento feliz no final do projeto, uma espécie de
comemoração.
41
Exemplo Prático
❖ Cenário:
– Empresas de pequeno porte e startups;
– Equipe experiente ou parcialmente experiente;
– Construção de softwares em geral ( apps, sistemas web, entre
outros).
42
Exemplo Prático
43
Entrega
frequente
Comunicação
Cara a CaraFácil acesso a
especialistas
Segurança
pessoal
Exploratório
360°
Programação
lado-a-lado
Conclusão
❖ O Crystal é uma família de modelos ágeis de processo que podem ser
adotados para as características específicas de um projeto.
❖ Como outras abordagens ágeis, o Crystal adota uma estratégia iterativa,
mas se ajusta processo de modo a definir projetos de diferentes tamanhos
e complexidades.
44
Conclusão
❖ Pontos Positivos:
– Entregas freqüentes das etapas do projeto, reduzindo o retrabalho;
– Reduz possíveis falhas de entrega, pois o usuário está diretamente
envolvido no projeto;
– Possibilita ser adaptada de acordo com o projeto;
❖ Pontos Negativos:
– A metodologia não foi desenvolvida para trabalhar com projetos
longos.
– Até o presente momento não foi bem difundida no Brasil.
45
Referências
❖ http://www.leandromtr.com/gestao/metodologia-agil-crystal/
❖ http://docplayer.com.br/docs-images/24/2982347/images/13-0.png
❖ http://images.slideplayer.com.br/8/2459776/slides/slide_1.jpg,
❖ https://www.passeidireto.com/arquivo/1793981/metodologia-de-
desenvolvimento-agil-crystal/1
❖ http://pt.slideshare.net/felipebastos790/crystal-engenharia-de-software
❖ https://run.unl.pt/bitstream/10362/2003/1/WPSeries_09_2009Tomas.pdf
46

Mais conteúdo relacionado

Mais procurados

Comparativo entre Processos Ágeis
Comparativo entre Processos ÁgeisComparativo entre Processos Ágeis
Comparativo entre Processos ÁgeisDaniel Ferreira
 
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane FidelixCris Fidelix
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 
[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de Software[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de SoftwareJúlio de Lima
 
Metodologias Ágiles - Crystal Clear
Metodologias Ágiles - Crystal ClearMetodologias Ágiles - Crystal Clear
Metodologias Ágiles - Crystal ClearFrank Valero Lujano
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de SoftwareCapgemini
 
Histórias de Usuário: Como escrever a história perfeita?
Histórias de Usuário: Como escrever a história perfeita?Histórias de Usuário: Como escrever a história perfeita?
Histórias de Usuário: Como escrever a história perfeita?Priscila Ribeiro Chagas
 
Agile software development methodology
Agile software development methodologyAgile software development methodology
Agile software development methodologyjustinleague0819
 
Metodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de SoftwaresMetodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de SoftwaresAragon Vieira
 

Mais procurados (20)

Comparativo entre Processos Ágeis
Comparativo entre Processos ÁgeisComparativo entre Processos Ágeis
Comparativo entre Processos Ágeis
 
Aula - Metodologias Ágeis
Aula - Metodologias ÁgeisAula - Metodologias Ágeis
Aula - Metodologias Ágeis
 
Crystal Clear
Crystal ClearCrystal Clear
Crystal Clear
 
Crystal clear exposicion
Crystal clear exposicionCrystal clear exposicion
Crystal clear exposicion
 
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
 
Analise de Requisitos Software
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos Software
 
Crystal diapositiva
Crystal diapositivaCrystal diapositiva
Crystal diapositiva
 
Metodologia Ágil
Metodologia ÁgilMetodologia Ágil
Metodologia Ágil
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de Software
 
[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de Software[GaragemTalks2019] Cultura de Testes e Qualidade de Software
[GaragemTalks2019] Cultura de Testes e Qualidade de Software
 
Metodologias Ágiles - Crystal Clear
Metodologias Ágiles - Crystal ClearMetodologias Ágiles - Crystal Clear
Metodologias Ágiles - Crystal Clear
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
 
Histórias de Usuário: Como escrever a história perfeita?
Histórias de Usuário: Como escrever a história perfeita?Histórias de Usuário: Como escrever a história perfeita?
Histórias de Usuário: Como escrever a história perfeita?
 
Agile software development methodology
Agile software development methodologyAgile software development methodology
Agile software development methodology
 
Workshop User Stories
Workshop User StoriesWorkshop User Stories
Workshop User Stories
 
Scrum
ScrumScrum
Scrum
 
Extreme programming (xp)
 Extreme programming   (xp) Extreme programming   (xp)
Extreme programming (xp)
 
Metodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de SoftwaresMetodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de Softwares
 
Scrum
ScrumScrum
Scrum
 

Semelhante a Crystal method

Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Rennan Martini
 
Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2Fernando Vargas
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidaderzauza
 
Agile Testing, por Carolina Borim
Agile Testing, por Carolina BorimAgile Testing, por Carolina Borim
Agile Testing, por Carolina BorimThoughtworks
 
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixModelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixCris Fidelix
 
Texto de Apoio2_Síntese de Metodologias Ageis.ppt
Texto de Apoio2_Síntese de Metodologias Ageis.pptTexto de Apoio2_Síntese de Metodologias Ageis.ppt
Texto de Apoio2_Síntese de Metodologias Ageis.pptHurgelNeto
 
Aula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdfAula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdfJadna Almeida
 
Tradução resumida do livro "The Elements of Scrum"
Tradução resumida do livro "The Elements of Scrum"Tradução resumida do livro "The Elements of Scrum"
Tradução resumida do livro "The Elements of Scrum"Henrique Bueno
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareCamilo de Melo
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasKleitor Franklint Correa Araujo
 
TDD e BDD - Developers-SP - Abril/2017
TDD e BDD - Developers-SP - Abril/2017TDD e BDD - Developers-SP - Abril/2017
TDD e BDD - Developers-SP - Abril/2017Renato Groff
 
Conceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de Software
Conceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de SoftwareConceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de Software
Conceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de SoftwareFelizardo Charles
 
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilEngenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilRebecca Betwel
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareRoberto Brandini
 
Behavior-Driven Development (BDD) - QA Ninja Conf 2016
Behavior-Driven Development (BDD) - QA Ninja Conf 2016Behavior-Driven Development (BDD) - QA Ninja Conf 2016
Behavior-Driven Development (BDD) - QA Ninja Conf 2016Renato Groff
 

Semelhante a Crystal method (20)

Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)
 
Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidade
 
Agile Testing, por Carolina Borim
Agile Testing, por Carolina BorimAgile Testing, por Carolina Borim
Agile Testing, por Carolina Borim
 
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixModelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
 
Metodologias ágeis de desenvolvimento
Metodologias ágeis de desenvolvimento Metodologias ágeis de desenvolvimento
Metodologias ágeis de desenvolvimento
 
ageis2003.ppt
ageis2003.pptageis2003.ppt
ageis2003.ppt
 
ageis2003.ppt
ageis2003.pptageis2003.ppt
ageis2003.ppt
 
Texto de Apoio2_Síntese de Metodologias Ageis.ppt
Texto de Apoio2_Síntese de Metodologias Ageis.pptTexto de Apoio2_Síntese de Metodologias Ageis.ppt
Texto de Apoio2_Síntese de Metodologias Ageis.ppt
 
Aula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdfAula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdf
 
Tradução resumida do livro "The Elements of Scrum"
Tradução resumida do livro "The Elements of Scrum"Tradução resumida do livro "The Elements of Scrum"
Tradução resumida do livro "The Elements of Scrum"
 
Aula 3
Aula 3Aula 3
Aula 3
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
Aula 3 - Engenharia de Software
Aula 3 - Engenharia de SoftwareAula 3 - Engenharia de Software
Aula 3 - Engenharia de Software
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
TDD e BDD - Developers-SP - Abril/2017
TDD e BDD - Developers-SP - Abril/2017TDD e BDD - Developers-SP - Abril/2017
TDD e BDD - Developers-SP - Abril/2017
 
Conceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de Software
Conceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de SoftwareConceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de Software
Conceitos Básicos Sobre Metodologias Ágeis para Desenvolvimento de Software
 
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilEngenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de software
 
Behavior-Driven Development (BDD) - QA Ninja Conf 2016
Behavior-Driven Development (BDD) - QA Ninja Conf 2016Behavior-Driven Development (BDD) - QA Ninja Conf 2016
Behavior-Driven Development (BDD) - QA Ninja Conf 2016
 

Crystal method

  • 1. Método Crystal Desenvolvimento Ágil Alunos: Gabriel Barbosa João Henrique Lucas Vinicios Pedro Victor
  • 2. Desenvolvimento Ágil ❖ Chegamos em tempos onde a interação passou a ser de evidente importância, a colaboração com o cliente, onde este quase faz parte da equipe, deixar de lado processos pesados e cansativos, ser sempre adepto a mudanças, entre outras características que vieram com a abordagem da metodologia ágil. 2
  • 3. Desenvolvimento Ágil ❖ Desta forma, surgiram diversos métodos para se construir software seguindo essa nova linha de raciocínio, tais como: ➢ Scrum ➢ Xp ➢ Tdd ➢ Crystal ➢ e muitos outros... 3
  • 5. Contexto Histórico ❖ Criada em 1990 por Alistair Cockburn e Jim Highsmith a fim de conseguir uma abordagem de desenvolvimento de software que premia a “manobrabilidade” durante o que Cockburn caracteriza como “um jogo cooperativo de invenções e comunicação de recursos limitados, com o principal objetivo de entregar softwares úteis funcionando e com o objetivo secundário de preparar-se para o jogo seguinte”. 5
  • 6. Contexto Histórico ❖ A criação desse método se deu pelo resultado da pesquisa feita por Couckburn que mostrava que o resultado dos projetos feitos por equipes que não seguiam métodos formais era mais bem sucedido do que as que seguiam. 6
  • 7. Porque Crystal? ❖ Crystal é uma família de metodologias de desenvolvimento de software e, como os cristais, possuem diferentes cores e rigidez, referindo-se ao tamanho e ao nível crítico do projeto. 7
  • 8. A metodologia Crystal ❖ Crystal é uma série de metodologias ágeis que são bastante flexíveis que tem o foco nos seguintes pilares : – Pessoas – Interação – Comunidade – Habilidade – Talentos – Comunicação 8
  • 9. A metodologia Crystal ❖ Utiliza dois parâmetros para adequar-se ao projeto de software, sendo a primeira métrica o número de pessoas envolvidas e a segunda métrica o nível crítico. ❖ É preciso analisar três fatores para o entendimento de como proceder na adaptação e classificação por cor: – a coordenação e comunicação(representada pelo número de pessoas); – criticidade do sistema; – prioridade do projeto. 9
  • 10. Conforme o Tamanho ❖ Crystal Clear: 2-8/12 ❖ Yellow: 10-20 ❖ Orange: 20-75 ❖ Red: 75-100 Gerenciamento e de comunicação ajustados de acordo com o tamanho da equipe. 10
  • 11. Conforme o Nível Crítico Além das cores, o Crystal utiliza-se de algumas letras para representar potenciais perdas causados por uma falha no sistema de desenvolvimento de software. 11
  • 12. Nível Crítico ❖ C de Confort (Conforto) – Ex.: o serviço de um aparelho celular; ❖ D de Discretionary money – Ex.: o sistema de um caixa de um supermercado; ❖ E de Essencial money – Ex.: o sistema de reserva de uma companhia aérea; ❖ L de Life (vida) – Ex.: um software de piloto automático; 12
  • 14. Crystal ❖ Esta família de metodologias tem um código genético em comum, que podem ser adaptados de acordo com o projeto ou o número de integrantes da equipe. 14
  • 15. Código Genético ❖ O código genético da Família Crystal baseia-se em: – Jogo Econômico-Cooperativo; – Prioridades; – Propriedades; – Princípios; – Estratégias e Técnicas. 15
  • 16. Jogo Cooperativo ❖ Desenvolvimento de software é uma “série” de jogos; ❖ Possui dois objetivos, entrega de software funcional e preparação para a próxima etapa do jogo; ❖ O jogo nunca se repete; ❖ O modelo de jogo econômico-cooperativo leva as pessoas a pensarem sobre seu trabalho em um projeto de uma forma muito específica. 16
  • 17. Prioridades ❖ Segurança no resultado do projeto(entrega do software); ❖ Eficiência no desenvolvimento; ❖ Habitabilidade das convenções(o time precisa aceitar o processo). 17
  • 18. Propriedades ❖ Entrega frequente: – Os desenvolvedores mantém o foco; – A equipe se mantém motivada através de realizações; – O cliente recebe feedback constante. ❖ Comunicação Cara a Cara (Comunicação Osmótica): – Surge naturalmente entre a equipe; – A maneira mais barata e rápida de trocar informações. 18
  • 19. Propriedades ❖ Melhoria Reflexiva: – Equipe reúne para discutir o que pode funcionar melhor; – Realizar tais mudanças para a próxima iteração; ❖ Foco: – Saber em que trabalhar (Patrocinador); – Tranquilidade para trabalhar; 19
  • 20. Propriedades ❖ Fácil acesso a especialistas: – Permite realizar testes e entregas freqüentes; – Facilita a tomada de decisões. ❖ Segurança pessoal: – Dizer livremente o que está incomodando; – Descobrir e trabalhar fraquezas; 20
  • 21. Princípios ❖ Mais feedback reduz a necessidade de entregas intermediárias: – Considera-se feedback entrega de software funcionando. ❖ Excesso de metodologia é custo: – Evitar burocracia desnecessária; – Redução de custo com o tempo, ferramentas, etc. ❖ Diferentes projetos precisam de metodologias distintas: – Dois fatores influenciam na escolha: Número de pessoas na equipe e criticidade no projeto; 21
  • 22. Princípios ❖ Desenvolvimento simultâneo e em série reduz custos e promove aumento de velocidade e flexibilidade; ❖ A eficiência é dispensável em atividades que não possuem gargalo: – Não adianta otimizar o que não há gargalo. 22
  • 23. Estratégias e Técnicas ❖ Exploratório 360° – Analisar o projeto em todas as direções; ❖ Vença cedo – Trabalha com a entrega de algo de valor logo no início do projeto para ganhar auto-confiança; ❖ Radiadores de informação – Deixar as informações do projeto em um lugar visível, possibilitando a equipe sanar todas as dúvidas. 23
  • 24. Estratégias e Técnicas ❖ Oficina de Reflexão (Reflection Workshop) ❖ Planejamento Relâmpago (Blitz Planning) – semelhante ao “planning game” do XP, porém deve-se fazer uma lista de dependência entre as tarefas. ❖ Reuniões Diárias (Daily Stand-ups Meetings) ❖ Design Ágil de Interfaces (Agile Interaction Design) 24
  • 25. Estratégias e Técnicas ❖ Programação lado-a-lado (Side-by-Side Programming) ❖ Burn Charts – Maneira de dar visibilidade ao andamento do projeto, através de relatórios. 25
  • 27. Características ❖ Os incrementos do projeto devem ter no máximo 4 meses, preferencialmente de 1 a 3 meses. ❖ Você encontrará sete princípios-chave em cada um, independente de qual implementação Crystal for utilizada: 27
  • 28. Características ❖ Entrega freqüente; ❖ Feedback contínuo; ❖ Comunicação Constante; ❖ Segurança; ❖ Foco; ❖ Acesso para Usuários; ❖ Testes automatizados e Integração; 28
  • 29. Ferramentas 29 Ferramentas que podem ser utilizadas: ❖ Agileplatform – Solução unificada que suporta todo o processo de construção para a Web com recurso a ‘Métodos Ágeis’. ❖ VisionProject – Permite a gestão de projetos, gestão dos tickets, controle de versões, visualização de durações e custos, e etc. ❖ Pivotaltracker – Mesmas funções que o VisionProject, porém mais simples quanto a sua usabilidade.
  • 30. Ferramentas 30 ❖ TargetProcess – Mesmas funções que o VisionProject e Pivotaltracker, porém mais completo que os mesmos com presença de recursos de plugins, automatização de inputs e output, entre outros. ❖ Axosoft – Divide tarefas, proporciona uma visualização do fluxo de trabalho mais dinâmica, notifica atividades importantes e etc. ❖ VersionOne – Gerenciador de ciclo de vida ágil e soluções de integração .
  • 31. Ciclo de Vida São 10 fases: ❖ Staging – Planejamento do próximo incremento; – Requisitos a serem implementados e o prazo são selecionados; ❖ Edição e revisão – Construção, demonstração e revisão dos objetivos do incremento; ❖ Monitoramento – O processo é monitorado com relação ao progresso e estabilidade da equipe. É medido em marcos e em estágios de estabilidade; 31
  • 32. Ciclo de Vida ❖ Paralelismo e fluxo – Em Crystal Orange as diferentes equipes podem operar com máximo paralelismo. Isto é permitido através do monitoramento da estabilidade e da sincronização entre as equipes; ❖ Inspeções de usuários – São sugeridas duas a três inspeções feitas por usuários a cada incremento; ❖ Workshops refletivos – São reuniões que ocorrem antes e depois de cada interação, com objetivo de analisar o progresso do projeto; 32
  • 33. Ciclo de Vida ❖ Local matters – São os procedimentos a serem aplicados, que variam de acordo com o tipo de projeto; ❖ Produtos de Trabalho – Sequência de lançamento, modelos de objetos comuns, manual do usuário, casos de teste e migração de código. Especificamente para o Clear, são casos de uso e descrição de funcionalidade e, especificamente para o Orange, são documentos de requisitos; ❖ Padrões – Padrões de notação, convenções de produto, formatação e qualidade usadas no projeto; 33
  • 34. Ciclo de Vida ❖ Ferramentas – Ferramentas mínimas utilizadas. Para Crystal Clear, são compiladores, gerenciadores de versão e configuração, ferramentas de versão, programação, teste, comunicação, monitoramento de projeto, desenho e medição de desempenho. 34
  • 36. Método Crystal Equipe, Processo, Exemplo Prático e Conclusão
  • 37. Núcleo da equipe A equipe possui os seguintes papéis: ❖ Executive Sponsor (patrocinador); ❖ Lead Designer: deve ser um especialista, com conhecimento de todo o projeto, dentre suas atribuições ele deve: – Conversar com o patrocinador; – Treinar membros da equipe menos experientes. ❖ Ambassador User: é um desenvolvedor especialista que a equipe pode consultar quando precisar. 37
  • 38. Núcleo da equipe ❖ A Crystal Clear específica somente os três papéis no slide anterior, os outros papéis são de acordo com a necessidade do projeto e podem ser: – Designer-Programmer; – Business Expert; – Coordinator (deve ser alguém com boa comunicação, geralmente o Lead Designer); – Tester; – Writer. 38
  • 39. O Processo A Crystal Clear utiliza processos cíclicos de diferentes tamanhos: desenvolvimento, iteração, prazo de entrega e o projeto como um todo. O ciclo do projeto tem três partes: 1. Mapeamento de atividades Esta atividade leva de alguns dias a algumas semanas e é constituída por quatro passos: a. Construir o núcleo da equipe; b. Realizar a estratégia Exploratório 360º; c. Definir como a metodologia será aplicada; d. Construir o plano inicial do projeto. 39
  • 40. O Processo 2. Uma série de dois ou mais ciclos de entrega O ciclo de entrega possui três ou quatro partes. a. Fazer uma reavaliação do plano de entregas; b. Uma ou mais iterações com código testado e integrado; c. Entrega real para usuários; d. Realizar um ritual de conclusão, incluindo reflexão sobre o processo e sobre o produto que está sendo criado. 40
  • 41. O Processo 3. Conclusão do ritual: reflexão sobre a entrega Neste ritual deve-se, além de realizar uma reflexão sobre o projeto, o processo e deixar claro o que funcionou bem e o que não funcionou. A equipe deve ter um momento feliz no final do projeto, uma espécie de comemoração. 41
  • 42. Exemplo Prático ❖ Cenário: – Empresas de pequeno porte e startups; – Equipe experiente ou parcialmente experiente; – Construção de softwares em geral ( apps, sistemas web, entre outros). 42
  • 43. Exemplo Prático 43 Entrega frequente Comunicação Cara a CaraFácil acesso a especialistas Segurança pessoal Exploratório 360° Programação lado-a-lado
  • 44. Conclusão ❖ O Crystal é uma família de modelos ágeis de processo que podem ser adotados para as características específicas de um projeto. ❖ Como outras abordagens ágeis, o Crystal adota uma estratégia iterativa, mas se ajusta processo de modo a definir projetos de diferentes tamanhos e complexidades. 44
  • 45. Conclusão ❖ Pontos Positivos: – Entregas freqüentes das etapas do projeto, reduzindo o retrabalho; – Reduz possíveis falhas de entrega, pois o usuário está diretamente envolvido no projeto; – Possibilita ser adaptada de acordo com o projeto; ❖ Pontos Negativos: – A metodologia não foi desenvolvida para trabalhar com projetos longos. – Até o presente momento não foi bem difundida no Brasil. 45
  • 46. Referências ❖ http://www.leandromtr.com/gestao/metodologia-agil-crystal/ ❖ http://docplayer.com.br/docs-images/24/2982347/images/13-0.png ❖ http://images.slideplayer.com.br/8/2459776/slides/slide_1.jpg, ❖ https://www.passeidireto.com/arquivo/1793981/metodologia-de- desenvolvimento-agil-crystal/1 ❖ http://pt.slideshare.net/felipebastos790/crystal-engenharia-de-software ❖ https://run.unl.pt/bitstream/10362/2003/1/WPSeries_09_2009Tomas.pdf 46

Notas do Editor

  1. Slide desnecessário, pode deixar apenas pra citar as 7 característica do cristal mesmo