Em 2020, o LAB desenvolveu o projeto Plenário Fácil, em resposta ao seguinte desafio proposto no Planejamento Colaborativo Nós do LAB, de 2019: “Como podemos melhorar a linguagem de comunicação da Câmara com o cidadão?”
Depois de uma etapa de Design Sprint e a definição de um recorte no desafio, o resultado era no sentido de desenvolver um protótipo de site que permitisse o acompanhamento, em tempo real, das sessões no plenário.
Assim o projeto evoluiu de "linguagem simples" para "Plenário Fácil". O objetivo era que os cidadãos pudessem acompanhar, num mesmo lugar, as fases da sessão de votações; saber facilmente qual era o item da pauta em discussão; além de permitir acesso a resultado de votações e trechos específicos de discursos.
E, para facilitar a compreensão do processo legislativo, o Plenário Fácil traz uma experiência parecida com a de sites jornalísticos que permitem acompanhar um evento ao vivo, com informações minuto a minuto, e explicações e vídeos de momentos importantes, utilizando o tempo real e recursos multimídia: tudo que é produzido pelos profissionais que cuidam do processo legislativo e da comunicação da Câmara.
O desenvolvimento desse projeto foi marcado por um envolvimento ativo de jornalistas da Casa — que permitiram testar e conceitualizar a área de interface de edição e gestão dos conteúdos —, além de duas rodadas de testes remotos com cidadãos de vários perfis.
Metodologias ágeis
Antes de começar as sprints de desenvolvimento, fizemos pequenos treinamentos com toda a equipe do Plenário Fácil — gerentes, designers, desenvolvedores, etc — em que nos aprofundamos na metodologia ágil e no Scrum. Após debates, propomos algumas modificações nas atribuições de cada ator do processo e nas políticas que consideramos necessárias para o nosso contexto, chegando às seguintes definições:
O papel de PO (Product Owner) seria feito pelo gestor do projeto, visto que ele tinha um conhecimento melhor do modelo de negócio, assim como um maior poder de negociação com outras partes necessárias;
O papel de SCRUM Master seria feito por um membro da equipe técnica. Esta atribuição seria rotativa ao longo do projeto, para não sobrecarregar nenhum membro;
Como o SCRUM Master seria um dos membros da equipe técnica, somente os desenvolvedores e o designer estariam presentes nas daily’s (reuniões diárias);
Caso o SCRUM Master notasse empecilhos que dependessem de uma maior articulação para serem resolvidos, isso seria informado ao PO (gestor do projeto) para que as providências necessárias pudessem ser tomadas em conjunto.
Importante ressaltar que, além do teste com metodologias ágeis, o protótipo foi desenvolvido durante a pandemia, com a equipe em home-office, o que significou um ajustamento de todo o processo, inclusive na realização de testes on-line com usuários.
Definições técnicas
Optamos por uma arquitetura com o frontend e o backend desacoplados, possibilitando, assim, que as equipes trabalhassem de maneira paralela ao longo do projeto.
O frontend seria implementado utilizando ReactJS e o backend em Django. Esta seria a primeira vez que trabalharíamos com essa stack — conjunto de tecnologias para criar aplicações — em um projeto dentro do LAB.
Dificuldades
Como a equipe de desenvolvimento do LAB não tinha controle de toda a infraestrutura que está na base do projeto — como servidores, firewall, segurança —, em diversos momentos foi necessário pedir a solução de demandas para outras áreas. Acabamos, por desconhecimento de algumas burocracias e do funcionamento do processo de solicitação, avaliando errado o tempo necessário e, assim, atrasando a implementação. Isso levou a diversos ajustes do planejamento ao longo das sprints.
Outro ponto que colaborou para o atraso foi a dificuldade para obtenção de alguns dados. Em muitas sprints, tivemos que parar a implementação para procurar informações em diversos locais possíveis.
Aprendizados deste projeto
As entregas do designer para a equipe de Dev precisam ser mais bem detalhadas, em linguagem de comum acordo;
Seguir uma metodologia pode ser difícil, mas vale a pena;
Uma arquitetura desacoplada permite uma implementação paralela das funcionalidades;
A blindagem da equipe de desenvolvimento, para não participar de reuniões e demandas externas no meio das sprints, trouxe resultados positivos;
É possível utilizar tecnologias atuais e fazê-las conversarem, mesmo em um contexto que aparenta não ser viável;
A aplicação de testes e manutenção da cobertura de código são fundamentais para um projeto desse tamanho;
O tempo do projeto deve ser definido previamente. Não considerar uma data para o término gera grande ansiedade na equipe e dificuldade para delimitação do escopo;
É necessário um maior entendimento do processo de design e do processo de desenvolvimento, para assim entender melhor como os dois conversam;
Reuniões de planejamento/retrospectiva sprint devem ocorrer no mesmo dia;
Errar faz parte;
E o mais importante: é totalmente possível utilizar metodologias no contexto de instituições públicas.
O Plenário Fácil é uma solução tecnológica desenvolvida em código aberto que poderá ser adaptada para diversas coberturas, em todas as esferas do Poder Legislativo. O protótipo já foi testado com usuários e aprovado pelo patrocinador - a área de Comunicação - que pode inseri-lo em breve ao seu portfólio de projetos.
Veja o protótipo finalizado versão desktop e versão mobile (figma)
Saiba mais sobre os bastidores do projeto Plenário Fácil (medium)
Confira nossas lives sobre o tema (YouTube):
1) Linguagem simples para votações do plenário