Keywords

1 Introduction

E-government projects differ from others due to their complexity and extension [2]. They are complex because they combine development, innovation, information & communications technologies, politics, and social impact. They are extensive, however, regarding their scope, target audience, organizational size, time, and the corresponding resistance to change. Developing an innovative e-government project that meets the needs of society is a issue that may be addressed alternatively through collaborative projects between government and academia. This collaborative work has challenges such as organizing the collaboration project, aligning goals, synchronizing the pace of between government and academia, and overcoming the failure trend of e-government projects [7].

One of the leading causes of e-government project failure is poor project management [2]. In this sense, the proper management of the collaboration project should be a relevant concern when government and academia combine efforts to develop an e-government solution. Academia commonly works on cutting-edge development methodologies while the government still relies on traditional techniques. Changing the development process of one of this large-size institutions represents an organizational disturbance with impacts on structure, culture, and management practices [10]. As a result, government and academia have to harmonize their view to increasing the chances of success in projects with tight deadlines and short budgets.

We have investigated the adoption of recommended community standards from Free/Libre and Open Source Software (FLOSS) and agile values as a strategy to harmonize different management approaches, due to the plurality of FLOSS ecosystems and the diversity favored by agile methodologies. Open communication, project modularity, the community of users, and fast response to problems are just a few of the FLOSS ecosystem practices [5, 15]. Individuals and interactions, working software, customer collaboration, responding to change are the values agile development [3]. With this in mind, FLOSS and agile practices may improve the cooperation of distinct teams.

In this work, we examine the empirical method developed during 30 months of a government-academia project that helped to harmonize the differences between both organization management cultures. We discuss both quantitative and qualitative analyses of the benefits of FLOSS and agile practices in an e-government project. We identify and trace the best practices based on FLOSS ecosystems and agile methodology. We collect and analyze data from the project repository. Finally, we conduct a survey target at projects participants to find their perception around the set of best practices, and which of them are useful to government-academia collaboration. In doing so, we aim to help academia better understand critical issues they will be confronted with when engaging in a government-academia software project.

2 Related Work

Discussions on how to introduce new management methods into an organization are present in several works. Nerur et al. recognized critical issues concerning the migration from traditional to agile software development by comparing practices of both methodologies [10]. The authors point out managerial, organizational, people, process, and technological issues to be rethought and reconfigured in an organization for a successful migration. Strode et al. investigated the relationship between the adoption of agile methodologies and organizational culture [14] by evaluating nine projects. They identified a set of six factors directly linked to agile methods and concluded that the presence of these aspects in an organization is proportional to the value of agile methodologies usage for their projects. As Nerur et al., Strode et al. also said that the adoption of agile development techniques does indeed produce changes in an organization’s culture.

Some works also discuss how academia can collaborate with the industry in the management of software projects. Chookittikul et al. evaluated the increasing use of the agile techniques in software development companies in Thailand. The authors suggested that universities should create curricula that develop in their undergraduate students practical skills required by industry (mainly agile practices) to promote growth in local software businesses [6]. Sandberg et al. report the use of Scrum in an industry-academia research consortium (involving ten industry partners and five universities in Sweden) [12]. Through a case study, they demonstrate that being able to bring together the meaningful activities of the stakeholders is essential to the success of collaborative research between industry and academia.

Complex and large-scale organizations, such as the public administration, have to deal with multiple project variables. Alleman et al. describe a production deployment for the US government, focusing on the methodology applied to address long-term planning and value estimation [1]. In the Brazilian context, Melo et al. [9] investigates the growing adoption of agile methodologies in this country’s IT industry. The results of their survey highlight some mismatch that companies faces when developing software for public administration.

Several works tried to highlight the FLOSS practices, while others attempted to determine the relationship between FLOSS practices and agile methods. Capiluppi et al. examined about 400 projects to find FLOSS project properties [5]. In their work, they extracted generic characterization (project size, age, license, and programming language), analyzed the average number of people involved in the project, the community of users, and documentation characteristics. Warsta et al. found differences and similarities between agile development and FLOSS practices [15]. The authors argued that FLOSS development may differ from agile in their philosophical and economic perspectives, on the other hand, both share the definition of work. Finally, Eric Raymond describes many of his experiences and decisions in his work with FLOSS communities [11], and his report in 1999 has many intersections with the agile manifesto in 2001.

This paper differs itself from others by studying the government-academia collaboration for developing a production-level solution. From questionnaires, interviews, and development activities data, we extracted best practices that helped to harmonize the interactions between two different development process and satisfied the management process of both sides. We analyzed the decisions made from the FLOSS and agile perspectives.

3 Research Design

We studied practical alternatives to harmonize the software project lifecycle when confronting different development processes from crucial stakeholders. 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 this work:

RQ1. How to introduce FLOSS and agile best practices into government-academia collaboration projects?

RQ2. What practices favor effective team management in government-academia collaborative projects?

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

3.1 The Case Study

The project to evolve the SPB portal was a partnership between government and academia held between 2014 and 2016 [8]. 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 the 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) [4]. It was a novelty in the context of the Brazilian government, due to the technologies employed and its diverse features, which includes social networking, mailing lists, version control system, and source code quality monitoring. All software is integrated using a system-of-systems framework [8]. These characteristics led the project to interact with different FLOSS projects and communities.

The platform development took place at the Advanced Laboratory of Production, Research, and Innovation in Software Engineering (LAPPIS/UnB) and the FLOSS Competence Center at USP (CCSL/USP), both with experience in FLOSS development. Undergraduate interns, IT professionals, and professors formed a partially distributed development team. Their activities followed the workflow of biweekly sprints and 4-month releases.

On the managerial aspect, at the project beginning, the collaboration management and strategic discussions happened only once a month, when project leaders and MPOG directors met in person at the ministry’s headquarters. Table 1 summarizes the organizational differences in both involved sides.

Table 1. Differences between academia and government sides.

During the course of the project, we were unable to fully extract all the possible benefits from this workflow. Conflicts between the internal management processes and differences in pace and goals of each institution were compromising the platform development. To improve the project management process and reducing the mismatch between government and academia, professors, with the senior developers’ collaboration, incrementally employed a set of best practices based on FLOSS and agile values.

Although the government initiative to work with the university, they had a natural barrier to accept the non-traditional development approaches. The development leaders made decisions in a non-systematic way to promote the usage of FLOSS and agile techniques in such way that the government understood the value of the collaboration. In this scenario, the SPB project became a proper case to comprehend the processes harmonization between government and university. In this paper, we analyzed and codified the set of project decisions and how they favored the collaboration progress.

3.2 Survey, Interview and Data Collection

We separated the project team into three groups: undergraduate interns, IT professionals (senior developers and designers), and MPOG analysts. For the first two, we sent online questionnaires, and for the last ones, we conducted 2-h interviews. Table 2 presents the details of these processes.

Table 2. Surveying the project participants

Finally, we analyzed the data from the central 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 this above-mentioned repository.

4 Results

The SPB portal project had two phases according to the traceability of project management activities. The first one, between January 2014 and March 2015, is non-traceable since only the universities managed the development activities. The communication between government and academia was, generally, in private channels, such as professional e-mails, personal meetings, and telephone calls. Therefore, the quantitative data found for this period are not conclusive or have little expressiveness, and we do not examine them.

The second phase, from April 2015 to the end of the project (June 2016), has meaningful data. Much of the management and communication activities were recorded and published on online channels and tools. During this period, the development leaders consolidated several FLOSS practices and agile values employed in the development process. At the end, the academic team had an empirical management approach for meeting the government bureaucracies.

Decision 1: Use of the system under development to develop the system itself. Due to the platform features for software development and social network, the development 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 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. The development team 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 communication more transparent and efficient. An MPOG analyst said that “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 considerably. Everything was public and did not pollute our email box. So, when you wanted to know something, you could access the SPB list and see everything”.

Migrating to the SPB platform also easied monitoring of activities and increased interactions between developers and public servants. The data collected from the repository highlight the frequent use of the platform by both sides teams. In the last 15 months of the project, 59 different authors opened the central repository issues, 8 of them were MPOG agents. These issues received comments from 64 distinct users, 9 of them from MPOG. When we consider the issues with more interactions, those which had ten comments or more, we notice that the government team also felt comfortable in using the tool to interact directly with the development team. In a set of 102 active issues, MPOG staff created 43 of them (this represents 42% of the most active issues).

For the MPOG analysts, interaction via repository improved communication. “There was a big evolution, we increased our communication via Gitlab”. Migrating to the platform also led MPOG staff to trust the developed code: “Everything was validated. We tested the functionalities and developed the project on the SPB platform itself. Hence, the use of the system homologated most of its features. From the moment we began to use it for developing, this validation was constant. We felt confident in the code produced”.

The above-mentioned 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 usage of the platform for project team management conducted the organic production of documentation and records, as mentioned in one of the MPOG responses: “It was a great learning experience. There are many things documented in emails as well as in the portal itself. We can access the tools at any time and find out how we develop a solution. We can remember the positive points”.

Decision 2: Brings together government staff and development team. In the first phase of the project, the interviewed MPOG analysts did not participate in any direct interaction with any university 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 became direct representatives of the government and started to visit the university’s laboratory bi-weekly. One of the analysts believed that “at this point, the communication started to change”. The new dynamics reduced communication misunderstandings and unified both sides, as reported by another interviewee: “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 considered positive the direct participation of the MPOG staff, and 81% of them believed the presence of government staff in sprint ceremonies was relevant for the project development. For 76% of the interns, writing the requirements together with the MPOG staff was very important to better meet expectations of both sides. According to one of them, “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: “Knowing people in person makes a big difference in the relationship because it causes empathy. You know who that person is. He’s not merly a name”. Consequently, this empathy helped to synchronize the execution pace of activities: “Visiting the lab and meeting the developers 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 [13]. For 81% of the interns and 75% of the IT professionals, deploying new versions of the SPB portal in production was a motivator during the project. On the government side, this approach helped to overcome the government bias toward low productivity of collaborative projects with academia, as mentioned by themselves: “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 the amount of features we did with the technical quality we have”. Additionally, the deployment of each new version also share a common understanding of the process from one side to the other, as mentioned by a MPOG analyst: “We had only the strategic vision of the project. When we needed to deal with technical issues, we had some difficulty planning the four-month releases. However, in the last stages of the project I realized that this was not a problem. The team was delivering 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 in interpreting the technical details did not impact the release planning”.

Decision 3: Organized 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 segment, at least one professional in the IT market was hired to raise the quality of the product. Senior developers have been selected based on their vast experience in FLOSS systems and their knowledge on tools used in the project.

The presence of senior developers in the project contributed to conciliate the development processes of each institution and make better technical decisions, as quoted in one of the answers to the senior developer’s questionnaire: “I think my main contribution was to balance the relations between the MPOG staff and the university team”. 63% of the IT professionals believed they have collaborated to conciliate the management and development process between the two institutions and also 63% of them helped MPOG staff express their requests more clearly. Government analysts were also more open to suggestions from these developers: “They are upstream developers of the systems that integrate the platform. They conveyed trust, and then we trust in the developed code”. According to questionnaire responses, IT professionals 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% believed this process could affect their project productivity.

The senior developers were also responsible for improving the management and technical knowledge of the interns about practices from industry and open source projects. 91% of the interns believed that working with professionals was essential for learning, and, for all of them, working with IT professionals was important during the project. 75% of the IT professionals believed 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 the interns in the project. 75% believed that the knowledge shared by them to one intern was widespread among the others in the team. Government analysts also pointed this knowledge sharing: “On the university side, we noticed a significant improvement in the platform with the hiring of the systems original developers. They had a guide on how to best develop each feature and were able to solve non-trivial problems quickly”.

Organizing the development team and hiring of the IT professionals allowed each team to 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 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 the of the IT professionals the coaches was essential for their interaction with the development team. MPOG analysts saw the coaches as facilitators their activities and communication with the development team. They said “I interacted more with the project coordinator (professor) and team coaches”, “Usually, we contact a coach to clarify some requirements or to understand some feature. The coaches were more available than senior developers and, sometimes, they would take our question to a senior developer”.

5 Discussion

Our results reveal a set of nine management practices successfully employed in above-mentioned case. We analyzed unsystematic decisions made during a 30-month collaborative project and identified three macro-decisions that harmonized the differences of the management processes of each organization. We collected evidence from the gathered data that demonstrates the benefits obtained with the adoption of a collection of practices. Table 3 summarizes macro-decisions, practices, and benefits.

Table 3. Empirical SPB management decisions and its benefits.

The results presented here corroborate the lessons learned in our previous work on studying the SPB project case [8]. Evidence from the data collected, responses to questionnaires, and interviews reinforce what has been reported by the academic coordination of the project, adding the point of views of government and other roles involved on the academic side. In short, the government staff took time to understand how collaboration works and to realize that the project should not assume a client-executor relationship, but rather that both organizations were at the same hierarchical level in the work plan.

The decisions, practices, and benefits presented presented in Table 3 should be evaluated and used in contexts with more substantial plurality and diversity of government stakeholders. This study has a few obvious limitations. First, we point out the lack of communication records and low traceability of the management data referring to the first phase of the project. Second, we consider a drawback the hiatus between the completion of the project and the conduction of interviews and questionnaires, since we rely on the memory of the interviewees to rescue the events. Finally, the current situation of the respondents, such as their current working mindset, may also alter their perception on the topics addressed in the questionnaire and consequently their responses.

6 Conclusion

Organizational culture is built and reinforced every life year of a large organization. These cultural values reflect on the internal management processes and the norms of communication among its members. In the context of software development projects, each institution adopts development methods that best meet its managerial procedures and organizational routines. When two large organizations decide to develop a solution collaboratively, the development methods and workflow of one may conflict with the interests of the other. In a case of government-academia collaboration, conciliating their different management processes is crucial, since the poor and unadaptable management could lead the project to fail, resulting in the waste of tax-payer resources.

In this study, we investigated the management method employed at the SPB portal project, a partnership between the Brazilian government and universities. As a result, we identified a set of FLOSS and agile best practices, empirically employed by the development leaders, which improved the workflow and relationship between the organizations involved.

Regarding our first research question “How to introduce FLOSS and agile best practices into government-academia collaboration projects?”, we examined the SPB project and identified three macro-decisions taken by the academic coordinators that drove them to intuitively and unsystematically adopt nine FLOSS and agile best practices in the development process.

The interviews responses allowed us to understand how FLOSS and agile practices have benefited the project management. Based on that, we answered our second research question “What practices favor effective team management in government-academia collaborative projects?”, making explicit 14 benefits obtained from the use of the nine best practices, presented in Table 3.

Finally, we collected a significant amount of data and testimonials related to the teaching of software engineering. We consider the studied project an educational case, an example of teaching FLOSS and agile techniques applied to real-world software development. As future work, we intend to analyze this collected information to propose improvements in educational methods for teaching software engineering to undergraduate students as well.