04-results.tex
12.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
\section{Results}
\label{sec:results}
The SPB portal project had two phases according to the traceability of the
project management activities. The first one, between January 2014 and March
2015, is non-traceable. In this period, only UnB managed the development
activities. Professors and MPOG coordinators had meetings to define strategic
goals. The communication between government and academia was, generally, in
private channels, such as professional e-mails, personal meetings, and
telephone calls. Because of this, the quantitative data found for this period
are inconclusive or have little expressiveness, and we did not examine them.
The second phase, from April 2015 to the end of the project (June 2016), has a
more considerable wealth of data. Much of the management and communication
activities were recorded and published on online channels and tools. During
this period, several FLOSS practices and agile values were applied to the
development process to harmonize the cultural and organizational divergences of
the institutions involved. At the end of the project, an empirical approach to
communication and management was built using the development leaders'
experiences in FLOSS and agile projects to cater to government bureaucracies.
In this section, we list the macro-decisions taken during the project and the
practices that made these decisions concrete. We use data collected from the
central repository to map best practices and, with the respondents' answers, we
analyzed how each decision benefited the project collaboration.
\subsection{Use of system under development to develop the system itself}
UnB team released the first version of the new SPB portal nine months after the
project beginning. Due to the platform features for software development and
social network, the UnB coordinators decided to use the platform under
construction to develop the system itself. Gradually, in addition to
development activities, government and academia migrated the project management
and the communication between teams to the portal environment. In short, the
wiki feature was used for logging meetings, defining goals, planning sprints,
documenting deployment procedures and user guides. The issue tracker was used
for discussing requirements, monitoring features under development, requesting
and recording changes, and validating the delivered functionalities. Finally,
the mailing list was used by the entire team for collaborative construction of
requirements, defining schedules, and scheduling meetings between institutions.
Our surveys report Mailing list (100\%) and Issue Tracker (62.5\%) as the main
means of interaction between senior developers and interns. Developers and MPOG
staff also interacted mostly via Mailing List (87.5\%) and Issue tracker
(50\%). According to one of the interviewees, this movement made the
\textbf{communication more transparent and efficient}. An MPOG analyst said
that \textit{``Communicating well goes far beyond the speed. It means enabling
someone to tell everyone about everything that is happening in the project. We
did not use emails, we use more mailing list and avoid emails. This usage
helped us a lot because everything was public and did not pollute our email
box. So, when you wanted to know something, you could access the SPB list to
see everything that was happening.''}.
Migrating to the SPB platform also \textbf{easied monitoring of activities and
increased interactions between developers and public servants}. The data
collected from the repository evidence the frequent use of the platform by the
academic and the government teams. In the last 15 months of the project, the
central repository issues were opened by 59 different authors, 8 of them MPOG
agents. These issues received comments from 64 distinct users, 9 of them from
MPOG. When we consider the issues with much interaction, those who had ten
comments or more, we notice that the government team also felt comfortable with
using the tool to interact directly with the development team. In a set of 102
issues with much interaction, MPOG staff created 43 of them (this represents
42\% of the most active issues). For the MPOG analysts, interaction via
repository improved communication. \textit{``There was a lot of evolution, a
lot of communication via Gitlab.''}. Migrating to the platform also led MPOG
staff to \textbf{trust in developed code}: \textit{``Everything was validated.
We tested the functionalities and developed the project on the SPB platform
itself. Consequently, the use of the system validated the most of features.
From the moment we began to use it for development, this validation was
constant. We felt confident in the code developed.''}.
The abovementioned decision also collaborated to meet the government's demand
for meticulous documentation of the software design and stages of development
without bureaucratizing or modifying the development process. The team starts
to \textbf{produce documentation and records organically} on the platform
itself, as mentioned at one of the MPOG response.: \textit{``For me, it was a
great learning experience. There are a lot of things documented in emails as
well as in the portal itself. When necessary, we can access the tools and find
out how we develop a solution. We can recover these positive points.''}.
\subsection{Bring together government staff and development team}
At the beginning of the project, the interviewed MPOG analysts did not
participate in any direct interaction with any UnB representative, even though
they were the ones in charge of the government in ensuring the collaboration
agreement and the delivery of the products. Because of this, they relied on
feedback from their superiors on inter-institutional meetings. They reported
that there was significant communication noise in the internal dialogues with
their superiors, as well as between their superiors and the development team.
In the second phase of the project, these analysts came to represent the
government directly in the dialogues with the academia, and they started to
visit bi-weekly the university's laboratory. One of the analysts believes that
\textit{``at this point, the communication started to change.''}. The new
dynamic \textit{reduced communication misunderstandings and unified the two
sides}, as reported by another interviewee: \textit{``It was very positive. We
liked to go there and to interact with the team. I think it brought more unity,
more integration into the project.''}. {73\%} of the interns consider positive
the direct participation of the MPOG staff, and {81\%} of them think the
presence of goverment staff in sprint ceremonies was relevant for the project
development. For 76\% of interns, writing the requirements together with the
MPOG staff was very important to \textbf{better meet expectations of both
sides}. According to one of them \textit{``Joint planning and timely meetings
were very important for understanding the needs of MPOG.''}.
The closest dialogue between government and academia generated empathy, as
reported by one of the interviewees: \textit{``Knowing people in person makes a
big difference in the relationship because it causes empathy. You know who that
person is, it's not simply a name.''}. This point helped to \textbf{synchronize
the execution pace of activities}: \textit{``When we visited the lab and met
the team, we realized that this encouraged us to validate resources faster and
give faster feedback to the team. In return, they also quickly answered us any
question.''}.
The implementation of a Continuous Delivery pipeline also reinforced the teams'
synchronization \cite{siqueira2018cd} . For 81\% of interns and 75\% of senior
developers, deploying new versions of the SPB portal in production was a
motivator during the project. On the government side, this approach helped to
\textbf{overcome the government bias regarding the low productivity of
collaborative projects with academia}, as mentioned by themselves
\textit{``Government staff has a bias that universities do not deliver
products. However, in this project, we made many deliveries with high quality.
Nowadays I think if we had paid the same amount for a company, it would not
have done what we did with the quality we delivered.''}. Additionally, the
deployment of each new version also \textbf{improve the translation of the
process from one side to the other}, as mentioned by MPOG analyst \textit{``We
had a strategic level view. When we went to the technical level, we had
difficulty to plan each four-month release. However, in the final stages of the
project, I realized that this was not a problem because the team made the
deliveries and the results were available in production. The team was
qualified, the code had quality, and the project was well executed. So in
practice, our difficulty interpreting the technical details did not impact the
releases planning.''}.
\subsection{Divide the development team into priority fronts, and for each one,
hire at least one specialist from the IT market}
The development team had four work areas divided by the main demands of the
project: User Experience, DevOps, Integration of Systems, and Social
Networking. For each of them, at least one professional in the IT market was
hired to raise the quality of the product. Senior developers have a vast
experience in the FLOSS systems and tools used in the project.
The participation of senior developers in the project contributed to
\textbf{conciliate the development processes of each institution and made
better technical decisions}, as quoted in one of the answers to the senior
developer's questionnaire: \textit{``I think my main contribution was to
balance the relations between the MPOG staff and the UnB team.''}. {63\%} of
senior developers believe they have collaborated to conciliate the management
and development process between the two institutions and also {63\%} of them
that they helped MPOG staff to express their requests more clearly. Government
analysts were also more open to suggestions from these developers:
\textit{``They are developers of the upstream projects of the systems that
integrate the platform. They conveyed trust, and then we trust in the developed
code.''}. According to questionnaire responses, they largely agreed with the
project development process. For 63\%, this process has close similarity to
their previous experiences. In contrast, {62.5\%} of them did not understand
the MPOG's project management process and {50\%} believe this process could
affect their project productivity.
Senior developers were also responsible for \textbf{improving the management
and technical knowledge} of the interns about practices from industry and open
source projects. {91\%} of the interns believe that working with professionals
was essential for learning. Working with senior developers was important during
the project for all of them. {75\%} of senior developers believe that ``Working
in pairs with a senior'' and 63\% that ``Participate in joint review tasks''
were the tasks with the involvement of them that most contributed to the
evolution of UnB interns in the project. {75\%} believe that the knowledge
taught by them to a intern was widespread among the others in the team.
Government analysts also pointed this acquisition of knowledge: \textit{``On
the side of UnB, what we noticed was a significant improvement in the platform
with the hiring of the original developers of the systems. They had a guide on
how to best develop each feature and were able to solve non-trivial problems
quickly.''}.
Dividing the development team and hiring senior developers allowed each team to
\textbf{self-organize and gain more autonomy in the management of their tasks}.
There was a development coach to lead each team, and a ``meta-coach'' supported
all of them in their internal management activities. The coaches (most advanced
UnB interns) were points of reference in the development process. {89\%} of the
interns said that the presence of the coach was essential to the sprint's
running, and for {88\%} of senior developers coaches was essential for their
interaction with the team. MPOG analysts saw coaches as facilitators their
activities and communication with the development team. They said \textit{``I
interacted more with the project coordinator (professor) and team coaches''},
\textit{``Usually, we contact a coach to clarify some requirements or to
understand some feature. We interact more with coaches because they are more
accessible than senior developers. Sometimes the coach would take our question
to the senior developer.''}.
%TODO: talvez encaixar aqui a troca de papéis