Commit 0d9742d0ea30d8453e89d3bdfa4ab3ce6f233ad1
1 parent
43ff2882
Exists in
master
and in
3 other branches
[opensym] reviewing the introduction section
Showing
1 changed file
with
80 additions
and
85 deletions
Show diff stats
opensym2017/content/01-introduction.tex
@@ -2,108 +2,103 @@ | @@ -2,108 +2,103 @@ | ||
2 | \label{sec:intro} | 2 | \label{sec:intro} |
3 | 3 | ||
4 | The Brazilian Government released in the year 2000 the Eletronic Government | 4 | The Brazilian Government released in the year 2000 the Eletronic Government |
5 | -program (eGov) aiming at democratizing information access and improving the | ||
6 | -public provision quality of service and information. In 2003, the Brazilian | ||
7 | -President created a committee for implementation of free | ||
8 | -software(\footnote{\url{http://www.softwarelivre.gov.br/documentos-oficiais/ | ||
9 | -DecretoComite}}) and thereafter the Chief of Staff of Brazil sent a circular- | ||
10 | -letter to all Ministries in which the recommendation to adopt Free/Libre/Open | ||
11 | -Source Software (FLOSS\footnote{In this work, the acronym ``FLOSS'' is | ||
12 | -used as a representative for ``Free Software'', ``Open Source Software'' (OSS), | ||
13 | -and``Free/Open Source Software'' (FOSS).}) became a public policy | ||
14 | -(\footnote{\url{http://www.softwarelivre.gov.br/documentos-oficiais/circulardoministro}}). | 5 | +program (eGov) aiming at democratizing information access and improving the |
6 | +public provision quality of service and information. In 2003, the Brazilian | ||
7 | +President created a | ||
8 | +committee\footnote{\url{http://www.softwarelivre.gov.br/documentos-oficiais/ | ||
9 | +DecretoComite}} for implementation of Free/Libre/Open Source Software | ||
10 | +(FLOSS\footnote{In this work, the acronym ``FLOSS'' is used as a representative | ||
11 | +for ``Free Software'', ``Open Source Software'' (OSS), and``Free/Open Source | ||
12 | +Software'' (FOSS).}) and thereafter the Chief of Staff of Brazil sent a | ||
13 | +circular- letter to all Ministries in which the recommendation to adopt FLOSS | ||
14 | +became a public | ||
15 | +policy\footnote{\url{http://www.softwarelivre.gov.br/documentos-oficiais/circulardoministro}}. | ||
15 | In 2007, the Brazilian Public Software Portal (\textit{Portal do Software | 16 | In 2007, the Brazilian Public Software Portal (\textit{Portal do Software |
16 | -Público Brasileiro}, in Portuguese) was released with the goal of sharing FLOSS projects developed by, or for, the Brazilian Government. Additionally, the | 17 | +Público Brasileiro}, in Portuguese) was released with the goal of sharing FLOSS |
18 | +projects developed by, or for, the Brazilian Government. Additionally, the | ||
17 | Brazilian legal instrument on software contracting (known as IN 04/2012) | 19 | Brazilian legal instrument on software contracting (known as IN 04/2012) |
18 | mandates that public agents must prioritize solutions available on the SPB | 20 | mandates that public agents must prioritize solutions available on the SPB |
19 | Portal. The acquisition of a proprietary solution must be explicitly justified | 21 | Portal. The acquisition of a proprietary solution must be explicitly justified |
20 | by demonstrating that there is no suitable alternative on the SPB Portal. In | 22 | by demonstrating that there is no suitable alternative on the SPB Portal. In |
21 | 2013, the Brazilian Federal Court issued a ruling (\textit{Acórdão 2314/2013}) | 23 | 2013, the Brazilian Federal Court issued a ruling (\textit{Acórdão 2314/2013}) |
22 | -about contracts between the public administration and suppliers using agile | 24 | +about contracts between the public administration and suppliers using agile |
23 | methodologies in software development. | 25 | methodologies in software development. |
24 | 26 | ||
25 | Despite of these legal advancements, in practice, Brazilian government agents | 27 | Despite of these legal advancements, in practice, Brazilian government agents |
26 | -still do not practice, or even understand, | ||
27 | -collaborative and empirical software development methods, | ||
28 | -such as free software or agile methodologies. Thus, | ||
29 | -hierarchical and traditional processes and the lack | ||
30 | -of expertise of public agents in real-world software development produce | ||
31 | -inefficiency in software development contracts, besides | ||
32 | -unjustifiable expending of taxpayers money. | 28 | +still do not practice, or even understand, collaborative and empirical software |
29 | +development methods, such as FLOSS or agile methodologies. Thus, hierarchical | ||
30 | +and traditional processes and the lack of expertise of public agents in | ||
31 | +real-world software development produce inefficiency in software development | ||
32 | +contracts, besides unjustifiable expending of taxpayers money. | ||
33 | 33 | ||
34 | Since 2009, the SPB Portal has had several technical issues. The original | 34 | Since 2009, the SPB Portal has had several technical issues. The original |
35 | -codebase development has stopped, leaving substantial | ||
36 | -technical debt~\cite{refactoring}. | ||
37 | -The system was a modified version of an | ||
38 | -existing FLOSS platform called OpenACS \footnote{\url{http://openacs.org}}, and | ||
39 | -the old SPB Portal did not receive updates from OpenACS releases. | ||
40 | -In this scenario, the portal maintenance has become increasingly | ||
41 | -difficult. | ||
42 | - | ||
43 | -After collecting requirements from the Federal | ||
44 | -Government and society, a new platform for the SPB Portal was | ||
45 | -developed, between January 2014 and June 2016, by the University of Brasília | ||
46 | -(UnB) and the University of São Paulo (USP) in a partnership with the Brazilian | ||
47 | -Ministry of Planning, Budget, and Management (MP). It was designed as an | ||
48 | -integrated platform for collaborative software development \cite{bobr2003}, | ||
49 | -including social networking, mailing lists, version control | ||
50 | -system, and source code quality monitoring. To coordinate and develop this | ||
51 | -project during 30 months, UnB was funded by a grant | ||
52 | -of 2,619,965.00 BRL (about 750,000.00 USD in June 2016) | ||
53 | -from the Federal Government. | ||
54 | - | 35 | +codebase development has stopped, leaving substantial technical |
36 | +debt~\cite{refactoring}. The system was a modified version of an existing | ||
37 | +FLOSS platform called OpenACS\footnote{\url{http://openacs.org}}, and the old | ||
38 | +SPB Portal did not receive updates from OpenACS releases. In this scenario, | ||
39 | +the portal maintenance has become increasingly difficult. | ||
55 | 40 | ||
41 | +After collecting requirements from the Federal Government and society, a new | ||
42 | +platform for the SPB Portal was developed, between January 2014 and June 2016, | ||
43 | +by the University of Brasília (UnB) and the University of São Paulo (USP) in a | ||
44 | +partnership with the Brazilian Ministry of Planning, Budget, and Management | ||
45 | +(MP). It was designed as an integrated platform for collaborative software | ||
46 | +development \cite{bobr2003}, including social networking, mailing lists, | ||
47 | +version control system, and source code quality monitoring. To coordinate and | ||
48 | +develop this project during 30 months, UnB was funded by a grant of | ||
49 | +2,619,965.00 BRL (about 750,000.00 USD in June 2016) from the Federal | ||
50 | +Government. | ||
56 | 51 | ||
57 | The project was developed by a team of three professors, two masters students, | 52 | The project was developed by a team of three professors, two masters students, |
58 | -about fifty undergraduate students (not all of them at the same time, | ||
59 | -since the team changed along the time), | ||
60 | -two professional designers, and six senior developers from free software | ||
61 | -communities. Professors and undergraduate students were from UnB and | ||
62 | -master students were from USP. Regarding the designers and senior | ||
63 | -developers, seven of eight were living outside Brasília, the UnB location. | ||
64 | -Two of them were abroad at Dominican Republic and Canada. | ||
65 | -In other words, we had a distributed team working in a | ||
66 | -collaborative virtual environment. This diversity of actors and the | ||
67 | -relationships between industry, academy, and government also made the project a | ||
68 | -valued opportunity to explore the benefits and challenges of using | ||
69 | -FLOSS~\cite{kon2011,deKoenigsberg2008, fagerholm2013, fagerholm2014} and | 53 | +about fifty undergraduate students (not all of them at the same time, since the |
54 | +team changed along the time), two professional designers, and six senior | ||
55 | +developers from FLOSS communities. Professors and undergraduate students were | ||
56 | +from UnB and master students were from USP. Regarding the designers and senior | ||
57 | +developers, seven of eight were living outside Brasília, the UnB location. Two | ||
58 | +of them were abroad at Dominican Republic and Canada. In other words, we had a | ||
59 | +distributed team working in a collaborative virtual environment. This diversity | ||
60 | +of actors and the relationships between industry, academy, and government also | ||
61 | +made the project a valued opportunity to explore the benefits and challenges of | ||
62 | +using FLOSS~\cite{kon2011,deKoenigsberg2008, fagerholm2013, fagerholm2014} and | ||
70 | Agile~\cite{steghofer2016, harzl2017} practices for Software Engineering | 63 | Agile~\cite{steghofer2016, harzl2017} practices for Software Engineering |
71 | education. | 64 | education. |
72 | 65 | ||
73 | -All the code was developed as open source. The changes we needed in the | ||
74 | -FLOSS tools were implemented by ourselves and | ||
75 | -contributed back to their respective communities. Our | ||
76 | -process was based on agile practices and FLOSS communities interaction. | ||
77 | -We incrementally released five versions of the new SPB | ||
78 | -Portal. The first release (beta) was in September 2014, only 9 months | ||
79 | -from the beginning of the project. The old portal was shut down in | ||
80 | -September 2015. Finally, the last version was | ||
81 | -released in June 2016. | 66 | +All the code was developed as open source. The changes we needed in the FLOSS |
67 | +tools were implemented by ourselves and contributed back to their respective | ||
68 | +communities. Our process was based on agile practices and FLOSS communities | ||
69 | +interaction. We incrementally released five versions of the new SPB Portal. | ||
70 | +The first release (beta) was in September 2014, only 9 months from the | ||
71 | +beginning of the project. The old portal was shut down in September 2015. | ||
72 | +Finally, the last version was released in June 2016. | ||
82 | 73 | ||
83 | -In this paper, we present an overview of the new SPB Portal. | ||
84 | -The paper shares the methodology employed to develop this project. | ||
85 | -This methodology has the goals of satisfying Government | ||
86 | -requirements and adhering as much as possible to FLOSS and agile | ||
87 | -practices~\cite{mockus2002, tosi2015}. Moreover, we discuss lessons | ||
88 | -learned in providing a distributed and collaborative virtual environment involving | ||
89 | -a large undergraduate students team and remote senior developers. Finally, we | ||
90 | -released an innovative platform for helping the Brazilian government to apply | ||
91 | -empirical software development methods. This case can help other projects to | ||
92 | -overcome similar software engineering challenges in the future, as well as to | ||
93 | -illustrate how universities can improve the real-world experience of their | ||
94 | -students. | 74 | +In this paper, we present an overview of the new SPB Portal. The paper shares |
75 | +the methodology employed to develop this project. This methodology has the | ||
76 | +goals of satisfying Government requirements and adhering as much as possible to | ||
77 | +FLOSS and agile practices~\cite{mockus2002, tosi2015}. Moreover, we discuss | ||
78 | +lessons learned in providing a distributed and collaborative virtual | ||
79 | +environment involving a large undergraduate students team and remote senior | ||
80 | +developers. Finally, we released an innovative platform for helping the | ||
81 | +Brazilian government to apply empirical software development methods. This case | ||
82 | +can help other projects to overcome similar software engineering challenges in | ||
83 | +the future, as well as to illustrate how universities can improve the | ||
84 | +real-world experience of their students. | ||
95 | 85 | ||
96 | -The remainder of this work is organized as follows. | ||
97 | -Section \ref{sec:spb}... | ||
98 | -Section \ref{sec:related} enumerates a number of related works on the... | ||
99 | -Section \ref{sec:researchdesign} presents the research design... | ||
100 | -Section \ref{sec:requirements} reports ... | ||
101 | -Section \ref{sec:architecture} ... | ||
102 | -Section \ref{sec:features} ... | ||
103 | -Section \ref{sec:ux} ... | ||
104 | -Section \ref{sec:process} ... | ||
105 | -Section \ref{sec:contributions} ... | ||
106 | -Section \ref{sec:lessons} ... | ||
107 | -Finally, Sections \ref{sec:conclusion} concludes the paper highlighting its | ||
108 | -main contributions and pointing paths to future works. | 86 | +The remainder of this work is organized as follows. Section \ref{sec:spb} |
87 | +discusses the concepts of Brazilian Public Software and Free Software. Section | ||
88 | +\ref{sec:related} enumerates a number of related projects from other countries. | ||
89 | +Section \ref{sec:researchdesign} presents the open questions these guided this | ||
90 | +paper. Section \ref{sec:requirements} reports how the Brazilian Government | ||
91 | +stakeholders collected the theoretical requirements as well as how we define | ||
92 | +the technological requirements to release an initial version. Section | ||
93 | +\ref{sec:architecture} shares our decisions about the systems that together | ||
94 | +provided a wide subset of the requirements and our strategy to integrate them. | ||
95 | +Section \ref{sec:features} describes the main features of the new SPB Portal. | ||
96 | +Section \ref{sec:ux} reports the user experience evolution during the | ||
97 | +integration of the selected FLOSS tools. Section \ref{sec:process} discusses | ||
98 | +our strategies to support the different organizational cultures and to involve | ||
99 | +undergraduate students as protagonists of the development process. Section | ||
100 | +\ref{sec:contributions} summarizes the contributions to the FLOSS upstream | ||
101 | +communities we interacted with. Finally, Sections \ref{sec:conclusion} | ||
102 | +concludes the paper highlighting its main contributions, sharing our lessons | ||
103 | +learned, and pointing paths to future works. | ||
109 | 104 |