Processo de Produção
de Software
Bacharelado em Engenharia de Software – Aula 24
Prof.ª M.ª Elaine Cecília Gatto
CRYSTAL
CRYSTAL
• Alistair Cockburn - 1997
• Uma metodologia não pode ser adequada para
todos os projetos
• A metodologia precisa ser adaptada ao projeto
• Orienta sobre o que é necessário adaptar
• Orienta sobre quais tipos de práticas utilizar
CRYSTAL
• Três tipos de projeto:
• Tamanho:
• Medido pelo número máximo de
desenvolvedores.
• O tamanho do projeto NÃO É medido
pelo número de linhas de código ou
pontos de função.
CRYSTAL
• Três tipos de projeto:
• Prioridade:
• Medida pela pressão do tempo sobre o
projeto.
• Projetos com alta pressão requerem
metodologias otimizadas para
produtividade.
• Outros projetos otimizam para
rastreabilidade em detrimento da
produtividade.
CRYSTAL
• Três tipos de projeto:
• Criticalidade:
• Medida pelas perdas que um mau
funcionamento causaria.
• Quatro níveis referentes à qualidade e
complexidade dos projetos:
• Vida: problemas de mau funcionamento
que podem causar dano FÍSICO a uma
pessoa
CRYSTAL
• Três tipos de projeto:
• Criticalidade:
• Quatro níveis:
• Dinheiro Essencial: problemas de
maus funcionamento que podem
causar perda de dinheiro essencial
para a sobrevivência da organização
CRYSTAL
• Três tipos de projeto:
• Criticalidade:
• Quatro níveis:
• Dinheiro Excedente: problemas de
maus funcionamento que podem
causar perda de dinheiro NÃO
essencial para a sobrevivência da
organização
CRYSTAL
• Três tipos de projeto:
• Criticalidade:
• Quatro níveis:
• Conforto: problemas de maus
funcionamento que NÃO causam
perda monetária mensurável, mas não
proporcionam conforto e prazer aos
usuários.
CRYSTAL
• Define princípios básicos para metodologias
de software
• Descreve como adaptar a metodologia ao
projeto
• Três metodologias definidas:
• Crystal Clear (Transparente): projetos não
críticos (nível do risco: desconforto),
dinheiro excedente, equipes de 6 a 8
pessoas (1992)
CRYSTAL
• Três metodologias definidas:
• Crystal Yellow: Equipe de 20 pessoas
direcionado a projetos de perdas
financeiras.
• Crystal Orange: projetos críticos, mas não
para a vida, equipes de até 40 pessoas
(grandes perdas financeiras)
CRYSTAL
• Crystal Red: Equipe de 100 de pessoas para
projetos com risco de morte.
• Quanto mais escura a cor, mais pesada seria a
metodologia.
• Não cobrem a gama completa de tipos de
projetos.
• Os métodos ficam mais formais conforme o
tamanho da equipe, e o risco do projeto,
aumentam
CRYSTAL
• Design de metodologias para a família Crystal:
• Métodos básicos para o processo:
• Empregar metodologias mais
abrangentes para equipes maiores.
• Empregar metodologias mais pesadas
para projetos mais críticos.
CRYSTAL
• Design de metodologias para a família Crystal:
• Métodos básicos para o processo:
• Dar preferência a metodologias mais
leves – peso é dispendioso
• Dar preferencia a comunicação
interativa, cara a cara.
CRYSTAL
• Design de metodologias para a família Crystal:
• Métodos básicos para o processo:
• O comportamento das pessoas varia
dentro de uma equipe e ao longo do
tempo.
• Processos de alta disciplina são mais
difíceis de adotar e tem mais
probabilidade de serem abandonados.
CRYSTAL
• Design de metodologias para a família Crystal:
• Métodos básicos para o processo:
• As pessoas desejam ser boas cidadãs.
• As pessoas podem tomar iniciativas.
• As pessoas podem se comunicar
informalmente.
• Usufruir destas características.
CRYSTAL
• Sete propriedades para complementar os
princípios
• Fornecem orientação adicional
• As três primeiras são as mais importantes
1. Liberações Frequentes: Liberar código
testado e funcional para usuários reais
com a maior frequência possível, no
mínimo em intervalos de poucos meses.
CRYSTAL
1. Liberações Frequentes:
1. O sistema é liberado para o grupo
completo de usuários.
2. O sistema é liberado para um grupo
limitado de usuários que somente testará o
sistema.
3. Visualização pelo usuário, ou
demonstração do sistema
4. Utilização do sistema por um curto período
de tempo em um ambiente controlado.
CRYSTAL
2. Aprimoramento Reflexivo:
• Antes, durante e após o projeto, deve-se
parar para pensar no processo e no que
pode ser aprimorado.
• No meio de um projeto, melhorias
podem ser implementadas no processo.
CRYSTAL
3. Comunicação estreita:
• Encorajar a comunicação estreita entre
os membros da equipe.
• Pode ser informal.
• Membros da equipe devem estar na
mesma sala.
• Rapidez na obtenção de respostas à
perguntas.
CRYSTAL
4. Segurança Pessoal:
• Encorajar os membros da equipe a se
manifestarem sem medo de represálias.
• Manifestar insatisfações com práticas
• Reconhecer erros
• Incapacidade de concluir tarefas
• Segurança psicológica
• Capacidade de fornecer feedback honesto
CRYSTAL
5. Foco:
• Trata da questão de minimizar
interrupções e permitir concentrar-se na
tarefa em mãos.
• Conhecimento das prioridades da tarefa
• Concentração na prioridade mais alta
CRYSTAL
5. Foco:
• Cone do silêncio:
• Usado quando um membro da equipe é
constantemente interrompido por ser o mais
experiente ou por obter um nível de
conhecimento maior que os outros
• É um horário definido em que esse membro
não poderá ser interrompido por ninguém.
CRYSTAL
6. Fácil Acesso a usuários experientes:
• Obter rapidamente feedback de usuários
experientes a respeito do produto,
design, requisitos e mudanças.
• Há um espaço de alguns dias entre a
pergunta e a resposta.
CRYSTAL
7. Bom ambiente técnico:
• Estabelecer um ambiente que inclua
testes automatizados, gestão de
configuração e integração frequente.
CRYSTAL
• Semelhanças entre as metodologias CRYSTAL
e XP:
• O progresso é monitorado através das
liberações de software ou por decisões
importantes
• Envolvimento direto do usuário
• Ajustes de metodologia são organizados no
inicio e meio de cada liberação
CRYSTAL
• Semelhanças entre as metodologias CRYSTAL
e XP:
• Padrões de políticas são obrigatórios
• Padrões locais de equipe para codificação,
modelos, interface, etc.
CRYSTAL
Característica Crystal Clear Crystal Orange
Equipe Uma equipe
Uma mesa
Equipes diferentes para:
• Planejamento do sistema
• Monitoramento do projeto
• Arquitetura
• Tecnologia
• Funções
• Infraestrutura
• Teste externo
CRYSTAL
Característica Crystal Clear Crystal Orange
Funções
Pessoal
separado
Quatro pessoas exercem
funções de:
• Responsável
• Designer sênior
• Programador
• Usuário
Outras funções podem
ser exercidas pelo
mesmo pessoal
14 funções
desempenhadas por
diferentes pessoas,
incluindo:
• Gerente de projeto
• Especialista de
negócios
• Arquiteto
• Mentor de design
• Testador
• Designer de interface
de usuário
CRYSTAL
Característica Crystal Clear Crystal Orange
Produtos de
Trabalho
9 itens incluindo:
Cronograma
• Situações de
uso
• Esboços de
design
• Situações de
teste
• Manuais de
usuário
13 itens incluindo os princípios
do Crsytal Clear, mais:
• Documentos de requisitos
• Relatórios de status
• Documentos de design de
UI
• Especificações intraequipe
Produtos de trabalho são
desenvolvidos até serem
compreensíveis, precisos e
estáveis para serem revisados
CRYSTAL
Característica Crystal Clear Crystal Orange
Prazo máximo
de liberação
2 meses 2 a 4 meses
CRYSTAL CLEAR
• Equipe:
• designer líder
• dois a sete
programadores
• Radiadores de
Informações:
• quadros e murais à
vista de toda a
equipe
• Acesso fácil a
especialistas de
domínio
• Eliminação de
distrações
CRYSTAL CLEAR
• Ciclo de Vida do
Crystal Clear:
• Iteração:
• estimação
• desenvolvimento
• celebração
• poucas semanas
• Entrega:
• várias iterações
• a cada dois meses
são entregues
funcionalidades
uteis ao cliente
• Projeto:
• conjunto de todas
as entregas
CRYSTAL CLEAR
• Características
• Centrada em pessoas:
• o foco par ao sucesso de um projeto está
em melhorar o trabalho das pessoas
envolvidas
• Ultraleve:
• Faz o possível para reduzir a burocracia e
a papelada
CRYSTAL CLEAR
• Na Medida:
• Design começa com algo menor do que se
pensa que seja preciso
• Aumenta-se o suficiente para suprir as
necessidades
• É mais fácil e mais barato aumentar um
sistema do que cortas coisas desnecessária
que já foram feitas
REFERÊNCIAS
1. TSUI, Frank; KARAM, Orlando. Fundamentos
da Engenharia de Software. Tradução e
Revisão Técnica de Edson Tanaka. 2.ª Edição.
Rio de Janeiro: LTC, 2013.
2. WAZLAWICK, Raul Sidnei. Engenharia de
Software: Conceitos e Práticas. 1.ª edição.
Rio de Janeiro: Elsevier, 2013.
REFERÊNCIAS
3. PRESSMAN, R. S.; MAXIM, B. R. Engenharia de
Software: Uma Abordagem Profissional. Tradução:
João Eduardo Nóbrega Tortello. Revisão Técnica:
Reginaldo Arakaki, Julio Arakaki, Renato Manzan de
Andrade. 8.ª Edição. Porto Alegre: AMGH, 2016.
4.FILHO, W. P. P. Engenharia de Software:
Fundamentos, Métodos e Padrões. 3.ª Edição.Rio
de Janeiro: LTC, 2015

Crystal Clear

  • 1.
    Processo de Produção deSoftware Bacharelado em Engenharia de Software – Aula 24 Prof.ª M.ª Elaine Cecília Gatto
  • 2.
  • 3.
    CRYSTAL • Alistair Cockburn- 1997 • Uma metodologia não pode ser adequada para todos os projetos • A metodologia precisa ser adaptada ao projeto • Orienta sobre o que é necessário adaptar • Orienta sobre quais tipos de práticas utilizar
  • 4.
    CRYSTAL • Três tiposde projeto: • Tamanho: • Medido pelo número máximo de desenvolvedores. • O tamanho do projeto NÃO É medido pelo número de linhas de código ou pontos de função.
  • 5.
    CRYSTAL • Três tiposde projeto: • Prioridade: • Medida pela pressão do tempo sobre o projeto. • Projetos com alta pressão requerem metodologias otimizadas para produtividade. • Outros projetos otimizam para rastreabilidade em detrimento da produtividade.
  • 6.
    CRYSTAL • Três tiposde projeto: • Criticalidade: • Medida pelas perdas que um mau funcionamento causaria. • Quatro níveis referentes à qualidade e complexidade dos projetos: • Vida: problemas de mau funcionamento que podem causar dano FÍSICO a uma pessoa
  • 7.
    CRYSTAL • Três tiposde projeto: • Criticalidade: • Quatro níveis: • Dinheiro Essencial: problemas de maus funcionamento que podem causar perda de dinheiro essencial para a sobrevivência da organização
  • 8.
    CRYSTAL • Três tiposde projeto: • Criticalidade: • Quatro níveis: • Dinheiro Excedente: problemas de maus funcionamento que podem causar perda de dinheiro NÃO essencial para a sobrevivência da organização
  • 9.
    CRYSTAL • Três tiposde projeto: • Criticalidade: • Quatro níveis: • Conforto: problemas de maus funcionamento que NÃO causam perda monetária mensurável, mas não proporcionam conforto e prazer aos usuários.
  • 10.
    CRYSTAL • Define princípiosbásicos para metodologias de software • Descreve como adaptar a metodologia ao projeto • Três metodologias definidas: • Crystal Clear (Transparente): projetos não críticos (nível do risco: desconforto), dinheiro excedente, equipes de 6 a 8 pessoas (1992)
  • 11.
    CRYSTAL • Três metodologiasdefinidas: • Crystal Yellow: Equipe de 20 pessoas direcionado a projetos de perdas financeiras. • Crystal Orange: projetos críticos, mas não para a vida, equipes de até 40 pessoas (grandes perdas financeiras)
  • 12.
    CRYSTAL • Crystal Red:Equipe de 100 de pessoas para projetos com risco de morte. • Quanto mais escura a cor, mais pesada seria a metodologia. • Não cobrem a gama completa de tipos de projetos. • Os métodos ficam mais formais conforme o tamanho da equipe, e o risco do projeto, aumentam
  • 13.
    CRYSTAL • Design demetodologias para a família Crystal: • Métodos básicos para o processo: • Empregar metodologias mais abrangentes para equipes maiores. • Empregar metodologias mais pesadas para projetos mais críticos.
  • 14.
    CRYSTAL • Design demetodologias para a família Crystal: • Métodos básicos para o processo: • Dar preferência a metodologias mais leves – peso é dispendioso • Dar preferencia a comunicação interativa, cara a cara.
  • 15.
    CRYSTAL • Design demetodologias para a família Crystal: • Métodos básicos para o processo: • O comportamento das pessoas varia dentro de uma equipe e ao longo do tempo. • Processos de alta disciplina são mais difíceis de adotar e tem mais probabilidade de serem abandonados.
  • 16.
    CRYSTAL • Design demetodologias para a família Crystal: • Métodos básicos para o processo: • As pessoas desejam ser boas cidadãs. • As pessoas podem tomar iniciativas. • As pessoas podem se comunicar informalmente. • Usufruir destas características.
  • 17.
    CRYSTAL • Sete propriedadespara complementar os princípios • Fornecem orientação adicional • As três primeiras são as mais importantes 1. Liberações Frequentes: Liberar código testado e funcional para usuários reais com a maior frequência possível, no mínimo em intervalos de poucos meses.
  • 18.
    CRYSTAL 1. Liberações Frequentes: 1.O sistema é liberado para o grupo completo de usuários. 2. O sistema é liberado para um grupo limitado de usuários que somente testará o sistema. 3. Visualização pelo usuário, ou demonstração do sistema 4. Utilização do sistema por um curto período de tempo em um ambiente controlado.
  • 19.
    CRYSTAL 2. Aprimoramento Reflexivo: •Antes, durante e após o projeto, deve-se parar para pensar no processo e no que pode ser aprimorado. • No meio de um projeto, melhorias podem ser implementadas no processo.
  • 20.
    CRYSTAL 3. Comunicação estreita: •Encorajar a comunicação estreita entre os membros da equipe. • Pode ser informal. • Membros da equipe devem estar na mesma sala. • Rapidez na obtenção de respostas à perguntas.
  • 21.
    CRYSTAL 4. Segurança Pessoal: •Encorajar os membros da equipe a se manifestarem sem medo de represálias. • Manifestar insatisfações com práticas • Reconhecer erros • Incapacidade de concluir tarefas • Segurança psicológica • Capacidade de fornecer feedback honesto
  • 22.
    CRYSTAL 5. Foco: • Tratada questão de minimizar interrupções e permitir concentrar-se na tarefa em mãos. • Conhecimento das prioridades da tarefa • Concentração na prioridade mais alta
  • 23.
    CRYSTAL 5. Foco: • Conedo silêncio: • Usado quando um membro da equipe é constantemente interrompido por ser o mais experiente ou por obter um nível de conhecimento maior que os outros • É um horário definido em que esse membro não poderá ser interrompido por ninguém.
  • 24.
    CRYSTAL 6. Fácil Acessoa usuários experientes: • Obter rapidamente feedback de usuários experientes a respeito do produto, design, requisitos e mudanças. • Há um espaço de alguns dias entre a pergunta e a resposta.
  • 25.
    CRYSTAL 7. Bom ambientetécnico: • Estabelecer um ambiente que inclua testes automatizados, gestão de configuração e integração frequente.
  • 26.
    CRYSTAL • Semelhanças entreas metodologias CRYSTAL e XP: • O progresso é monitorado através das liberações de software ou por decisões importantes • Envolvimento direto do usuário • Ajustes de metodologia são organizados no inicio e meio de cada liberação
  • 27.
    CRYSTAL • Semelhanças entreas metodologias CRYSTAL e XP: • Padrões de políticas são obrigatórios • Padrões locais de equipe para codificação, modelos, interface, etc.
  • 28.
    CRYSTAL Característica Crystal ClearCrystal Orange Equipe Uma equipe Uma mesa Equipes diferentes para: • Planejamento do sistema • Monitoramento do projeto • Arquitetura • Tecnologia • Funções • Infraestrutura • Teste externo
  • 29.
    CRYSTAL Característica Crystal ClearCrystal Orange Funções Pessoal separado Quatro pessoas exercem funções de: • Responsável • Designer sênior • Programador • Usuário Outras funções podem ser exercidas pelo mesmo pessoal 14 funções desempenhadas por diferentes pessoas, incluindo: • Gerente de projeto • Especialista de negócios • Arquiteto • Mentor de design • Testador • Designer de interface de usuário
  • 30.
    CRYSTAL Característica Crystal ClearCrystal Orange Produtos de Trabalho 9 itens incluindo: Cronograma • Situações de uso • Esboços de design • Situações de teste • Manuais de usuário 13 itens incluindo os princípios do Crsytal Clear, mais: • Documentos de requisitos • Relatórios de status • Documentos de design de UI • Especificações intraequipe Produtos de trabalho são desenvolvidos até serem compreensíveis, precisos e estáveis para serem revisados
  • 31.
    CRYSTAL Característica Crystal ClearCrystal Orange Prazo máximo de liberação 2 meses 2 a 4 meses
  • 32.
    CRYSTAL CLEAR • Equipe: •designer líder • dois a sete programadores • Radiadores de Informações: • quadros e murais à vista de toda a equipe • Acesso fácil a especialistas de domínio • Eliminação de distrações
  • 33.
    CRYSTAL CLEAR • Ciclode Vida do Crystal Clear: • Iteração: • estimação • desenvolvimento • celebração • poucas semanas • Entrega: • várias iterações • a cada dois meses são entregues funcionalidades uteis ao cliente • Projeto: • conjunto de todas as entregas
  • 34.
    CRYSTAL CLEAR • Características •Centrada em pessoas: • o foco par ao sucesso de um projeto está em melhorar o trabalho das pessoas envolvidas • Ultraleve: • Faz o possível para reduzir a burocracia e a papelada
  • 35.
    CRYSTAL CLEAR • NaMedida: • Design começa com algo menor do que se pensa que seja preciso • Aumenta-se o suficiente para suprir as necessidades • É mais fácil e mais barato aumentar um sistema do que cortas coisas desnecessária que já foram feitas
  • 36.
    REFERÊNCIAS 1. TSUI, Frank;KARAM, Orlando. Fundamentos da Engenharia de Software. Tradução e Revisão Técnica de Edson Tanaka. 2.ª Edição. Rio de Janeiro: LTC, 2013. 2. WAZLAWICK, Raul Sidnei. Engenharia de Software: Conceitos e Práticas. 1.ª edição. Rio de Janeiro: Elsevier, 2013.
  • 37.
    REFERÊNCIAS 3. PRESSMAN, R.S.; MAXIM, B. R. Engenharia de Software: Uma Abordagem Profissional. Tradução: João Eduardo Nóbrega Tortello. Revisão Técnica: Reginaldo Arakaki, Julio Arakaki, Renato Manzan de Andrade. 8.ª Edição. Porto Alegre: AMGH, 2016. 4.FILHO, W. P. P. Engenharia de Software: Fundamentos, Métodos e Padrões. 3.ª Edição.Rio de Janeiro: LTC, 2015