Notícias
Insight: aproximando os usuários das soluções de software do governo
TemaTec 234
Introdução
Estudos apontam, dentre outras causas, a falta de envolvimento dos usuários como fator determinante para o fracasso de um projeto de software (RAJKUMAR; ALAGARSAMY, 2013). Não é difícil compreender as razões que levam da causa à consequência. Sem que os usuários sejam constantemente ouvidos acerca das funcionalidades que estão sendo desenvolvidas dificilmente se consegue êxito. Considerando que o sucesso de uma aplicação depende da percepção de suporte ao trabalho realizado por seus usuários (RAMOS, 2000), é fundamental obter deles o devido feedback, que ajudará a compreender e intervir na solução de software de modo que aumente sua satisfação.
A proposta deste trabalho é apresentar o Insight, uma solução inovadora para captura, recepção e encaminhamento de feedbacks.
Objetivos
A ferramenta Insight tem como alvo possibilitar o envio de feedbacks a respeito do uso de uma determinada aplicação web, por parte dos seus utilizadores. Seu objetivo é facilitar que o processo de obtenção dessa informação das mais diversas aplicações web, hospedadas pelo Serpro, para que ele se dê de forma menos intrusiva e menos custosa. Outro ponto relevante considerado foi a provisão de um ambiente de gestão e acompanhamento desses feedbacks num ambiente unificado.
Estrutura do Insight
O Insight apresenta dois componentes de software principais. O primeiro é o serviço de suporte Insight, que permite aos desenvolvedores e/ou gestores de um sítio web criar e configurar seus formulários de feedback e, posteriormente, acompanhar os feedbacks recebidos. O outro é o componente de coleta de feedbacks, que é gerado dinamicamente por uma marcação HTML <script> e que referencia o formulário cadastrado na aplicação de Suporte do Insight, e deve ser integrado ao HTML do sítio web alvo. Essa marcação <script> gerada pela aplicação de suporte, após a criação do formulário de feedback, deverá ser incorporada ao HTML do sítio web pelos seus desenvolvedores.
Funcionalidades
O uso da ferramenta para gestores e equipes de desenvolvimento, em sua forma mais básica, envolve poucos passos:
- Acessar o portal do Insight;
- Adicionar uma nova aplicação*;
- Customizar o formulário fornecido ou criar um novo*;
- Adicionar o código JavaScript à aplicação sobre a qual se deseja coletar feedbacks*;
- Visualizar feedbacks;
- Gerir feedbacks;
* Apenas uma vez, quando da criação da aplicação.
Acesso ao portal do Insight
O acesso ao portal é liberado a usuários que possuam uma conta de e-mail @serpro.gov.br, usando as mesmas credenciais de login do Expresso. Para os usuários externos (clientes do Serpro), o acesso se torna possível através de um processo de inscrição disponível na página inicial do portal.
Figura 1 – Tela de login do Insight
Adicionar uma nova aplicação
Uma vez autenticado no portal, um usuário é capaz de criar aplicações.
Figura 2 – Funcionalidade de adição de nova aplicação
Customizar o formulário fornecido ou criar um novo
Sempre que uma aplicação é criada, a ferramenta disponibiliza um formulário inicial, que pode servir de ponto de partida para a construção do formulário. É possível determinar quais e como os campos serão apresentados, permitindo ao usuário escolher dentre os principais tipos de campos para entrada de dados do ambiente web. Essa customização pode ser realizada a qualquer momento, inclusive após a implantação do formulário no sítio web hospedeiro.
Figura 3 – Tela que demonstra a personalização de um formulário
Adicionar o código JavaScript à aplicação web
Disponibilizar um formulário criado no portal do Insight em uma aplicação é uma ação cuja simplicidade está diretamente relacionada à forma com que a aplicação receptora foi implementada. Se a aplicação em questão fez uso de modelos (do inglês, templates), fica fácil incorporar a solução, já que basta adicionar o código JavaScript em um único arquivo do código-fonte da aplicação web para que todas as páginas herdem o código adicionado. Por outro lado, também é possível que existam diferentes formulários para contextos específicos da aplicação web, caso seja relevante para a aplicação cliente.
Visualização dos feedbacks
Cada um dos formulários criados numa aplicação tem a relação de feedbacks coletados exibidos em uma tabela.
Figura 4 – Visualização de feedbacks
Nessa tabela, cada registro exibido dá acesso aos seus detalhes que ficam inicialmente ocultos para otimizar a exibição das informações.
Figura 5 – Detalhamento de um registro de feedback
Gerir feedbacks
O sistema identifica o fluxo de trabalho associado ao formulário e, baseado nele, fornece opções para o usuário gerir os feedbacks.
Componente de coleta de feedbacks
Figura 6 – Passo 1
O componente de coleta de feedbacks adiciona um botão “Reportar” (texto do botão pode ser alterado através da aplicação de suporte), que é o ponto de entrada para a coleta dos feedbacks.
Figura 7 – Usuário preenche formulário e clica no botão “Continuar”
Figura 8 – Passo 3 - Captura da tela é realizada
Figura 9 – Passo 4 - Usuário confirma o envio
Arquitetura
Os dois componentes que integram o Insight são inteiramente baseados em tecnologias de software livre e foram projetados para atender diversas aplicações simultaneamente.
O componente de coleta de feedbacks se baseou em duas soluções JavaScript existentes, o feedback.js e o html2canvas, ambas desenvolvidas por Niklas von Hertzen e distribuídas sob a licença MIT, que permite lidar com o software sem restrições. Foram necessárias intervenções no feedback.js, com o objetivo de ampliar os tipos de entrada de dados que poderiam ser embutidas nos formulários e em decorrência da natureza de interoperabilidade inerente ao JavaScript. O componente pode ser incorporado por quaisquer aplicações web que funcionem com os principais navegadores web do mercado (Google Chrome, Mozilla Firefox e Internet Explorer).
O serviço de suporte do Insight foi construído com o reconhecido framework Ruby on Rails e o banco de dados de alta performance MongoDB e fornece uma API REST para receber todos os feedbacks enviados pelos usuários.
Figura 10 – Arquitetura do Insight
Uso experimental
Para validar a proposta aqui apresentada, o Insight foi utilizado inicialmente em um processo de homologação remota do Siscoaf, sistema do Conselho de Controle de Atividades Financeiras, do Ministério da Fazenda. Nele a equipe de desenvolvimento estava distante fisicamente dos homologadores. Além disso, este evento teve a duração de uma semana, já que os usuários não estariam dedicados, tendo que se dividir entre a homologação da aplicação e o trabalho do dia a dia.
Nesse contexto, o Insight se mostrou bastante eficiente já que, ao se verificar os relatos, a equipe de desenvolvimento já tinha nos feedbacks informações suficientes para tratar rapidamente as questões levantadas. Em seguida, as possibilidades de uso foram ampliadas para permitir que os usuários se manifestassem em qualquer momento do desenvolvimento do software, estreitando ainda mais o contato entre os usuários e a equipe de desenvolvimento, pressuposto da metodologia ágil adotada pelo Serpro.
Trabalhos futuros
Apesar de o Insight já possuir todo o contexto necessário para o uso em aplicações web, é possível vislumbrar várias oportunidades de melhorias, tais como:
- Novas formas de captura: captura de vídeo e também o envio de áudio; realizar outros estudos de caso para mensurar a sua efetividade e contribuição na melhoria da obtenção dos feedbacks;
- Outras possibilidades são: o aumento de compatibilidade dos formulários personalizados, inclusive para dispositivos móveis;
- Notificação de novos feedbacks e a integração com o ALM, onde cada registro no Insight poderia se tornar um item de trabalho no ALM com diferentes significados, por exemplo, virando um “defeito”.
Conclusões
Ao longo deste trabalho, buscou-se evidenciar a importância de se obter feedback dos usuários finais de uma aplicação para a construção e manutenção de projetos de software bem-sucedidos. Da mesma forma, como o processo atual de coleta desses feedbacks acontece em baixas proporções e quando feitos, são muito trabalhosos e pouco eficientes. Como solução para os problemas expostos, apresentamos o Insight que permite a captura de feedbacks no exato momento em que as coisas acontecem e provendo um serviço de suporte para gerir os feedbacks coletados.
Referências
- RAMOS, IMP. Aplicações das Tecnologias de Informação que suportam as Dimensões Estrutural, Política, Simbólica do Trabalho. 2000. Tese de Doutorado. PhD thesis, Departamento de Sistemas de Informação – Universidade do Minho.
- RAJKUMAR, G.; ALAGARSAMY, Dr K. THE MOST COMMON FACTORS FOR THE FAILURE OF SOFTWARE DEVELOPMENT PROJECT. The International Journal of Computer Science & Applications (TIJCSA) Volume, v. 1, 2013.
- ALBRECHT, Karl; BRADFORD, Lawrence J. Serviços com qualidade: a vantagem competitiva. Makron, 1992.
- PIMENTA, M. A. Comunicação empresarial. 3ª. Ed. Campinas, SP: Alínea, 2006.
- OPEN SOURCE INITIATIVE et al. The MIT License. 2006.
Ábner Silva de Oliveira
Formado pela Universidade do Estado da Bahia (UNEB), analista de Sistemas do Serpro e adepto do software livre. Programador poliglota sempre em busca de novas tecnologias para aplicações em soluções de problemas. Atualmente tem atuado internamente no Serpro com instrutor e consultor em tecnologias para o desenvolvimento de aplicações frontend (Javascript + AngularJS).
Ranulfo José da Cunha Netto
Graduado no curso de Tecnologia em Informática e técnico em Processamento de Dados, é analista desenvolvedor do Serpro, lotado na regional Salvador desde 2006. É entusiasta do software livre e do compartilhamento de conhecimento.