CASE: Qualidade de Código
CLIENTE: Banco Itaú
SOLUÇÃO: Eccox Quality Control for Cobol (EQC), Eccox Quality Control for DB2 (EQD) e Quality Management for Governance (QMG)PREMIAÇÃO: eFinance 2015
A padronização no desenvolvimento tem se mostrado um caminho bastante viável para o aumento da qualidade e da eficiência operacional, e para a diminuição dos riscos ao ambiente de produção. Para manter seus códigos de programas rigorosamente dentro do padrão e garantir governança, o Itaú Unibanco implantou o projeto “Qualidade de Código”, que venceu o Prêmio efinance 2015.
O Banco buscava uma ferramenta que se inserisse no ciclo de desenvolvimento dos programas, de modo a dar qualidade ao processo, evitar retrabalhos, indicar melhorias e prover informações sobre a evolução na qualidade dos códigos de cada área envolvida. Apostou na inspeção automatizada dos programas e na governança, baseada em métricas de qualidade. O retorno do investimento veio em dois anos, com a melhoria da qualidade e respectivos reflexos pelo ganho das aplicações e dos problemas evitados pelo uso de tecnologias adequadas.
Após concorrência, o Itaú Unibanco selecionou a Eccox, principalmente, por suas soluções de inspeção automática de código para ambiente mainframe – Eccox Quality Control for Cobol e Eccox Quality Control for DB2 – integrarem-se com a ferramenta de compilação padrão do banco e atenderem aos programas COBOL e DB2.Também foi levado em conta com a possibilidade de implantação gradual e o tratamento de exceções. A “ferramenta foi selecionada por apresentar a melhor solução aos requisitos técnicos solicitados. O estudo contemplou casos de uso, abrangência, aderências à infraestrutura, facilidade de implantação e gestão do uso da ferramenta”, informa o superintendente do Itaú Unibanco, Igor Felippe Freitas.
Presente em 80% dos bancos de varejo, a Eccox estima que bancos de grande porte costumam ter mais de 300 mil programas, o que dá uma ideia do volume de códigos produzidos e da importância de se ter um sistema de gestão que forneça indicadores necessários para gerir e corrigir a rota, quando necessário.
Com um investimento aproximado de R$ 4,4 milhões em licenças de software, o projeto foi iniciado em 2010 e sua conclusão está prevista para setembro de 2016. A implantação foi feita de forma customizada e de acordo com as necessidades do Itaú Unibanco. Em 2013, foi implementada a métrica de qualidade de código baseada nas informações geradas pelas ferramentas Eccox QC, utilizada como insumo para a governança e melhoria contínua das aplicações.
O diretor de pesquisa e desenvolvimento da Eccox Software, José Ronaldo Martins, explica que um dos principais desafios para implantação do projeto foi sua complexidade e o fato de a operação do Itaú Unibanco ser “non stop”, o que levou a Eccox a negociar com cada equipe e estabelecer um cronograma que atendesse a todos, sem causar impacto na produção.
A implantação foi dividida em três etapas. A primeira visava não interferir nos processos existentes, e serviu apenas para alertar os desenvolvedores sobre as discrepâncias encontradas nos códigos de programas. A segunda restringiu a movimentação de ambientes produtivos de programas novos fora dos padrões estabelecidos. Esta implantação gradual reduziu o impacto cultural e privilegiou o desenvolvedor, dando-lhe a oportunidade de adaptar-se aos novos processos.
A terceira fase, que teve início em janeiro de 2015, vem habilitando, gradativamente, a restrição total e envolve programas novos e legados, juntamente com o tratamento das exceções e a implantação de métricas associadas às metas de qualidade no desenvolvimento das aplicações. Para obter essas métricas foi necessário integrar uma solução de governança capaz de medir automaticamente os ganhos e a evolução de qualidade do ambiente. O resultado foi o Eccox QMG (Quality Management for Governace), que transforma dados sobre a qualidade dos códigos, avaliados pelos Eccox QCs, em informações gerenciais.
Segundo Freitas, nesta terceira fase, a estratégia na adoção da ferramenta foi baseada em ondas, em que, para cada uma das dez ondas, estão sendo habilitadas regras restritivas à compilação dos programas COBOL e DB2. Desta, forma, todo código produzido e/ou alterado passa pelo crivo de aderência das regras de qualidade. “E foi estruturado contemplando uma fase de análise das regras restritivas, a definição da estratégia para programas novos e legados e a comunicação da habilitação de cada onda (de sistemas implantados),” explica Freitas.
Como resultados, o superintendente da instituição aponta: mais disponibilidade, mais eficiência no processamento e redução do tempo de manutenção. O projeto ainda ampliou a eficiência por meio do aumento da qualidade dos códigos-fontes, não só buscando a aderência quanto às boas práticas do mercado, mas também para otimizar sua performance permitir ao Itaú Unibanco estabelecer regras e processos padronizados no desenvolvimento de programas que suportem sua estrutura de negócios.
A padronização também envolveu fábricas de software contratadas, com o estabelecimento de métricas padronizadas, facilmente mensuráveis, fundadas em seus respectivos SLAs, para garantir ao banco alto nível de segurança, qualidade e eficiência dos códigos produzidos.
O controle automatizado permitiu definir mais de 400 regras de codificação, estabelecidas dentro de quatro conceitos: performance, standard, risco e retrabalho. Aqui performance diz respeito à eficiência operacional dos códigos; standard, à padronização, tendo em vista a redução da variabilidade para mitigar riscos de produção e retrabalho e também compliance.
Segundo o diretor da Eccox, este controle de qualidade, a uniformidade e as boas práticas nos códigos de programas deve ser um processo contínuo, automático e estar integrado ao ciclo de desenvolvimento de programas novos e legados. Todo este processo procura não só melhorar a performance dos programas mas também promover a redução dos custos ao estender sua vida útil, contendo o uso de recursos de máquina e racionalizando investimentos.
Isso, porque o processo de qualidade age de maneira proativa, prevenindo problemas em produção. Atualmente, nenhuma compilação em programas que usam COBOL ou DB2 acontece sem passar pelo filtro qualitativo. “De maneira evolutiva e contínua, o processo está controlando os programas desenvolvidos e alterados, visando à melhor qualidade possível, focando a eficiência e economia. Trata-se de um processo cíclico e contínuo”, finaliza Martins.