Commit e95ded12f8c805ab09cf9111d135efda9adf44eb

Authored by Paulo Meireles
1 parent cd13f4d2

[OpenSym] Updating abstract and introduction, and join final sections

opensym2017/content/00-abstract.tex
1 1 \begin{abstract}
  2 +
2 3 The Brazilian Public Software (SPB) is a program by the Brazilian Federal
3 4 Government to foster the sharing and collaboration on Free and Open Source
4   -Software (FOSS) solutions for the public administration.
5   -%
6   -In the one hand, Brazilian Public Softwares have some differences from FOSS
7   -projects, in particular the software is considered a public good and the
8   -Federal Government assumes some responsibilities related to its use. In the
9   -other hand, the software development principles are the same: trend towards
10   -decentralization in decision-making, information and development sharing, and
11   -continuous feedback.
12   -%
13   -In this context, we have designed a platform based on the integration and
14   -evolution of existing FOSS tools. Nowadays, the SPB Portal provides several
15   -modern features for software collaborative development, helping the Brazilian
16   -public administration to share its solutions.
17   -%
18   -In this paper, we present this integrated software development platform that
19   -was developed for the program by a heterogeneous team composed by professors,
  5 +Software (FOSS) solutions for the public administration. In the one hand,
  6 +Brazilian Public Softwares have some differences from FOSS projects, in
  7 +particular, the software is considered a public good and the Federal government
  8 +assumes some responsibilities related to its use. In the other hand, the
  9 +software development principles are the same: the trend towards
  10 +decentralization in decision-making, the information and development sharing,
  11 +and the continuous feedback. In this context, we have designed a platform based
  12 +on the integration and evolution of existing FOSS tools. Nowadays, the SPB
  13 +Portal provides several modern features for software collaborative development,
  14 +helping the Brazilian public administration to share its solutions. In this
  15 +paper, we present this integrated software development platform that was
  16 +developed for the program by a heterogeneous team composed by professors,
20 17 master students, undergraduate students and professionals from FOSS
21 18 communities. The development of this platform used several FOSS applications,
22   -providing a nontrivial integration among them, as well as, have generated
  19 +providing a non-trivial integration among them, as well as, have generated
23 20 several contributed features back to them. In this experience report, alongside
24 21 the platform architecture, features, and the user experience efforts carried
25 22 out, we also discuss our work process, based on agile and free software
26   -development practices, and the lessons learned in 3 years work on the SPB
  23 +development practices, and the lessons learned in 30 months work on the SPB
27 24 project.
28   -\end{abstract}
29 25  
30   -\category{H.5.m.}{Information Interfaces and Presentation
31   - (e.g. HCI)}{Miscellaneous}
  26 +\end{abstract}
  27 +
  28 +\category{H.5.m.}{Information Interfaces and Presentation (e.g. HCI)}
  29 +{Miscellaneous}
32 30  
33 31 \keywords{\plainkeywords}
... ...
opensym2017/content/01-introduction.tex
1 1 \section{Introduction}
2 2 \label{sec:intro}
3 3  
4   -During the last few decades, the Brazilian Federal Government has
5   -improved its software adoption and development processes. In 2003, the
6   -recommendation to adopt Free/Open Source Software (FOSS) become a public
7   -policy. In 2007, the Brazilian Government released a portal called
8   -Brazilian Public Software (\textit{Software Público Brasileiro} -- SPB,
9   -in Portuguese), with the goal of sharing FOSS projects developed by, or
10   -for, the Brazilian Government.
11   -
12   -The Brazilian legal instrument on software contracting
13   -(\textit{Instrução Normativa} 04/2012) mandates that public management
14   -must consult the SPB Portal to adopt a software solution. The
15   -acquisition of a proprietary solution must be explicitly justified by
16   -demonstrating that there is no suitable option in the SPB Portal.
17   -
18   -Since 2009, however, the SPB Portal was having several technical issues.
19   -The original codebase was not being developed anymore, and there was a
20   -large amount of technical debt to overcome. The system was a modified
21   -version of an existing FOSS platform that was not being developed
22   -anymore, and the portal maintenance was becoming harder and harder.
23   -
24   -From January 2014 to June 2016, a new platform for the SPB Portal was
25   -designed and developed by the University of Brasília (UnB) and the
26   -University of São Paulo (USP) in a partnership with the Brazilian
27   -Ministry of Budget, Planning, and Management(MP). This new Portal was
28   -designed as an integrated platform for collaborative software
29   -development. It includes functionality for social networking, mailing
30   -lists, version control system, and source code quality monitoring. In
31   -this paper, we present an overview of this new generation of the SPB
32   -Portal.
33   -
34   -The project was developed by a team of 3 professors, 6 professionals, 2
35   -masters students, and approximately 40 undergraduate students (not all of
36   -them at the same time, though -- graduations and other events triggered
37   -changes in the team).
  4 +During the last few decades, the Brazilian Federal Government has improved its
  5 +software adoption and development processes. In 2003, the recommendation to
  6 +adopt Free and Open Source Software (FOSS) become a public policy. In 2007, the
  7 +Brazilian Government released a portal named Brazilian Public Software
  8 +(\textit{Software Público Brasileiro} -- SPB, in Portuguese), with the goal of
  9 +sharing FOSS projects developed by, or for, the Brazilian Government.
  10 +
  11 +The Brazilian legal instrument on software contracting (known as IN 04/2012)
  12 +mandates that public management must consult the SPB Portal to adopt a software
  13 +solution. In short, the acquisition of a proprietary solution must be
  14 +explicitly justified by demonstrating that there is no suitable option in the
  15 +SPB Portal. However, since 2009, the SPB Portal was having several technical
  16 +issues. The original codebase was not being developed anymore, and there was a
  17 +large amount of technical debt to overcome. The system was a modified version
  18 +of an existing FOSS platform (called
  19 +OpenACS\footnote{\url{http://openacs.org}}) and the old SPB portal was not
  20 +being updated anymore with its official releases. In this scenario, the portal
  21 +maintenance was becoming harder and harder.
  22 +
  23 +Afterward some events and meetings to collect all requirements from the federal
  24 +government and society, a new platform for the SPB Portal was developed, among
  25 +January 2014 and June 2016, by the University of Brasília (UnB) and the
  26 +University of São Paulo (USP) in a partnership with the Brazilian Ministry of
  27 +Budget, Planning, and Management (MP). It was designed it as an integrated
  28 +platform for collaborative software development. It includes functionality for
  29 +social networking, mailing lists, version control system, and source code
  30 +quality monitoring. To coordinate and develop this project during 30 months,
  31 +UnB received from the Brazilian Federal Government a total of 2,619,965.00 BRL
  32 +(about 750,000.00 USD in June 2016).
38 33  
39 34 \begin{figure*}[hbt]
40 35 \centering
... ... @@ -43,8 +38,36 @@ changes in the team).
43 38 \label{fig:spb}
44 39 \end{figure*}
45 40  
46   -Figure \ref{fig:spb} shows the home page of this integrated platform.
47   -The development tried to be as faithful as possible to FOSS development.
48   -All development was done in the open, and the changes we needed in the
49   -tools were contributed back to their communities.
  41 +The project was developed by a team of 3 professors, 2 masters students, and
  42 +approximately 50 undergraduate students (not all of them at the same time,
  43 +though -- graduations and other events triggered changes in the team) together
  44 +with 2 professional designers and 6 senior developers from the FOSS
  45 +communities. The professors and all undergraduate student were from UnB, and
  46 +the master students were from USP. Regarding the designers and senior
  47 +developers, 7 of 8 they were living outside of Brasília: Curitiba/Brazil, São
  48 +Paulo/Brazil, Ribeirão Preto/Brazil, Salvador/Brazil, Punta Cana/Dominican
  49 +Republic, and Montreal/Canada. In other words, we had a team working in
  50 +distributed collaborative virtual environment.
  51 +
  52 +Figure \ref{fig:spb} shows the home page of this integrated platform. All
  53 +development was done in the open, and the changes we needed in the FOSS tools
  54 +were contributed back to their communities. Our process was based on agile
  55 +practices and FOSS communities interaction. We defined development cycles and
  56 +released 5 versions of the new SPB Portal. The first release (beta) was in
  57 +September 2014, only 9 months from the begin of the project. We migrated and
  58 +turned off the old portal in September 2015. Finally, the last version
  59 +illustrated in Figure 1 was released in June 2016.
  60 +
  61 +In this paper, we present an overview of this new generation of the SPB Portal.
  62 +Alongside, this experience report shares our methodology and process to develop
  63 +this project working with the Brazilian federal government to comply with its
  64 +requirements at the same time to be as faithful as possible to FOSS
  65 +development. Moreover, we discuss several lessons learned to provide a
  66 +distributed collaborative virtual environment involving a large undergraduate
  67 +student team and remote senior developers. Lastly, we released an unprecedented
  68 +platform for the Brazilian government applying empirical software development
  69 +methods. This case can help other projects overcome a lot of software
  70 +engineering challenges in the future, as well as, how the universities take
  71 +advances to improve the real-world experiences of their student with these
  72 +kinds of projects.
50 73  
... ...
opensym2017/content/09-lessons.tex
1   -\section{Lessons Learned}
  1 +\section{Lessons Learned and Conclusion}
2 2 \label{sec:lessons}
3 3  
4 4 The multidisciplinary composition of the development teams, mainly software
... ... @@ -75,3 +75,38 @@ practice of software engineering. The members of the teams got opportunities to
75 75 work in public, private, national and international organizations, in addition
76 76 to those students they preferred entrepreneurship, opening their own companies.
77 77  
  78 +%===========
  79 +% Conclusion
  80 +%===========
  81 +
  82 +The portal is available at \url{softwarepublico.gov.br}. All
  83 +documentation, including detailed architecture and operation manuals are
  84 +also available\footnote{\url{https://softwarepublico.gov.br/doc/}
  85 +(in Portuguese only at the moment)}).
  86 +%
  87 +All the integrated tools are FOSS and our contributions were published
  88 +in open repositories, available on the SPB Portal itself. We also
  89 +contributed these features back to the respective communities: that
  90 +benefits those communities, as well as us since we can share future
  91 +development and maintenance effort with other organizations that
  92 +participate in their projects.
  93 +
  94 +
  95 +%* utilização do projeto para formação de recursos humanos (alunos)
  96 +
  97 +%* dados da verificação dos repositório para a análise da qualidade dos código via Mezuro e CodeClimate
  98 +
  99 +%* o que achamos que irá acontecer com o SPB no futuro breve (acabar)
  100 +
  101 +%* 69 projetos marcados como SPB, de 81 no total na plataforma.
  102 +
  103 +%* 47\% é desenvolvido em PHP.
  104 +
  105 +% foi constatado que aproximadamente 75\% dos softwares \textbf{não} possuem seus códigos-fonte versionados nesta ferramenta. Realizado algumas pesquisas, foi encontrado o código-fonte em outros serviços (Github, Bitbucket).
  106 +
  107 +% Foram adicionados 31 softwares do SPB em ambas as ferramentas (Mezuro e Code Climate), desenvolvidos em PHP e Python. Estas adições resultaram na análise descrita nos próximos parágrafos. No Mezuro, dos 31 softwares adicionados, somente 4 obtiveram sucesso na avaliação. No Code Climate, 16 softwares realizaram a \textit{build} da avaliação com sucesso. Nos que falharam, alguns dos erros foram encontrados em três das \textit{engines}: ora em \textit{duplication}, ora na \textit{phpmd}, ora na \textit{eslint}.
  108 +
  109 +% também foram inseridos no Mezuro para avaliação, 5 projetos dos 17 desenvolvidos em Java, com o intuito de ser um contraponto ao Code Climatepor esta não compreender a análise de projetos em Java, C, ou C++. Infelizmente nenhuma das \textit{builds} resultou em resultados concretos.
  110 +
  111 +%* Debater economia de recursos em orgão públicos
  112 +
... ...
opensym2017/content/10-finals.tex
... ... @@ -1,32 +0,0 @@
1   -\section{Final remarks}
2   -
3   -The portal is available at \url{softwarepublico.gov.br}. All
4   -documentation, including detailed architecture and operation manuals are
5   -also available\footnote{\url{https://softwarepublico.gov.br/doc/}
6   -(in Portuguese only at the moment)}).
7   -%
8   -All the integrated tools are FOSS and our contributions were published
9   -in open repositories, available on the SPB Portal itself. We also
10   -contributed these features back to the respective communities: that
11   -benefits those communities, as well as us since we can share future
12   -development and maintenance effort with other organizations that
13   -participate in their projects.
14   -
15   -
16   -%* utilização do projeto para formação de recursos humanos (alunos)
17   -
18   -%* dados da verificação dos repositório para a análise da qualidade dos código via Mezuro e CodeClimate
19   -
20   -%* o que achamos que irá acontecer com o SPB no futuro breve (acabar)
21   -
22   -%* 69 projetos marcados como SPB, de 81 no total na plataforma.
23   -
24   -%* 47\% é desenvolvido em PHP.
25   -
26   -% foi constatado que aproximadamente 75\% dos softwares \textbf{não} possuem seus códigos-fonte versionados nesta ferramenta. Realizado algumas pesquisas, foi encontrado o código-fonte em outros serviços (Github, Bitbucket).
27   -
28   -% Foram adicionados 31 softwares do SPB em ambas as ferramentas (Mezuro e Code Climate), desenvolvidos em PHP e Python. Estas adições resultaram na análise descrita nos próximos parágrafos. No Mezuro, dos 31 softwares adicionados, somente 4 obtiveram sucesso na avaliação. No Code Climate, 16 softwares realizaram a \textit{build} da avaliação com sucesso. Nos que falharam, alguns dos erros foram encontrados em três das \textit{engines}: ora em \textit{duplication}, ora na \textit{phpmd}, ora na \textit{eslint}.
29   -
30   -% também foram inseridos no Mezuro para avaliação, 5 projetos dos 17 desenvolvidos em Java, com o intuito de ser um contraponto ao Code Climatepor esta não compreender a análise de projetos em Java, C, ou C++. Infelizmente nenhuma das \textit{builds} resultou em resultados concretos.
31   -
32   -%* Debater economia de recursos em orgão públicos
opensym2017/spb.tex
... ... @@ -159,7 +159,6 @@
159 159 \input{content/07-process}
160 160 \input{content/08-contributions}
161 161 \input{content/09-lessons}
162   -\input{content/10-finals}
163 162  
164 163 %------------------------------------------------------------------------------
165 164 \bibliographystyle{SIGCHI-Reference-Format}
... ...