CASE: DESENVOLVIMENTO e SUSTENTAÇÃO DO MESUR​
CASE: DESENVOLVIMENTO e SUSTENTAÇÃO DO MESUR​

Necessidades

Se considerarmos um estudo abrangente realizado em 2022 sobre o volume de demanda de contratos de desenvolvimento e sustentação de software – apenas em um âmbito restrito do governo federal brasileiro – identifica-se em 139 órgãos, um total de contratações de desenvolvimento e sustentação de softwares e sistemas ultrapassando R$ 1,2 bilhão.

Histórico da normatização para medição de resultados

19 de maio de 2008

A Secretaria de Logística e Tecnologia da Informação (SLTI) publicou a “IN04”, que regula o processo de contratação de serviços de TI pela Administração Pública Federal. Destacou a necessidade de vincular a remuneração das contratadas a resultados.

17 de outubro de 2013

O Conselho Nacional de Justiça (CNJ) emitiu a Resolução nº 182/2013, que estabelece diretrizes para a contratação de soluções de TI no âmbito do Judiciário.

27 de junho de 2017

O Conselho Nacional do Ministério Público (CNMP) emitiu a Resolução nº 171/2017

20 de março de 2023

Dificuldades em caracterizar preços inexequíveis em pregões eletrônicos e lacunas na maturidade da gestão do desenvolvimento de software, especialmente no alinhamento com o desenvolvimento Ágil. Necessidade de revisão nos modelos de contratação. Contratação por preço unitário flexibilizada, permitindo a alocação de equipes, mas mantendo a exigência de medição da produção e produtividade. Em março de 2023, a Portaria SGD/MGI nº 750 formalizou essas mudanças e introduziu novos métodos de medição.

Esse montante, restrito ao Executivo Federal, cresce exponencialmente quando se considera o setor privado com níveis equivalente de exigências de governança corporativa e os demais poderes.

Conforme evolução e amadurecimentos dos requisitos de eficiência operacional e transparência, tornou-se necessário quantificar a produção de software como representação dos resultados da contratação e não basear a remuneração apenas no esforço investido. O método da Análise de Pontos de Função foi complementado e adaptado ao longo dos anos para melhor permitir esse objetivo.

Contudo e apesar da maturidade dos métodos de medição de software, verificava-se que planilhas eletrônicas eram a principal ferramenta usada na medição. O uso de planilhas eletrônicas para gerir contratos e medir entregas expõe os órgãos a riscos inaceitáveis:

  1. Falta de Controle de Versão e Auditoria: As planilhas são vulneráveis a erros manuais, e muitas vezes não há um controle rigoroso de versão ou histórico de alterações. Isso pode resultar em medições inconsistentes e dificultar auditorias, o que é crucial em projetos onde a precisão das medições impacta contratos e custos.
  2. Erro Humano: Planilhas dependem de entrada manual de dados, fórmulas e ajustes, o que aumenta as chances de erros, como fórmulas quebradas, referências incorretas ou números transcritos de forma inadequada. Como o FPA é sensível a variações pequenas nas medições, esses erros podem levar a resultados imprecisos.
  3. Falta de Padronização: A medição requer aderência a um padrão rigoroso (como IFPUG ou COSMIC), mas o uso de planilhas permite que cada usuário adote práticas diferentes. Isso pode resultar em falta de consistência entre diferentes medições e analistas.
  4. Escalabilidade e Manutenção: À medida que o número de projetos ou medições cresce, manter e organizar dados em uma planilha torna-se inviável. A gestão de múltiplos projetos, dados históricos e diferentes medições pode sobrecarregar as planilhas, aumentando a chance de falhas.
  5. Dificuldade de Integração: Planilhas não são facilmente integráveis a outras ferramentas de gestão, como sistemas de gerenciamento de projetos ou de controle de qualidade. Isso limita a visibilidade e a capacidade de compartilhar resultados de forma eficiente com outras partes interessadas.
  6. Segurança: A segurança dos dados em planilhas é outro ponto fraco. Em organizações onde a medição de software está diretamente relacionada ao faturamento ou à conformidade legal, a falta de proteção robusta contra acessos não autorizados pode comprometer informações confidenciais.
  7. Falta de Suporte a Colaboração: Em ambientes onde múltiplas partes precisam colaborar na medição de software, as planilhas não oferecem suporte adequado para trabalho colaborativo em tempo real. Conflitos de edição, perda de dados e duplicação de esforços podem ocorrer.

Uma solução de software robusta e confiável, capaz de gerar respostas quantitativas e organizar dados de medição, tornou-se essencial para lidar com a complexidade do processo.

Proposta

Com o objetivo de resolver esses desafios, foi proposto o desenvolvimento do MESUR, uma solução web multitenant, onde uma única instância do software atende múltiplos clientes (tenants), com dados isolados e seguros para cada cliente. O MESUR é uma solução de classe mundial, suportando atualmente três idiomas: Português, Inglês, Espanhol.

Entre as principais funcionalidades do MESUR, destacam-se:

  • Gestão Automatizada do Escopo: Simplifica e automatiza a gestão do escopo, reutilizando-o a cada nova versão.
  • Análise de Pontos de Função: Facilita a medição de software com a Análise de Pontos de Função (APF) e outras técnicas, como as estimativas da NESMA e o Ponto de Função Simples.
  • Integração com Ferramentas de Desempenho: Conecta-se a ferramentas como Microsoft TFS, Redmine, Jira, IBM RTC e Mantis para agregar métricas de desempenho.
  • Transparência e Rastreabilidade: Mantém o histórico de medições, garantindo rastreabilidade desde a estimativa até a aceitação final.
  • Colaboração e Produtividade: Facilita o controle do processo de medição e resolução de divergências, promovendo uma colaboração eficiente.
  • Suporte ao Desenvolvimento Ágil: Integra-se perfeitamente ao desenvolvimento ágil, mantendo a hierarquia de requisitos e atualizando as medições automaticamente.
  • Configurações Personalizadas: Oferece personalizações com base em diretrizes locais, incluindo itens não mensuráveis e fatores de impacto.

Expectativas e Desafios

Inicialmente, o MESUR foi disponibilizado para uso interno na FATTO, especialmente pelo Centro de Orçamentos e Fábrica de Métricas. Após a implementação inicial, surgiram novas demandas tecnológicas. A experiência dos profissionais CFPS, aliada à metodologia ágil, elevou o produto a um novo patamar, trazendo ganhos de produtividade e transformando o MESUR em uma ferramenta essencial para medição e gestão do escopo.

O maior desafio foi identificar e estruturar os requisitos de usabilidade e desempenho, fundamentais para garantir que o MESUR se tornasse mais que uma solução de informação gerencial, mas uma ferramenta de trabalho robusta e eficiente.

Solução Entregue

Em Setembro / 2024, o MESUR:

  • Mais de 990 usuários cadastrados
  • Medições de 56 empresas
  • 26.856 medições
  • Totalizando 1.500.178 pontos de função medidos ou estimados, o que representa cerca de 15 milhões de horas de desenvolvimento ou 90 mil homens-mês.
  • A ferramenta já respaldou recursos da ordem de R$ 2 bilhões, cumprindo todos os seus objetivos.

Tecnologia & Metodologia

O desenvolvimento do MESUR, realizado pelo time da FATTO, seguiu as práticas de Desenvolvimento Ágil propostas pelo SAFe para planejamento do roadmap e definição de uma arquitetura de referência. Nisso também usou boas práticas do IREB para levantar e organizar os requisitos daquele roadmap, sem com isso comprometer os objetivos de entregas frequentes e com o aprendizado da utilização e feedback das entregas anteriores. Usou o Scrum; em especial as recomendações de sua última versão, para a gerência de projetos e a manutenção de uma cadência de entregas. No projeto de arquitetura, buscou potencializar modelos testados tanto no Front End quanto no Back End. Também entregou testes funcionais de regressão automatizados com o Cypress.

Tecnologias

  • Backend: Laravel 5.8; PHP 7.4
  • Frontend: Template Ultima-NG 15 da Primefaces; Angular 15; Javascript; Typescript; SCSS; CSS; HTML
  • Banco de dados: Postgresql 13
  • Servidor: Linux CentOS 7
  • Analisador de código estático: SonarQube 9
  • Ferramentas de testes: PHPUnit; Cypress

Planos para o Futuro

Apesar de sua escala, a medição de software ainda é um mercado de nicho. Muitos no mercado ainda têm dificuldade em perceber os benefícios que a medição pode trazer para além da contratação de software. No futuro, o objetivo é melhor mapear esses benefícios