Commit cdb06ae9322694a01ae8717228894c4e1f6834fd

Authored by Paulo Meireles
2 parents ae32d560 dc118ff2

Merge branch 'master' of softwarepublico.gov.br:softwarepublico/articles

Conflicts:
	opensym2017/content/01-introduction.tex
	opensym2017/content/02-spb.tex
	opensym2017/content/03-relatedworks.tex
icse2018/content/02-related_work.tex
... ... @@ -3,3 +3,6 @@
3 3 There are similar previous works that we will review here. Agile methods application on the Brazilian public sector are approached by \cite{melo2010adoccao,de2016using}, but both are experiences limited to pilot projects. Not production-ready one that will provide more accurate data with the real world. On \cite{alleman2003making} the authors describe a production deployment for the US government, but it focus on describing the methodology applied to address long term planning and value estimation. And again on \cite{anderson2005stretching} we see a production software development case and the adaptation proposal that we will follow in this article, but focused on a specific methodology, the CMMI.
4 4  
5 5 This article differentiates itself from others by describing a production level software development to the public sector, but unconstrained to any specific aspect of the agile methods or an specific project management methodology on the government side. The focus on this article will be the whole experience of adapting agile methods to the public sector.
  6 +
  7 +% TODO: if needed, we can add this paper as related work
  8 +%% Staying Agile in Government Software Projects - reports how the agile culture and practices (XP and Scrum) were introduced in a development team working on a government project. Describes practices added, adapted and abandoned. They had a experienced small team that did not know agile. TODO: Not sure if any process had to be added/adapted/abandoned at the government side.
... ...
opensym2017/content/01-introduction.tex
... ... @@ -26,8 +26,6 @@ of expertise in real-world software development of its agents produces a
26 26 situation of inefficient software development contracts and
27 27 unjustifiable expending of taxpayers' money.
28 28  
29   -% TODO: ^ references
30   -
31 29 Since 2009, the SPB Portal was having several technical issues. The original
32 30 codebase was not being developed anymore, also, there was a large amount of
33 31 knowingly non-optimal or wrong design decisions to overcome (in other words,
... ... @@ -39,15 +37,14 @@ difficult.
39 37  
40 38 After some events and meetings to collect requirements from the federal
41 39 government and from the society, a new platform for the SPB Portal was
42   -developed, among January 2014 and June 2016, by the University of
43   -Brasília (UnB) and the University of São Paulo (USP) in a partnership
44   -with the Brazilian Ministry of Budget, Planning, and Management (MP). It
45   -was designed as an integrated platform for collaborative software
46   -development, and includes functionality for social networking, mailing
47   -lists, version control system, and source code quality monitoring. To
48   -coordinate and develop this project during 30 months, UnB received from
49   -the Brazilian Federal Government a total of 2,619,965.00 BRL (about
50   -750,000.00 USD in June 2016).
  40 +developed, among January 2014 and June 2016, by the University of Brasília
  41 +(UnB) and the University of São Paulo (USP) in a partnership with the Brazilian
  42 +Ministry of Budget, Planning, and Management (MP). It was designed as an
  43 +integrated platform for collaborative software development \cite{bobr2003}, and
  44 +includes functionality for social networking, mailing lists, version control
  45 +system, and source code quality monitoring. To coordinate and develop this
  46 +project during 30 months, UnB received from the Brazilian Federal Government a
  47 +total of 2,619,965.00 BRL (about 750,000.00 USD in June 2016).
51 48  
52 49 \begin{figure*}[hbt]
53 50 \centering
... ... @@ -65,7 +62,12 @@ the master students were from USP. Regarding the designers and senior
65 62 developers, 7 of 8 they were living outside of Brasília: Curitiba/Brazil, São
66 63 Paulo/Brazil, Ribeirão Preto/Brazil, Salvador/Brazil, Santo Domingo/Dominican
67 64 Republic, and Montreal/Canada. In other words, we had a team working in
68   -distributed collaborative virtual environment.
  65 +distributed collaborative virtual environment. This diversity of actors and the
  66 +relationships between industry, academy and government also made the project a
  67 +valued opportunity to explore the benefits and challenges of using
  68 +FLOSS\cite{kon2011,deKoenigsberg2008, fagerholm2013, fagerholm2014} and
  69 +Agile\cite{steghofer2016, harzl2017} practices for Software Engineering
  70 +education.
69 71  
70 72 Figure \ref{fig:spb} shows the home page of this integrated platform.
71 73 All development was done in the open, and the changes we needed in the
... ... @@ -77,18 +79,18 @@ from the beginning of the project. The old portal was shut down in
77 79 September 2015. Finally, the last version, illustrated in Figure 1, was
78 80 released in June 2016.
79 81  
80   -In this paper, we present an overview of this new generation of the SPB
81   -Portal. The paper shares the methodology employed to develop this project,
82   -in partnership with the Brazilian Federal Government, to comply with its
83   -requirements at the same time to be as faithful as possible to FLOSS development.
84   -Moreover, we discuss several lessons learned to provide a distributed
85   -collaborative virtual environment involving a large undergraduate student team
86   -and remote senior developers. Lastly, we released an unprecedented platform for
87   -the Brazilian government applying empirical software development methods. This
88   -case can help other projects to overcome similar software engineering challenges
89   -in the future, as well as to illustrate how universities can improve the
90   -real-world experience of their students by means of this kind of project.
91   -
  82 +In this paper, we present an overview of this new generation of the SPB Portal.
  83 +The paper shares the methodology employed to develop this project, in
  84 +partnership with the Brazilian Federal Government, to comply with its
  85 +requirements at the same time to be as faithful as possible to FLOSS
  86 +development \cite{mockus2002, tosi2015}. Moreover, we discuss several lessons
  87 +learned to provide a distributed collaborative virtual environment involving
  88 +alarge undergraduate student team and remote senior developers. Lastly, we
  89 +released an unprecedented platform for the Brazilian government applying
  90 +empirical software development methods. This case can help other projects to
  91 +overcome similar software engineering challenges in the future, as well as to
  92 +illustrate how universities can improve the real-world experience of their
  93 +students by means of this kind of project.
92 94  
93 95 The remainder of this work is organized as follows.
94 96 Section \ref{sec:spb}...
... ... @@ -101,5 +103,6 @@ Section \ref{sec:ux} ...
101 103 Section \ref{sec:process} ...
102 104 Section \ref{sec:contributions} ...
103 105 Section \ref{sec:lessons} ...
104   -Finally, Sections \ref{sec:conclusion} concludes the paper highlighting its main contributions and pointing paths to future works.
  106 +Finally, Sections \ref{sec:conclusion} concludes the paper highlighting its
  107 +main contributions and pointing paths to future works.
105 108  
... ...
opensym2017/content/02-spb.tex
... ... @@ -14,47 +14,48 @@ and its development is based on open collaboration and development practices
14 14 \cite{meirelles2013}.
15 15  
16 16 From the economic point of view, unlike what happens with proprietary software,
17   -FLOSS promotes the establishment of several suppliers that can compete with each
18   -other based on the same software. This stronger competition among suppliers
19   -brings benefits to users because it gives better assurances regarding the
20   -evolution of the system and induces a reduction in prices \cite{kon2012}. These
21   -freedoms and assurances on software are guaranteed in Brazil by Law 9610/98
22   -(copyright law). Most of the time, this protection from the law complies with
23   -the terms conferred by a contract related to certain software. This contract is
24   -called ``license''. A software license determines a list of rights that are
25   -given to, and duties that are imposed on a user of the software. In particular,
26   -what differentiates FLOSS from proprietary software is just the way they are
27   -licensed \cite{sabino2009}. The FLOSS licenses guarantee the right to execute,
28   -study, adapt, and improve the software. Example of common FLOSS licenses are
29   -the \textit{GPL (GNU General Public License)}, the Apache license, the MIT
30   -license, and the BSD license.
  17 +FLOSS promotes the establishment of several suppliers that can compete with
  18 +each other based on the same software. This stronger competition among
  19 +suppliers brings benefits to users because it gives better assurances regarding
  20 +the evolution of the system and induces a reduction in prices \cite{kon2012}.
  21 +These freedoms and assurances on software are guaranteed in Brazil by Law
  22 +9610/98 (copyright law). Most of the time, this protection from the law
  23 +complies with the terms conferred by a contract related to certain software.
  24 +This contract is called ``license''. A software license determines a list of
  25 +rights that are given to, and duties that are imposed on a user of the
  26 +software. In particular, what differentiates FLOSS from proprietary software is
  27 +just the way they are licensed \cite{sabino2009}. The FLOSS licenses guarantee
  28 +the right to execute, study, adapt, and improve the software. Example of common
  29 +FLOSS licenses are the \textit{GPL (GNU General Public License)}, the Apache
  30 +license, the MIT license, and the BSD license.
31 31  
32   -The original incarnation of SPB portal has been designed in 2005 and
33   -released in 2007. From a practical point of view, it is a web system
34   -that has consolidated itself as an environment for sharing software
35   -projects. It provides a space (community) for each software.
36   -Therefore, it was designed to include tools that promote collaboration
37   -and interaction in communities (by managers, users, and developers) of
38   -the projects, according to the practices used in FLOSS communities. This
39   -includes mailing lists, discussion forums, issue trackers, version
40   -control systems, and social networking environments.
  32 +The original incarnation of SPB portal has been designed in 2005 and released
  33 +in 2007. From a practical point of view, it is a web system that has
  34 +consolidated itself as an environment for sharing software projects
  35 +\cite{freitas2008}. It also provides a space (community) for each software.
  36 +Therefore, it was designed to include tools that promote collaboration and
  37 +interaction in communities (by managers, users, and developers) of the
  38 +projects, according to the practices used in FLOSS communities. This includes
  39 +mailing lists, discussion forums, issue trackers, version control systems, and
  40 +social networking environments.
41 41  
42 42 Initially, the purpose of the portal was only to share the software developed
43 43 in the Brazilian government, to reduce the costs of hiring software. However,
44 44 it was observed that when softwares were released, their communities were
45 45 formed around those software with several people collaborating and sharing the
46   -results obtained through the use of those solutions. In this way, some software
47   -development cooperatives and private companies have shown an interest in making
48   -their software available on the SPB platform.
  46 +results obtained through the use of those solutions, as commonly occurs in OSS
  47 +\cite{ducheneaut2005}. In this way, some software development cooperatives and
  48 +private companies have shown an interest in making their software available on
  49 +the SPB platform.
49 50  
50   -The concept of Brazilian Public Software goes beyond FLOSS. In addition
51   -to being licensed under a FLOSS license, a Brazilian public software needs to have explicit
52   -guarantees that it is a public good, and that project must be available
53   -on the SPB portal. Being a true public good assumes requirements that
54   -can not be met solely by means of FLOSS licensing. For example, there
55   -must be a relaxed trademark usage policy by the original vendor that
56   -does not stop eventual competitors from advertising services for that
57   -same software. Inclusion in the SPB Portal also has extra requirements,
58   -such as having a public version control system, installation manual, and
59   -hardware requirements specification.
  51 +The concept of Brazilian Public Software goes beyond FLOSS \cite{freitas2008}.
  52 +In additionto being licensed under a FLOSS license, a SPB needs to have
  53 +explicit guarantees that it is a public good, and that project must be
  54 +available on the SPB portal. Being a true public good assumes requirements that
  55 +can not be met solely by means of FLOSS licensing. For example, there must be a
  56 +relaxed trademark usage policy by the original vendor that does not stop
  57 +eventual competitors from advertising services for that same software.
  58 +Inclusion in the SPB Portal also has extra requirements, such as having a
  59 +public version control system, installation manual, and hardware requirements
  60 +specification.
60 61  
... ...
opensym2017/content/03-relatedworks.tex
1   -\section{Related Work}
2   -\label{sec:relatedwork}
  1 +\section{Related Works}
  2 +\label{sec:relatedworks}
3 3  
4   -The new SPB platform presented in this paper is a fully integrated
5   -environment, being very
6   -advanced in comparison with related projects and initiatives.
  4 +The new SPB platform presented in this paper is a fully integrated environment,
  5 +being very advanced in comparison with related projects and initiatives.
7 6  
8 7 The USA government has a platform designed to improve access to the federal
9   -government developed software\footnote{\url{https://code.gov}}. Code.gov
10   -is an interface to organize the USA government projects and, in short, make
11   -it easy for users and developers to obtain information and access their
12   -source code repositories at GitHub. However, there are not social networking
13   -and CMS features, as well as, other communication resources provided by that
14   -platform.
  8 +government developed software\footnote{\url{https://code.gov}}. Code.gov is an
  9 +interface to organize the USA government projects and, in short, make it easy
  10 +for users and developers to obtain information and access their source code
  11 +repositories at GitHub. However, there are not social networking and CMS
  12 +features, as well as, other communication resources provided by that platform.
15 13  
16 14 Additionally, there are two initiatives in Europe:
17 15 OSOR\footnote{\url{https://joinup.ec.europa.eu/community/osor}} and
18   -OW2\footnote{\url{http://ow2.org}}. The Open Source Observatory (OSOR)
19   -is a community hosted in the JoinUp platform powered by the European
20   -Commission. OSOR aims at exchanging information, experiences and best
21   -practices around the use of FOSS in the public administration. It helps
22   -to find a FOSS made available by other public administrations, providing
23   -access to information such as news, events, studies and solutions
24   -related to implementation of open source software. It also offers forum
25   -discussions and community mailing lists, but it does not have an
26   -integrated source code repository manager and for the each project there
27   -is a link to its own external repository (or its tarball file).
  16 +OW2\footnote{\url{http://ow2.org}}. The Open Source Observatory (OSOR) is a
  17 +community hosted in the JoinUp platform powered by the European Commission.
  18 +OSOR aims at exchanging information, experiences and best practices around the
  19 +use of FOSS in the public administration. It helps to find a FOSS made
  20 +available by other public administrations, providing access to information such
  21 +as news, events, studies and solutions related to implementation of open source
  22 +software. It also offers forum discussions and community mailing lists, but it
  23 +does not have an integrated source code repository manager and for the each
  24 +project there is a link to its own external repository (or its tarball file).
28 25 %
29 26 OW2 is a FOSS community to promote the development of FOSS middleware, generic
30 27 business applications, cloud computing platforms and foster a community and
... ... @@ -32,31 +29,34 @@ business ecosystem. In short, it aims to support the development, deployment
32 29 and management of distributed applications with a focus on FOSS middleware and
33 30 related development and management tools.
34 31  
35   -Moreover, from the European Commission in 2007 until 20011, there was the
36   -QualiPSo project that aimed at providing FOSS users, developers, and consumers,
37   -with quality resources and expertise on the various topics related to FOSS. The
38   -QualiPSo project also had planned to develop a platform called QualiPSo
39   -Factory but it was not fully completed.
  32 +Moreover, in 2007 the European Comission published a study examined the impact
  33 +the development and distribution of FLOSS by public bodies has on eGovernment
  34 +services, the economy, and the information society \cite{ghosh2004}. And there
  35 +was between 2007 until 2011 the QualiPSo project that aimed at providing FLOSS
  36 +users, developers, and consumers, with quality resources and expertise on the
  37 +various topics related to FLOSS. The QualiPSo project also had planned to
  38 +develop a platform called QualiPSo Factory but it was not fully completed.
40 39  
41   -In Latin American there is an initiative based on the SPB project called ``Software
42   -Publico Regional''\footnote{\url{http://softwarepublicoregionalbeta.net}}. From
43   -a practical point of view, it provides a customized Gitlab instance to share
44   -the source code and documentation of the project from the involved countries.
  40 +In Latin American there is an initiative based on the SPB project called
  41 +``Software Publico
  42 +Regional''\footnote{\url{http://softwarepublicoregionalbeta.net}}. From a
  43 +practical point of view, it provides a customized Gitlab instance to share the
  44 +source code and documentation of the project from the involved countries.
45 45 %
46 46 Like Brazil, Chile has its own portal also called ``Software
47 47 Publico''\footnote{\url{http://www.softwarepublico.gob.cl}}. Users can create
48   -content in the communities (news items, documents, wiki pages), but
49   -source code repositories are available at the Bitbucket
  48 +content in the communities (news items, documents, wiki pages), but source code
  49 +repositories are available at the Bitbucket
50 50 platform\footnote{\url{https://bitbucket.org/softwarepublico}}.
51 51  
52   -The Brazilian government needed to evolve the SPB project that
53   -existed since 2005. When we started this project, the SPB Portal
54   -had about 200 thousand registered users. For example, we could not just contact these
55   -users and ask them to register an account at Github as well. Moreover,
56   -after the Edward Snowden's case, the Brazilian government approved a
57   -specific law decree (8.135/2013) to rule its communication services,
58   -requiring the public administration to host its information systems to
59   -be provided by itself, what rules out usage of private platforms,
60   -specially ones provided by foreign companies. We thus developed our own
61   -solution to cover all the requirements, producing a complete
62   -governmental integrated platform for collaborative software development.
  52 +The Brazilian government needed to evolve the SPB project that existed since
  53 +2005. When we started this project, the SPB Portal had about 200 thousand
  54 +registered users. For example, we could not just contact these users and ask
  55 +them to register an account at Github as well. Moreover, after the Edward
  56 +Snowden's case, the Brazilian government approved a specific law decree
  57 +(8.135/2013) to rule its communication services, requiring the public
  58 +administration to host its information systems to be provided by itself, what
  59 +rules out usage of private platforms, specially ones provided by foreign
  60 +companies. We thus developed our own solution to cover all the requirements,
  61 +producing a complete governmental integrated platform for collaborative
  62 +software development.
... ...
opensym2017/spb.bib
... ... @@ -173,25 +173,15 @@
173 173 numpages = {10},
174 174 url = {http://doi.acm.org/10.1145/2889160.2889181},
175 175 doi = {10.1145/2889160.2889181},
176   - acmid = {2889181},
177 176 publisher = {ACM},
178 177 address = {New York, NY, USA},
179 178 keywords = {Agile methodogies, Scrum, project-based learning, software engineering education, teaching},
180 179 }
181 180  
182 181 @article{bobr2003,
183   - added-at = {2007-11-01T10:10:38.000+0100},
184 182 author = {Booch, Grady and Brown, Alan W.},
185   - biburl = {https://www.bibsonomy.org/bibtex/23600fee0632a9dcc34d9d082b73d2d9f/carsten},
186   - file = {BoBr03.pdf:BoBr03.pdf:PDF},
187   - interhash = {00c68a7c5438edeff30e1831ff5ad1cb},
188   - intrahash = {3600fee0632a9dcc34d9d082b73d2d9f},
189 183 journal = {Advances in Computers},
190   - keywords = {cscw development diss tool work},
191   - owner = {ritterskamp},
192 184 pages = {?},
193   - standort = {Ordner},
194   - timestamp = {2007-11-01T10:16:29.000+0100},
195 185 title = {Collaborative Development Environments},
196 186 volume = {59},
197 187 year = {2003}
... ... @@ -209,20 +199,13 @@
209 199 }
210 200  
211 201 @inproceedings{tosi2015,
212   - added-at = {2015-04-17T00:00:00.000+0200},
213 202 author = {Tosi, Davide and Lavazza, Luigi and Morasca, Sandro and Chiappa, Marco},
214   - biburl = {https://www.bibsonomy.org/bibtex/241e61dfdcfdb6ebcea3c9f011dfae555/dblp},
215 203 booktitle = {OSS},
216 204 editor = {Damiani, Ernesto and Frati, Fulvio and Riehle, Dirk and Wasserman, Anthony I.},
217   - ee = {http://dx.doi.org/10.1007/978-3-319-17837-0_11},
218   - interhash = {ac902fdd114e51b034384d71a1090792},
219   - intrahash = {41e61dfdcfdb6ebcea3c9f011dfae555},
220 205 isbn = {978-3-319-17836-3},
221   - keywords = {dblp},
222 206 pages = {114-123},
223 207 publisher = {Springer},
224 208 series = {IFIP Advances in Information and Communication Technology},
225   - timestamp = {2015-06-18T14:03:53.000+0200},
226 209 title = {Surveying the Adoption of FLOSS by Public Administration Local Organizations.},
227 210 url = {http://dblp.uni-trier.de/db/conf/oss/oss2015.html},
228 211 volume = {451},
... ...
opensym2017/spb.tex
... ... @@ -77,7 +77,7 @@
77 77 % re-using, if desired). Use \emtpyauthor when submitting for review
78 78 % so you remain anonymous.
79 79 \def\plaintitle{Brazilian Public Software Portal: an integrated platform for collaborative development}
80   -\def\plainauthor{Paulo Meirelles, Melissa Wen, Antonio Terceiro, Rodrigo Siqueira, Lucas Kanashiro, Hilmer Neri}
  80 +\def\plainauthor{Paulo Meirelles, Antonio Terceiro, Hilmer Neri, Melissa Wen, Ridrigo Siqueira, Lucas Kanashiro}
81 81 \def\emptyauthor{}
82 82 \def\plainkeywords{Brazilian Public Software, Free/Libre/Open Source Software, Software Evolution, Integrated Platform.}
83 83 \def\plaingeneralterms{Documentation, Standardization}
... ... @@ -132,36 +132,18 @@
132 132  
133 133 \numberofauthors{6}
134 134 \author{%
135   - \alignauthor{Paulo Meirelles\
  135 + \alignauthor{Paulo Meirelles,\\Hilmer Neri\
136 136 \affaddr{Faculty Gama (FGA) \\ University of Bras\'ilia}\\
137 137 \affaddr{Gama, Brazil}\\
138   - \email{paulormm@unb.br}\\
139   - }
140   - \alignauthor{Melissa Wen\\
141   - \affaddr{FLOSS Competence Center \\ University of S\~ao Paulo}\\
142   - \affaddr{São Paulo, Brazil}\\
143   - \email{melissa.srw@gmail.com}\\
144   - }
145   - \alignauthor{Antonio Terceiro\\
  138 + \email{\{paulormm,hilmer\}@unb.br}}\\
  139 + \alignauthor{Antonio Terceiro,\\Melissa Wen\\
146 140 \affaddr{Colivre}\\
147 141 \affaddr{Salvador, Brazil}\\
148   - \email{terceiro@colivre.coop.br}\\
149   - }
150   - \alignauthor{Rodrigo Siqueira\\
151   - \affaddr{FLOSS Competence Center \\ University of S\~ao Paulo}\\
152   - \affaddr{São Paulo, Brazil}\\
153   - \email{siqueira@ime.usp.br}\\
154   - }
155   - \alignauthor{Lucas Kanashiro\\
  142 + \email{\{terceiro,melissa\}@colivre.coop.br}}\\
  143 + \alignauthor{Rodrigo Siqueira,\\Lucas Kanashiro\\
156 144 \affaddr{FLOSS Competence Center \\ University of S\~ao Paulo}\\
157 145 \affaddr{São Paulo, Brazil}\\
158   - \email{lkd@ime.usp.br}\\
159   - }
160   - \alignauthor{Hilmer Neri\\
161   - \affaddr{Faculty Gama (FGA) \\ University of Bras\'ilia}\\
162   - \affaddr{Gama, Brazil}\\
163   - \email{hilmer@unb.br}
164   - }
  146 + \email{\{siqueira,lkd\}@ime.usp.br}}\\
165 147 }
166 148  
167 149 \maketitle
... ...