04-results.tex 12.6 KB
\section{Results}
\label{sec:results}

We divided the case study into two phases, according to the traceability of the
project management activities. We consider the first phase, between January
2014 and March 2015, as non-traceable. In this period, only UnB managed the
development activities. The inter-institutional monitoring of the project was
reduced to the definition of strategic goals in meetings between coordinators,
and the communication between government and academia was dispersed 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 open source practices 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 model of
communication and management was built using experiments in free software
ecosystems to cater to government bureaucracies.

In this section, we list the macro-decisions taken intuitively during the
project and the practices that made these decisions concrete. We use data
collected from the main 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}

The first version of the new SPB portal was released in production nine months
after the project beginning. Due to the platform features for software
development and social network, the UnB coordinators decided to use the system
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 funcionalities. 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 team and the government team. In the last 15 months of the
project, the main 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 platform itself.
Consequently, all features were checked according to the use of the system.
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 is
that person, it's not simply a name.''}. This subjectively 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 teams' synchronization was reinforced with the implementation of a
Continuous Delivery pipeline. The benefits of this approach were presented in
our previous work \cite{siqueira2018cd} and corroborate these research results.
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 in production 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
deliveries were made 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 was divided into four work areas defined 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. These senior developers were
selected due to their experience in the open source systems and tools used in
the project or in visual works for large scale organizations.

The participation of senior developers in the project contributed to
\textbf{conciliate the development processes of each institutions and make better
technical decisions}, as quoted in one of the answers to the senior developers
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
MPOG's project management process and {50\%} believe their project productivity
was affected by MPOG's project management process.

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 important 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 students in
the project. {75\%} believe that the knowledge taught by them to a intern was
widespread among the others in the team. This acquisition of knowledge was also
pointed by the government: \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}.
Each team was coordinated by a coach who together was supported by a meta-coach
in the execution of their activities. The coaches 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 for their activities and for communication
with the development team. They said \textit{``I interacted
more with the project coordinator 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