\section{Introdução}
\label{sec:intro}

Durante as últimas décadas, o governo federal brasileiro vem tentando mudar
seus processos de adoção e desenvolvimento de software. Por exemplo, em 2003, a
recomendação de adotar software livre\footnote{Neste artigo, usamos o termo
software livre como referente à Free and Open Source Software (FOSS).}
tornou-se uma política pública. Em 2007, o governo brasileiro lançou um portal
chamado Software Público Brasileiro (SPB), com o objetivo de compartilhar
projetos de software livre desenvolvidos pelo governo brasileiro.
Adicionalmente, o instrumento jurídico brasileiro de contratação de software
(denominado IN 04/2012) determina que os agentes públicos devem
priorizar as soluções disponíveis no Portal SPB. Em suma, a aquisição de uma
solução proprietária deve ser explicitamente justificada ao demonstrar que não
há alternativa adequada no Portal SPB. Em 2013, o Tribunal de contas da união
(TCU) emitiu o Acórdão 2314/2013 sobre o uso de metodologias ágeis em contratos
de desenvolvimento de software com a administração pública.

Apesar disso, na prática, as metodologias de desenvolvimento de software livre
ou ágeis, isto é, os métodos colaborativos e empíricos de desenvolvimento de
software, não são amplamente praticadas e entendidas pelos agentes do governo
brasileiro. Dessa forma, os processos hierárquicos e tradicionais do governo e
a falta de expertise no desenvolvimento de software real de seus agentes
produzem uma situação de contratos de desenvolvimento de software ineficiente.

Desde 2009, o Portal SPB teve vários problemas técnicas. O código original da
plataforma não estava mias sendo desenvolvido, e havia uma grande quantidade de
dívidas técnicas para superar. O sistema era uma versão modificada de uma
plataforma livre chamada OpenACS\footnote{\url{http://openacs.org}},
e o antigo portal SPB não estava sendo atualizado com os lançamentos oficiais
do OpenACS. Nesse cenário, a manutenção do portal estava se tornando cada vez
mais difícil.

Depois de alguns eventos e encontros para coletar os requisitos via os agentes
do governo federal e da sociedade, foi desenvolvida, entre janeiro de 2014 e
junho de 2016, uma nova plataforma para o Portal SPB, pela Universidade de
Brasília (UnB) e a Universidade de São Paulo (USP) em parceria com o
Ministério de Orçamento, Planejamento e Gestão (MP). Este foi projetado como uma
plataforma integrada para desenvolvimento de software colaborativo, e inclui
funcionalidades para redes sociais, listas de discussão, sistema de controle de
versão e monitoramento de qualidade de código-fonte. Para coordenar e
desenvolver esse projeto durante 30 meses, a UnB recebeu do Governo Federal
Brasileiro um total de 2.619.965,00 reais.

\begin{figure*}[hbt]
  \centering
    \includegraphics[width=.9\linewidth]{figures/home-SPB_2.png}
  \caption{Página inicial do novo Portal SPB.}
  \label{fig:spb}
\end{figure*}

O projeto foi desenvolvido por uma equipe de 3 professores, 2 estudantes de
mestrado e cerca de 50 alunos de graduação (não todos ao mesmo tempo),
juntamente com 2 designers profissionais e 6 desenvolvedores sêniors da
comunidade software livre. Os professores e todos os estudantes de graduação
eram da UnB e os mestrandos eram da USP. Quanto aos designers e desenvolvedores
seniores, 7 dos 8 viviam fora de Brasília: Curitiba, São Paulo, Ribeirão Preto,
Salvador, Punta Cana/República Dominicana e Montreal/Canadá. Em outras
palavras, nós tínhamos uma equipe trabalhando em um ambiente virtual
colaborativo e distribuído.

A Figura \ref{fig:spb} mostra a página inicial desta plataforma integrada, que
acesso (1) lista de discussões (Mailmain), (2) ambiente de apoio ao
desenvolvimento (GitLab e Mezuro) e (3) rede social (Noosfero) com as páginas
dos projetos e soluções disponíveis. Todo o desenvolvimento foi feito de forma
aberta, e as mudanças que precisávamos nas ferramentas foram devolvidas às suas
respectivas comunidades. Nosso processo foi baseado em práticas ágeis e nos
mecanismos empíricos das comunidades de software livre. Definimos ciclos de
desenvolvimento e lançamos 5 versões do novo SPB Portal. A primeira versão
(beta) foi disponibilizada em setembro de 2014, apenas 9 meses desde o início
do projeto. O antigo portal foi desligado em setembro de 2015. Por fim, a
última versão, ilustrada na Figura \ref{fig:spb}, foi entregue em junho de 2016.

Neste artigo, apresentamos uma visão geral dessa nova geração do Portal SPB.
Este relato de experiência compartilha nossa metodologia e processo de
desenvolvimento desse projeto, trabalhando com o governo federal brasileiro
para cumprir suas exigências, ao mesmo tempo ser o mais fiel possível às
comunidades de software livre envolvidas. Além disso, discutimos várias lições
aprendidas para fornecer um ambiente virtual colaborativo e distribuído,
envolvendo uma grande equipe de estudantes de graduação e desenvolvedores
sêniors remotos. Por fim, lançamos uma plataforma sem precedentes para o
governo brasileiro aplicar métodos colaborativos de desenvolvimento de
software. Este caso pode ajudar outros projetos a superar desafios similares de
engenharia de software no futuro, bem como demonstra como as universidades
podem melhorar a experiência de mundo real de seus alunos por meio desse tipo
de projeto.
