Qualidade de código
Por meio do serviço Qualidade de Código, a MTP propõe uma solução personalizável para o problema do controle de qualidade do código fonte do produto de software.
Esse controle é realizado inspecionando esse código de forma manual ou automática, mediante análise estática. A solução ideal é aplicar as duas operações, embora as revisões manuais sejam mais caras e exijam recursos especializados que nem sempre estão disponíveis.
A Análise de Qualidade de Código de software realizada pela MTP é baseada:
- Na experiência real na implementação de serviços dessas características.
- Na experiência comprovada na realização de uma análise de código para diferentes tecnologias, incluindo Siebel ou SAP.
- No processo automatizado de envio às partes interessadas dos relatórios de qualidade de código de software.
- A existência de modelos padrão de medição da qualidade dos provedores:
- Definição dos modelos de qualidade.
- Definição dos modelos de aceitação: identificação de KPIs.
- Definição de um procedimento de entrega.
Nos primeiros meses de atividade, as seguintes ações seriam realizadas:
- Análise dos dez aplicativos mais críticos do portfólio.
- Definição de um modelo de aceitação.
- Definição de um circuito de certificação (integração/aceitação).
- Definição de um modelo de relatório.
- Automação das análises (execução e relatórios).
- Integração nos modelos IC/EC/DevOps...
Mais informações
Em que consiste o serviço Code Quality?
A qualidade do código-fonte, como elemento em contínua construção e evolução, deve ser medida e avaliada constantemente, de forma objetiva e confiável.
O serviço Code Analysis contempla a revisão sistemática, automatizada e periódica dos fatores de saúde mais importantes associados ao software, cuja análise subsequente serve para obter níveis cada vez mais altos de qualidade no domínio não funcional: Robustez, Manutenção, Eficiência, Reutilização, Segurança, entre outras áreas.
Importância da qualidade do código fonte do produto de software
Manter bons níveis de qualidade no código desenvolvido contribui para reduzir as incidências em todos os produtos de software, bem como os custos associados à manutenção corretiva e à refatoração tardia do design original. Uma constante em qualquer processo de desenvolvimento deve ser o gerenciamento, controle e redução da dívida técnica. Da mesma forma, a identificação precoce de defeitos que afetam a qualidade geral do software é uma atividade essencial.
Como realizar uma inspeção de qualidade do código? Em que é baseado?
A técnica principal é a análise manual e / ou automatizada dos módulos constituintes de um programa, aplicativo ou produto de software para quantificar características intrínsecas do código fonte, conhecidas como Fatores de Saúde. Todo produto possui várias características que determinam o que é considerado qualidade e que podem diferir de acordo com os padrões e modelos aplicados na Organização.
Em geral, podemos agrupar essas características do código em cinco grandes grupos:
- Confiabilidade: Também chamada de robustez ou tolerância a falhas, é a capacidade do software de não produzir resultados inesperados ou de executar operações que causam resultados indeterminados.
- Desempenho: entendido como a eficiência aplicada ao uso dos recursos existentes e disponíveis
- Segurança: existência de vulnerabilidades ou defeitos de configuração que possam comprometer a confidencialidade, integridade ou disponibilidade do software
- Manutenção: A capacidade do software ser modificado. As modificações podem ser corretivas, evolutivas ou relacionadas ao meio ambiente. Quanto mais complexo e menos bem documentado o código, mais difícil será ao refatorá-lo e mantê-lo
- Portabilidade: capacidade do software ser transferido de um ambiente para outro.
- A experiência real na implementação de serviços dessas características.
- Experiência comprovada na realização de uma análise de código para diferentes tecnologias, incluindo Siebel ou SAP.
- O processo automatizado de envio de relatórios de qualidade de código de software para as partes interessadas.
- A existência de modelos padrão de medição da qualidade do fornecedor:
- Definição de modelos de qualidade.
- Definição de modelos de aceitação: identificação de KPIs.
- Definição de um procedimento de entrega.
Diferença entre inspeção manual e automática da qualidade do código
Para a análise manual de código, não é necessário ter nenhuma ferramenta, pois a análise é realizada por inspeção diretamente nos módulos de origem do programa ou aplicativo. Esse tipo de análise é lento e tedioso, embora possa ser mais exaustivo e específico do que a análise dinâmica se você tiver um conhecimento profundo:
- De linguagem e suas boas práticas,
- Do ambiente e ambiente de desenvolvimento
- A tecnologia a ser analisada,
- O método de licenciamento preferido da organização ou
- O estabelecimento de prioridades, ou seja, a necessidade de maior profundidade na análise versus um tempo de resposta mais longo
Quanto tempo leva para executar a análise de qualidade do código?
Dependendo da abordagem e do método escolhido para isso, a análise pode ser de alguns minutos, várias horas ou até dias, dependendo do método utilizado, do volume de código em análise e da exaustividade e profundidade da avaliação dos resultados.
Sempre tentaremos automatizar e acelerar as fases mais tediosas do processo de análise (inspeção de origem / avaliação de resultados), contando com ferramentas que:
- Eles incorporam modelos de qualidade
- Executar revisões de código
- Eles fornecem recursos para gerar relatórios e abrir incidentes em plataformas para o gerenciamento adequado (por exemplo, Mantis, Jira, etc.)
- Eles geralmente incluem painéis com métricas e estatísticas gráficas para a apresentação dos resultados
Quais serão os benefícios da contratação da análise de qualidade do código?
A análise da qualidade do código fornece benefícios importantes para a empresa:
- Detecção e prevenção precoces de defeitos em potencial nos estágios iniciais do ciclo de vida do software
- Identificação de frentes de melhoria
- Monitoramento e controle da evolução em apoio à tomada de decisão informada
- Redução de tempo, custos e recursos em manutenção de software
- Alinhamento do desenvolvimento com padrões de codificação e boas práticas