Commit fc9dc30209d6f8b84d4c64052cd62cc9fc77aac0
1 parent
399cdeb4
Exists in
master
and in
3 other branches
Small fixes spellcheck fixes
Showing
4 changed files
with
74 additions
and
39 deletions
Show diff stats
sbqs2017/content/00-abstract.tex
1 | \begin{abstract} | 1 | \begin{abstract} |
2 | 2 | ||
3 | -The Brazilian Public Software (SPB) is a program by the Brazilian Federal Government to foster the sharing and collaboration on Free and Open Source Software (FOSS) solutions for the public administration. A Brazilian Public Software is considered a public good and the Federal government assumes some responsibilities related to its use, but it has the same FOSS development principles such as the trend towards decentralization in decision-making, the information and development sharing, and the continuous feedback. In this context, we have designed a platform based on the integration and evolution of existing FOSS tools. Nowadays, the SPB Portal provides several modern features for software collaborative development, | ||
4 | -helping the Brazilian public administration to share its solutions. In this paper, we present this integrated software development platform that was developed for the program by a heterogeneous team composed by professors, master students, undergraduate students and professionals from FOSS communities. In this experience report, alongside the platform architecture, features, and the user experience efforts carried out, we also discuss our work process, based on agile and free software development practices, and the lessons learned in 30 months work on the SPB project. | 3 | +The Brazilian Public Software (SPB) is a program by the Brazilian Federal |
4 | +Government to foster the sharing and collaboration on Free and Open Source | ||
5 | +Software (FOSS) solutions for the public administration. A Brazilian Public | ||
6 | +Software is considered a public good and the Federal government assumes some | ||
7 | +responsibilities related to its use, but it has the same FOSS development | ||
8 | +principles such as the trend towards decentralization in decision-making, the | ||
9 | +information and development sharing, and the continuous feedback. In this | ||
10 | +context, we have designed a platform based on the integration and evolution of | ||
11 | +existing FOSS tools. Nowadays, the SPB Portal provides several modern features | ||
12 | +for software collaborative development, helping the Brazilian public | ||
13 | +administration to share its solutions. In this paper, we present this | ||
14 | +integrated software development platform that was developed for the program by | ||
15 | +a heterogeneous team composed by professors, master students, undergraduate | ||
16 | +students and professionals from FOSS communities. In this experience report, | ||
17 | +alongside the platform architecture, features, and the user experience efforts | ||
18 | +carried out, we also discuss our work process, based on agile and free software | ||
19 | +development practices, and the lessons learned in 30 months work on the SPB | ||
20 | +project. | ||
5 | \end{abstract} | 21 | \end{abstract} |
6 | 22 | ||
7 | \begin{resumo} | 23 | \begin{resumo} |
8 | 24 | ||
9 | -O Software Público Brasileiro (SPB) é um programa do Governo Federal Brasileiro para promover o compartilhamento e a colaboração em soluções de Software Livre para a administração pública. Um Software Público Brasileiro é considerado um bem público e o governo federal assume algumas responsabilidades relacionadas ao seu uso, mas tem os mesmos princípios de desenvolvimento de software livre como a tendência à descentralização na tomada de decisões, o compartilhamento de informações e do desenvolvimento (código), e a interação contínua com seus usuários. Nesse contexto, criamos uma plataforma baseada na integração e evolução de ferramentas livres existentes. Hoje em dia, o SPB Portal oferece diversas funcionalidades modernas para o desenvolvimento de software colaborativo, ajudando a administração pública brasileira a compartilhar suas soluções. Neste artigo, apresentamos a plataforma integrada de desenvolvimento de software desenvolvida, para o programa SPB, por uma equipe heterogênea composta por professores, mestrandos, estudantes de graduação e profissionais das comunidades do software livre. Neste relato de experiência, juntamente com a arquitetura da plataforma, funcionalidades e os esforços na evolução da experiência do usuário, também discutimos nosso processo de trabalho, baseado em práticas de desenvolvimento de software ágil e livre e as lições aprendidas em 30 meses de trabalho sobre o projeto SPB. | 25 | +O Software Público Brasileiro (SPB) é um programa do Governo Federal Brasileiro |
26 | +para promover o compartilhamento e a colaboração em soluções de Software Livre | ||
27 | +para a administração pública. Um Software Público Brasileiro é considerado um | ||
28 | +bem público e o governo federal assume algumas responsabilidades relacionadas | ||
29 | +ao seu uso, mas tem os mesmos princípios de desenvolvimento de software livre | ||
30 | +tal qual a tendência à descentralização na tomada de decisões, o | ||
31 | +compartilhamento de informações e do desenvolvimento (código), e a interação | ||
32 | +contínua com seus usuários. Nesse contexto, criamos uma plataforma baseada na | ||
33 | +integração e evolução de ferramentas livres existentes. Hoje em dia, o SPB | ||
34 | +Portal oferece diversas funcionalidades modernas para o desenvolvimento de | ||
35 | +software colaborativo, ajudando a administração pública brasileira a | ||
36 | +compartilhar suas soluções. Neste artigo, apresentamos a plataforma integrada | ||
37 | +de desenvolvimento de software desenvolvida, para o programa SPB, por uma | ||
38 | +equipe heterogênea composta por professores, mestrandos, estudantes de | ||
39 | +graduação e profissionais das comunidades do software livre. Neste relato de | ||
40 | +experiência, juntamente com a arquitetura da plataforma, funcionalidades e os | ||
41 | +esforços na evolução da experiência do usuário, também discutimos nosso | ||
42 | +processo de trabalho, baseado em práticas de desenvolvimento de software ágil e | ||
43 | +livre e as lições aprendidas em 30 meses de trabalho sobre o projeto SPB. | ||
10 | 44 | ||
11 | \end{resumo} | 45 | \end{resumo} |
sbqs2017/content/01-introduction.tex
@@ -7,14 +7,14 @@ recomendação de adotar software livre\footnote{Neste artigo, usamos o termo | @@ -7,14 +7,14 @@ recomendação de adotar software livre\footnote{Neste artigo, usamos o termo | ||
7 | software livre como referente à Free and Open Source Software (FOSS).} | 7 | software livre como referente à Free and Open Source Software (FOSS).} |
8 | tornou-se uma política pública. Em 2007, o governo brasileiro lançou um portal | 8 | tornou-se uma política pública. Em 2007, o governo brasileiro lançou um portal |
9 | chamado Software Público Brasileiro (SPB), com o objetivo de compartilhar | 9 | chamado Software Público Brasileiro (SPB), com o objetivo de compartilhar |
10 | -projetos de software livre desenvolvidos pelo governo brasileiro ou para o | ||
11 | -mesmo. Adicionalmente, o instrumento jurídico brasileiro de contratação de | ||
12 | -software (denominado IN 04/2012) determina que os agentes públicos devem | 10 | +projetos de software livre desenvolvidos pelo governo brasileiro. |
11 | +Adicionalmente, o instrumento jurídico brasileiro de contratação de software | ||
12 | +(denominado IN 04/2012) determina que os agentes públicos devem | ||
13 | priorizar as soluções disponíveis no Portal SPB. Em suma, a aquisição de uma | 13 | priorizar as soluções disponíveis no Portal SPB. Em suma, a aquisição de uma |
14 | solução proprietária deve ser explicitamente justificada ao demonstrar que não | 14 | solução proprietária deve ser explicitamente justificada ao demonstrar que não |
15 | -há alternativa adequada no Portal SPB. Em 2013, o Tribunal Federal emitiu o | ||
16 | -Acórdão 2314/2013 sobre o uso de metodologias ágeis em contratos de | ||
17 | -desenvolvimento de software com a administração pública. | 15 | +há alternativa adequada no Portal SPB. Em 2013, o Tribunal de contas da união |
16 | +(TCU) emitiu o Acórdão 2314/2013 sobre o uso de metodologias ágeis em contratos | ||
17 | +de desenvolvimento de software com a administração pública. | ||
18 | 18 | ||
19 | Apesar disso, na prática, as metodologias de desenvolvimento de software livre | 19 | Apesar disso, na prática, as metodologias de desenvolvimento de software livre |
20 | ou ágeis, isto é, os métodos colaborativos e empíricos de desenvolvimento de | 20 | ou ágeis, isto é, os métodos colaborativos e empíricos de desenvolvimento de |
@@ -23,21 +23,21 @@ brasileiro. Dessa forma, os processos hierárquicos e tradicionais do governo e | @@ -23,21 +23,21 @@ brasileiro. Dessa forma, os processos hierárquicos e tradicionais do governo e | ||
23 | a falta de expertise no desenvolvimento de software real de seus agentes | 23 | a falta de expertise no desenvolvimento de software real de seus agentes |
24 | produzem uma situação de contratos de desenvolvimento de software ineficiente. | 24 | produzem uma situação de contratos de desenvolvimento de software ineficiente. |
25 | 25 | ||
26 | -Desde 2009, o SPB Portal teve vários problemas técnicas. O código original da | 26 | +Desde 2009, o Portal SPB teve vários problemas técnicas. O código original da |
27 | plataforma não estava mias sendo desenvolvido, e havia uma grande quantidade de | 27 | plataforma não estava mias sendo desenvolvido, e havia uma grande quantidade de |
28 | dívidas técnicas para superar. O sistema era uma versão modificada de uma | 28 | dívidas técnicas para superar. O sistema era uma versão modificada de uma |
29 | -plataforma livre existente chamada OpenACS\footnote{\url{http://openacs.org}}, | 29 | +plataforma livre chamada OpenACS\footnote{\url{http://openacs.org}}, |
30 | e o antigo portal SPB não estava sendo atualizado com os lançamentos oficiais | 30 | e o antigo portal SPB não estava sendo atualizado com os lançamentos oficiais |
31 | do OpenACS. Nesse cenário, a manutenção do portal estava se tornando cada vez | 31 | do OpenACS. Nesse cenário, a manutenção do portal estava se tornando cada vez |
32 | mais difícil. | 32 | mais difícil. |
33 | 33 | ||
34 | Depois de alguns eventos e encontros para coletar os requisitos via os agentes | 34 | Depois de alguns eventos e encontros para coletar os requisitos via os agentes |
35 | do governo federal e da sociedade, foi desenvolvida, entre janeiro de 2014 e | 35 | do governo federal e da sociedade, foi desenvolvida, entre janeiro de 2014 e |
36 | -junho de 2016, uma nova plataforma para o Portal SPB, pelo Universidade de | ||
37 | -Brasília (UnB) e da Universidade de São Paulo (USP) em parceria com o | ||
38 | -Ministério de Orçamento, Planejamento e Gestão (MP). Ele foi projetado como uma | 36 | +junho de 2016, uma nova plataforma para o Portal SPB, pela Universidade de |
37 | +Brasília (UnB) e a Universidade de São Paulo (USP) em parceria com o | ||
38 | +Ministério de Orçamento, Planejamento e Gestão (MP). Este foi projetado como uma | ||
39 | plataforma integrada para desenvolvimento de software colaborativo, e inclui | 39 | plataforma integrada para desenvolvimento de software colaborativo, e inclui |
40 | -funcionalidade para redes sociais, listas de discussão, sistema de controle de | 40 | +funcionalidades para redes sociais, listas de discussão, sistema de controle de |
41 | versão e monitoramento de qualidade de código-fonte. Para coordenar e | 41 | versão e monitoramento de qualidade de código-fonte. Para coordenar e |
42 | desenvolver esse projeto durante 30 meses, a UnB recebeu do Governo Federal | 42 | desenvolver esse projeto durante 30 meses, a UnB recebeu do Governo Federal |
43 | Brasileiro um total de 2.619.965,00 reais. | 43 | Brasileiro um total de 2.619.965,00 reais. |
@@ -59,7 +59,7 @@ Salvador, Punta Cana/República Dominicana e Montreal/Canadá. Em outras | @@ -59,7 +59,7 @@ Salvador, Punta Cana/República Dominicana e Montreal/Canadá. Em outras | ||
59 | palavras, nós tínhamos uma equipe trabalhando em um ambiente virtual | 59 | palavras, nós tínhamos uma equipe trabalhando em um ambiente virtual |
60 | colaborativo e distribuído. | 60 | colaborativo e distribuído. |
61 | 61 | ||
62 | -Figura \ref{fig:spb} mostra a página inicial desta plataforma integrada, que | 62 | +A Figura \ref{fig:spb} mostra a página inicial desta plataforma integrada, que |
63 | acesso (1) lista de discussões (Mailmain), (2) ambiente de apoio ao | 63 | acesso (1) lista de discussões (Mailmain), (2) ambiente de apoio ao |
64 | desenvolvimento (GitLab e Mezuro) e (3) rede social (Noosfero) com as páginas | 64 | desenvolvimento (GitLab e Mezuro) e (3) rede social (Noosfero) com as páginas |
65 | dos projetos e soluções disponíveis. Todo o desenvolvimento foi feito de forma | 65 | dos projetos e soluções disponíveis. Todo o desenvolvimento foi feito de forma |
sbqs2017/content/02-spb.tex
@@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
3 | 3 | ||
4 | Software livre é um fenômeno que ganhou notoriedade nos últimos anos e tem | 4 | Software livre é um fenômeno que ganhou notoriedade nos últimos anos e tem |
5 | atraído o interesse da academia. No entanto, desde o início da computação, a | 5 | atraído o interesse da academia. No entanto, desde o início da computação, a |
6 | -maioria dos desenvolvedores trabalhou da maneira que agora identificamos como | 6 | +maioria dos desenvolvedores trabalhavam da maneira que agora identificamos como |
7 | software livre, ou seja, compartilhando códigos abertamente. Essa abertura | 7 | software livre, ou seja, compartilhando códigos abertamente. Essa abertura |
8 | torna o código disponível para inspeção, modificação e uso por qualquer pessoa | 8 | torna o código disponível para inspeção, modificação e uso por qualquer pessoa |
9 | ou organização\cite{hippel2003, kon2012}. | 9 | ou organização\cite{hippel2003, kon2012}. |
@@ -46,7 +46,8 @@ projeto deve estar disponível no portal SPB. Ser um verdadeiro bem público | @@ -46,7 +46,8 @@ projeto deve estar disponível no portal SPB. Ser um verdadeiro bem público | ||
46 | pressupõe requisitos que não podem ser satisfeitos apenas por meio de | 46 | pressupõe requisitos que não podem ser satisfeitos apenas por meio de |
47 | licenciamento de software livre. Por exemplo, deve haver uma política de uso de | 47 | licenciamento de software livre. Por exemplo, deve haver uma política de uso de |
48 | marca menos rígida pelo fornecedor original que não impeça eventuais | 48 | marca menos rígida pelo fornecedor original que não impeça eventuais |
49 | -concorrentes de serviços de publicidade para esse mesmo software. A inclusão no | ||
50 | -SPB Portal também tem requisitos extras, como ter um sistema de controle de | ||
51 | -versão pública, manual de instalação e especificação de requisitos de hardware. | 49 | +concorrentes de serviços de publicidade para esse mesmo software. A inclusão de |
50 | +um software no Portal SPB também tem requisitos extras, como ter um sistema de | ||
51 | +controle de versão pública, manual de instalação e especificação de requisitos | ||
52 | +de hardware. | ||
52 | 53 |
sbqs2017/content/03-requirements.tex
@@ -10,15 +10,15 @@ para guiar a evolução do portal SPB. Nesse cenário, os 10 requisitos mais | @@ -10,15 +10,15 @@ para guiar a evolução do portal SPB. Nesse cenário, os 10 requisitos mais | ||
10 | votados foram, por exemplo: | 10 | votados foram, por exemplo: |
11 | 11 | ||
12 | \begin{enumerate} | 12 | \begin{enumerate} |
13 | -\item Repositório de código-fonte com acesso público. | ||
14 | -\item Visita às páginas da comunidade sem login. | ||
15 | -\item Sistema de controle de versão distribuído. | ||
16 | -\item Pontuações de colaboração de usuários e desenvolvedores. | ||
17 | -\item Pesquisa de software por recursos. | ||
18 | -\item Integração com redes sociais. | ||
19 | -\item Repositório para ideias e requisitos futuros. | ||
20 | -\item URL amigável para acessar uma página de comunidade de software. | ||
21 | -\item Comentários dos usuários sobre um software público. | 13 | +\item Repositório de código-fonte com acesso público; |
14 | +\item Visita às páginas da comunidade sem login; | ||
15 | +\item Sistema de controle de versão distribuído; | ||
16 | +\item Pontuações de colaboração de usuários e desenvolvedores; | ||
17 | +\item Pesquisa de software por recursos; | ||
18 | +\item Integração com redes sociais; | ||
19 | +\item Repositório para ideias e requisitos futuros; | ||
20 | +\item URL amigável para acessar uma página de comunidade de software; | ||
21 | +\item Comentários dos usuários sobre um software público; | ||
22 | \item Relatório da experiência sobre o uso de um software público. | 22 | \item Relatório da experiência sobre o uso de um software público. |
23 | \end{enumerate} | 23 | \end{enumerate} |
24 | 24 | ||
@@ -32,10 +32,10 @@ versão inicial que poderia substituir o antigo portal SPB. Para isso, a | @@ -32,10 +32,10 @@ versão inicial que poderia substituir o antigo portal SPB. Para isso, a | ||
32 | primeira versão deve ter recursos como: | 32 | primeira versão deve ter recursos como: |
33 | 33 | ||
34 | \begin{enumerate} | 34 | \begin{enumerate} |
35 | -\item Um catálogo de software público organizado. | ||
36 | -\item Ambiente de rede social (perfis para usuários, páginas de software e páginas da comunidade). | ||
37 | -\item Sistema de Gerenciamento de Conteúdo (CMS). | ||
38 | -\item Gerenciador web de repositório Git com wiki e recursos de \textit{issue tracker}. | 35 | +\item Um catálogo de software público organizado; |
36 | +\item Ambiente de rede social (perfis para usuários, páginas de software e páginas da comunidade); | ||
37 | +\item Sistema de Gerenciamento de Conteúdo (CMS); | ||
38 | +\item Gerenciador web de repositório Git com wiki e recursos de \textit{issue tracker}; | ||
39 | \item Listas de discussão e fóruns de discussão. | 39 | \item Listas de discussão e fóruns de discussão. |
40 | \end{enumerate} | 40 | \end{enumerate} |
41 | 41 | ||
@@ -60,18 +60,18 @@ há recursos de rede social e CMS, bem como outros recursos de comunicação | @@ -60,18 +60,18 @@ há recursos de rede social e CMS, bem como outros recursos de comunicação | ||
60 | fornecidos por essa plataforma. | 60 | fornecidos por essa plataforma. |
61 | 61 | ||
62 | Além disso, existem duas iniciativas na Europa: | 62 | Além disso, existem duas iniciativas na Europa: |
63 | -OSOR\footnote{\url{https://joinup.ec.europa.eu/community/osor}} e | ||
64 | -OW2\footnote{\url{http://ow2.org}}. O Open Source Observatory (OSOR) é uma | 63 | +OSOR\footnote{\url{https://joinup.ec.europa.eu/community/osor}} (\textit{Open |
64 | +Source Observatory}) e OW2\footnote{\url{http://ow2.org}}. O OSOR é uma | ||
65 | comunidade hospedada na plataforma JoinUp, patrocinada pela \textit{European | 65 | comunidade hospedada na plataforma JoinUp, patrocinada pela \textit{European |
66 | -Commission}. O OSOR tem como objetivo o intercâmbio de informações, | 66 | +Commission}. O OSOR tem como objetivo o intercâmbio de informações, |
67 | experiências e melhores práticas sobre o uso de software livre na administração | 67 | experiências e melhores práticas sobre o uso de software livre na administração |
68 | -pública. Ajuda a encontrar um software livre disponibilizado por outras | 68 | +pública. Este auxilia a encontrar um software livre disponibilizado por outras |
69 | administrações públicas, proporcionando acesso a informações como notícias, | 69 | administrações públicas, proporcionando acesso a informações como notícias, |
70 | eventos, estudos e soluções relacionadas à implementação de software livre. Ele | 70 | eventos, estudos e soluções relacionadas à implementação de software livre. Ele |
71 | também oferece fórum e listas de discussão da comunidade, mas não possui um | 71 | também oferece fórum e listas de discussão da comunidade, mas não possui um |
72 | gerenciador de repositório de código-fonte integrado e para cada projeto há um | 72 | gerenciador de repositório de código-fonte integrado e para cada projeto há um |
73 | -link para seu próprio repositório externo (ou seu arquivo tarball). OW2 é | ||
74 | -uma espécie de consórcio de projetos de software livre para promover o | 73 | +link para seu próprio repositório externo (ou seu arquivo tarball). OW2 é uma |
74 | +espécie de consórcio de projetos de software livre para promover o | ||
75 | desenvolvimento de \textit{middleware} livres, aplicativos de negócios, | 75 | desenvolvimento de \textit{middleware} livres, aplicativos de negócios, |
76 | plataformas de computação em nuvem e promover um ecossistema de comunidade e | 76 | plataformas de computação em nuvem e promover um ecossistema de comunidade e |
77 | negócios. Em resumo, ele visa apoiar o desenvolvimento, implantação e | 77 | negócios. Em resumo, ele visa apoiar o desenvolvimento, implantação e |