Neste trabalho serão abordadas outras metodologias ágeis, como
Crystal, desenvolvimento dirigido a funcionalidade (FDD) e desenvolvimento dirigido a testes (TDD). Métodos ágeis foram criados para o desenvolvimento de software rápido e eficiente, então vários pontos eficazes foram adotados, então cada método tem alguns pontos atrás. Crystal
A família Crystal de métodos ágeis está relacionada à gestão de
pessoas, existem diferentes tipos de projetos para diferentes tipos de metodologias Crystal específicas. Portanto, seja adequado na hora de gerenciar melhor o projeto com base no tamanho da equipe e nos riscos envolvidos.
Esse método é característico por algumas características como:
• Flexibilidade seguindo o escopo e tamanho do projeto
• Preço fixo por projeto
• Foco em criticidade e prioridades
• Dificuldade para abordar o projeto no meio do progresso
• Boa comunicação para projetos com poucas pessoas, logo quando se
tem o aumento de pessoas envolvidas, tem-se o aumento de dificuldade de comunicação.
Além das características acima, tem-se a graduação do projeto por
cores, sendo relacionado a cores mais claras com menor complexidade e havendo 4 níveis de criticidade como:
• C = conforto
• D = baixo custo
• E = elevado custo
• L = risco de vida
Portanto, cada projeto é determinado de acordo com seus riscos e o
porte da equipe multidisciplinar de especialistas. Faça também uma lista de prioridades e deixe que cada projeto selecione a metodologia adequada, de forma que se determine que projetos de médio e pequeno porte preferem métodos ágeis pela facilidade de comunicação e projetos grandes preferem métodos clássicos. FDD
Desenvolvimento orientado funcional (FDD) é um método de processos
orientados a objetos práticos, mais usado para projetos de software de médio a grande porte. Este modelo concentra-se em atividades de programas de garantia de qualidade e diretrizes e técnicas de gerenciamento de projetos.
Como uma ferramenta de gerenciamento de problemas, a decomposição
é feita com base nas funções e, portanto, integra as melhorias do programa. Para melhor gerenciamento, a garantia de qualidade do software usa algumas etapas, como:
• Encorajamento de estratégias de desenvolvimento incremental
• Inspeção de código e projeto
• Aplicação de auditorias
• Coleta de métricas
• Uso de padrões
Dentro dessa metodologia existem alguns benefícios também, são elas:
•São organizadas em pequenos blocos entregues ao usuário, assim
deixando-os mais fácil para entendimento e facilitando a revisão do projeto.
• As funcionalidades são agrupadas hierarquicamente, sendo
relacionadas com o negócio. Também são entregues a cada 2 semana.
• Os códigos são mais fáceis de inspecionar
• O planejamento, cronograma e acompanhamento do projeto são
guiadas pela hierarquia de funcionalidade. TDD
O desenvolvimento baseado em teste é um conjunto de requisitos para
um componente de software com base na criação de uma sequência de casos de teste que exercita a interface e tenta encontrar erros ou bugs em estruturas de dados e funções. Programas. Além de focar na criação de testes antes da criação do código-fonte e consequentemente no controle detalhado do projeto.
Os testes criados antes do estágio de codificação ajudam os
programadores a esclarecer ideias sobre o segmento de código que está sendo criado. Também reduz o custo do teste de regressão usando testes automatizados.
Em outras palavras, os testes são executados para encontrar bugs.
Quando encontrados, os segmentos de código são regredidos em pequenas etapas, evitando possíveis efeitos colaterais no código anterior.
Como cada metodologia segue o seu cronograma, o TDD segue o seguinte
plano:
1. Criação de caso de teste – determinando qual a finalidade do código
2. Escreve um novo segmento de código – criação do segmento pequeno
incremental do código
3. Executa os testes – Etapa que analisa se há ou não erros no código, se
caso haver, o código é refeito e executa novamente a etapa de criação do novo segmento do código. Caso contrário, os testes são concluídos e podem ir para outro segmento de código.
Nesta metodologia existem testes como:
•Teste de release: São realizados testes de verificação de satisfação dos
requisitos (sendo realizado um conjunto de testes para cada requisito) e de sistema, que visa a descoberta de bugs no sistema com entrada de dados pelo usuário e desempenho do software. Portanto, seriam os testes de liberação do software para o usuário.
• Teste de usuário: São testes baseados nas entradas do usuário,
podendo haver testes alfa, onde usuários e desenvolvedores testam juntos o software em um ambiente interno. Teste beta, trata-se da fase experimental com o usuário, onde tem-se os feedbacks da versão pré-pronta. Por fim, o teste de aceitação trata-se da etapa onde os clientes testam e dizem se o software está pronto ou não.
Por fim, essa metodologia acaba sendo bem aceita em empresas de
pequeno e médio porte, porém é ineficaz em sistemas multi-threads, pois processam o software em diferentes clocks e produzem diferentes resultados. CONSIDERAÇÕES FINAIS
Neste trabalho, vi vários métodos ágeis que visam entregar produtos em
um menor tempo, e existem algumas ferramentas que focam em um melhor gerenciamento de projetos e membros da equipe, além de funcionalidades e desenvolvimento de software baseado em teste.
Crystal é um modelo que foca na gestão de equipes qualificadas em
cada projeto, também permite que cada projeto ou equipe escolha o método mais adequado, que pode ser ágil ou clássico. Dependendo do número de pessoas e dos riscos envolvidos no projeto, existem classificações de cores e 4 níveis-chave. Alguém apontou que grupos com um pequeno número de pessoas tendem a usar métodos ágeis, e se houver muitas pessoas em cada projeto, eles tendem a usar métodos clássicos.
O desenvolvimento orientado a funções é uma abordagem orientada a
objetos que enfatiza as atividades de garantia de qualidade de software e as diretrizes e técnicas de gerenciamento de projetos. Para manter uma boa organização, o planejamento, o andamento e o monitoramento do projeto devem ser orientados de acordo com a hierarquia funcional do processo incremental. Com o tempo, passou a ser mais utilizado em grandes e médias empresas.
Para o desenvolvimento baseado em teste, é o desenvolvimento de
teste antes da criação do código, a finalidade é criar o código-fonte com uma finalidade definida e, em caso de erro, o custo de reconstrução é menor. Além de quebrar seu código em várias partes, isso também pode tornar mais fácil regredir seu código e remover erros de seu código-fonte com mais eficiência e rapidez. Ao mesmo tempo, você ganha a confiabilidade do usuário ao lançar versões alfa e beta do software para capturar feedback e melhorar o software. REFERÊNCIAS
SOMMERVILLE, I. Engenharia de Software. 9.ed. São Paulo: Editora Pearson
Brasil, 2011. PRESSMAN, Roger S. Engenharia de software. 7.ed. São Paulo: McGraw- Hill, ArtMed, 2011. https://www.treinaweb.com.br/blog/metodologia-crystal-o-que-e-e-para-que- serve/ https://www.devmedia.com.br/metodos-ageis-parte-02/9443