03-methods.tex 6.19 KB
\section{Research Design}
\label{sec:researchdesign}

% TODO (by Siqueira): Tenho a impressão de que esse parágrafo cairia bem no último parágrafo
% da introdução. Pelo menos a ideia dele uma vez que resume bem o trabalho
In this paper, we studied practical alternatives to harmonize different
software development processes. We are interested in the relationship between
government and academia from the project management perspective, without the
enforcement of changing their internal processes. We present two research
questions that guided our work:

\textbf{RQ1. }\textit{How to introduce open source and agile best practices into
government-academia collaboration projects?}

\textbf{RQ2. }\textit{What practices would favor effective team management in
government-academia collaborative projects?}

To answer these questions, we use the case study as research method. We selected
as a case the evolution of the Brazilian Public Software portal (SPB)
\cite{meirelles2017spb}, a government-academia collaborative project based on
FLOSS systems. To validate our answers, we picked three different points of
view: developers, government agent, and data collected from the project
repository.

\subsection{The case study}

The project to evolve the SPB portal was a partnership between government and
academia held between 2014 and 2016 \cite{meirelles2017spb}. The old version of
SPB suffered from maintenance problems and design-reality gaps. In this sense,
The Ministry of Planning (MPOG) decided to join the University of Brasília (UnB) and
the University of São Paulo (USP) to develop a new platform. This platform had
as its primary requirement to be based on existing FLOSS projects and integrate
multiple systems into one, providing the end user with a unified experience.

In short, the SPB portal evolved into a Collaborative Development Environment
(CDE) \cite{booch2003}. It was a novelty in the context of the Brazilian
government, due to the technologies employed and its diverse features. The
portal includes social networking, mailing lists, version control system, and
source code quality monitoring. All of this software is integrated using a
system-of-systems framework \cite{meirelles2017spb}.

The platform development activities happened in the Advanced Laboratory
of Production, Research, and Innovation in Software Engineering (LAPPIS) at
UnB. The laboratory born from a professor that is part of Brazillian FLOSS
community and another one that spreads out agile values. Thus, naturally,
LAPPIS embrace the best practices of both ecosystems. For this project, the
laboratory had a total of 42 undergraduate interns, and two professors engaged
in the development team. Finally, the project hired six senior developers with
significant experience with FLOSS communities, and two designers specialized in
User Experience (UX).

The government team was composed of one director, one coordinator, and two IT
analysts from MPOG. They were responsible for contracts and collaboration
management, which means they do not produce software. The MPOG analysts had
their background in traditional management approaches, such as RUP, CMMI,
and PMBOK.

The leaders of LAPPIS and MPOG periodically met in person to manage the project
progress, discussing strategic issues and technical goals. Initially, these
meetings took place at the Ministry's headquarters and, usually, only directors
and professors participated. On the academic side, the management of the
development teams often spent two weeks per sprint and released a new version
every 4 months. During the project progress, this workflow proved to be
inefficient. Conflicts between the internal management processes and
differences in pace and goals of each institution were compromising the
platform development.

Professors, with the senior developers' collaboration, incrementally employed a
set of best practices based on FLOSS and agile values for  improving
the project management process and reducing the conflict between government
and academia. Throughout the project, the LAPPIS team built an experimental
management model to harmonize the different cultures. The development leaders
made decisions in a non-systematic way to promote the usage of these best
practices. In this paper, we analyze and codify these decisions and its
benefits.

\subsection{Survey, Interview and Data Collection}

We divided the development team into two groups of participants according to
their roles during the project: UnB undergraduate interns and IT professionals.
For each set of members, we designed an online questionnaire with topics
related to (1) project organization, (2) development process, (3) communication
and relationship with members, (4) acquired knowledge and (5) experience
with FLOSS projects. We also interviewed two MPOG analysts who directly
interacted with the development team and project development process.  The
interview questions had four parts: (1) Professional profile;(2) Organization,
communication and development methodologies (3) Satisfaction with the developed
platform; (4) Lessons learned.

We sent the online questionnaire to 42 interns and 8 IT professionals. All
interns worked as a developer and received a scholarship. We got a total of 37
interns responses, and all professionals joined on it. On average, interns had
22 years and professionals had 30 years, wherein 8\% and 13\% respectively were
women. About 43\% of the interns had the SPB project as their first contact
with FLOSS. On average, the IT professionals had 11 years of experience, worked
in at least 5 different companies, participated in 4 to 80 distinct projects,
and 86\% of them had some background with FLOSS before the SPB project.

We also interviewed two MPOG analysts separately. Each interview took an
average of 2 hours with 28 open questions. They are over 30 years old, and they
have more than 7 years working in the government. The analysts said that SPB
project represented their first experience of government-academia
collaboration.

Finally, we analyzed the data from the principal project repository considering
all the issues and commits. From April 2015 to June 2016, 59 distinct authors
opened 879 issues, 64 different users made the total of 4,658 comments. The
development team made 3,256 commits in the central project repository.