Commit e95ded12f8c805ab09cf9111d135efda9adf44eb
1 parent
cd13f4d2
Exists in
master
and in
3 other branches
[OpenSym] Updating abstract and introduction, and join final sections
Showing
5 changed files
with
116 additions
and
93 deletions
Show diff stats
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} | ... | ... |