Cristal - Simplificando o Controle de Projetos
Este framework foi criado por Alistair Cockburn em 1988 com o objetivo de proporcionar um controle simplificado para projetos de softwares, que se tornaram cada vez mais complexos com a evolução da tecnologia. A metodologia Cristal possui uma característica única onde são divididos em cores os níveis de criticidade de um projeto e tamanho da equipe responsável pela execução.
Seguindo a filosofia Cristal, projetos menores e menos críticos são classificados com cores mais claras, como por exemplo Clear e Yellow, envolvendo menos desenvolvedores e possuindo baixo risco e projetos maiores são classificados com cores escuras caracterizando um alto nível de importância e relação risco/retorno maior.
Segundo Cockburn o framework Cristal, embora possua diferentes níveis de controle, em todos é procurado ter uma comunicação clara e um forte trabalho em equipe, a qual possui sete princípios chaves para sua implementação, que são:
Feedback constante: Todo time se reúne com frequência com o time de desenvolvimento para discutir o andamento do projeto e com o cliente, para garantir que está sendo desenvolvido o que é esperado.
Comunicação constante: Os responsáveis por definir os requisitos do projeto devem ser acessíveis a todo momento.
Entrega frequente: São esperados resultados a cada 2 meses e as partes interessadas podem acessar versões intermediárias das entregas para poder fornecer feedback.
Foco: Cada membro do time possui sua lista de prioridades e deve trabalhar dentro do timebox para concluir as tarefas sem ser interrompido.
Acesso para usuários: É esperado que o time de desenvolvimento tenha acesso a uma pequena parcela de usuários finais do projeto.
Testes automatizados e integração: Devem ser inseridos controles de testes automatizados para uma frequente integração com o sistema final.
Segurança: Aqui tem-se dois vieses onde o time de projeto deve ser livre para comunicar seus pontos de vista e deve ser garantida a segurança do usuário ao utilizar o produto.
O método Cristal também utiliza uma codificação por letras para representar o nível crítico do projeto conforme figura 1.Figura 1 – Nível de criticidade do projeto Cristal.
Fonte: Elaborada pelo autor (2021).
Sendo:
C – Confort (conforto): Caso o produto não funcione em sua totalidade inicialmente, deve haver um backup para que o usuário possa dar continuidade em seu trabalho.
D – Discretionary Money (dinheiro disponibilizado para uso sob autorização): Casos onde a falha do sistema causa perda de dinheiro, porém o valor da perda não é expressivo.
E – Essencial Money (dinheiro necessário para os custos do projeto): Casos onde a falha do sistema causa grandes perdas financeiras.
L – Life (vida): Casos onde a falha do sistema pode causar a perda de vidas.
Segundo Fowler o framework cristal tem como prioridade as pessoas envolvidas, estando o processo em segundo plano. Assim como em outros frameworks ágeis, o Cristal possui seu próprio framework conforme figura 2, com um conjunto de práticas a serem abordadas dentro de cada ciclo e possuindo determinado grau de importância dependendo do nível crítico do projeto.Figura 2 – Framework Cristal.
Fonte: Elaborada pelo autor (2021).
Staging: É o planejamento do próximo incremento do projeto, nesta etapa o time seleciona os requisitos e prazo para a entrega da iteração.
Edição e Revisão: É onde é construído, demonstrado e revisado os objetivos do incremento a ser feito.
Monitoramento: O progresso e a performance da equipe são monitorados e são medidos os estágios de estabilidade de entregas.
Paralelismo e fluxo: As equipes operam de modo sincronizado.
Inspeções de usuário: São realizadas de 2 a 3 inspeções por incremento.
Workshops refletivos: Antes e depois de cada iteração são realizadas reuniões para analisar o progresso do time.
Assuntos locais: Dependendo do tipo do projeto são aplicados diferentes procedimentos e ferramentas.
Produtos de trabalho: São documentos de requisitos, com lançamentos frequentes, manuais, modelos comuns.
Padrões: São padrões de qualidade, notação e formatação.
Ferramentas: São as ferramentas mínimas necessárias para a execução do projeto, como por exemplo compiladores, programas, desenhos, métricas e comunicação.
O framework cristal possui alguns papeis importantes para a sua aplicação, sendo:
Patrocinador: Responsável por financiar o projeto.
Usuário: Responsável por utilizar o produto.
Programador sênior: Membro responsável por passar experiência ao time.
Programador: Membro responsável pela estruturação da programação.
Testador: Membro responsável por testar o produto desenvolvido.
Escritor: Responsável pela elaboração da documentação.
Analista de negócios: Responsável por se comunicar com o usuário e negociar requisitos.