response_letter.md 6.27 KB

First of all, we would like to thank all the reviewers for the valuable feedbacks. Based on the comments received, we tried to address most of the problems on the paper.

Points to be clarified:

1* About the architecture section

Since the Brazilian Public Software platform is a complex integration of more than 10 systems with different levels of maturity, one should discuss its architecture and details. This section focus on explaining how the aforementioned systems were integrated without impacting their original versions. We could refine this section by reducing the explanation about Colab and the discussion about our choice of Gitlab as Git repository manager. However, we believe that further reductions may impact on the reader understanding on the platform.

2* Reusing of Redmine

Previously, Redmine was used as a management tool in our project as well as it was planned to be integrated to the SPB platform. Motivated by Mozilla's experience[1], we decided to reduce the number of the systems used by adapting Gitlab functionalities to support project management. This made cross-references between requirements, tasks and source code possible, which proved to be really useful in the development process.

Rectifications done:

3* Reorganizing the abstract content:

A new abstract was defined including an overview on the motivation, objective, method, results, and conclusion.

4* Improving literature references informations:

4.1* Firstly, we have basically enriched our Introduction:

** "In practice, FOSS or agile methodologies, that is, collaborative and empirical software development methods are not widely practiced and understood by Brazilian Government agents. Thus, the hierarchical and traditional processes used by the Federal Government and the lack of expertise in real-world software development from its agents produce a situation of inefficient software development contracts and unjustifiable expending of taxpayers' money."

** "The paper shares the methodology employed to develop this project, in partnership with the Brazilian Federal Government, to comply with its requirements at the same time to be as faithful as possible to FOSS development. Moreover, we discuss several lessons learned to provide a distributed collaborative virtual environment involving a large undergraduate student team and remote senior developers. Lastly, we released an unprecedented platform for the Brazilian government applying empirical software development methods. This case can help other projects to overcome similar software engineering challenges in the future, as well as to illustrate how universities can improve the real-world experience of their students by means of this kind of project."

4.2* We also have include some additional academic literature used in this study:

[1] Mockus et al. Two case studies of open source software development: Apache and Mozilla. [2] G. DeKoenigsberg. How successful open source projects work, and how and why to introduce students to the open source world. [3] Kon et al. Free and Open Source Software Development and Research: Opportunities for Software Engineering. [4] Ducheneaut, N. Socialization in an open source software community: A socio-technical analysis. [5] Fagerholm et al. The role of mentoring and project characteristics for on boarding in open source software projects. [6] Fagerholm et al. On-boarding in open source software projects: A preliminary analysis. [7] Harzl, A. Can FOSS projects benefit from integrating Kanban: a case study. [8] Steghöfer el al. Teaching Agile - Addressing the Conflict between Project Delivery and Application of Agile Methods. [9] Booch et al. Collaborative Development Environments. [10] J. Chao. Student Project Collaboration Using Wikis. [11] Tosi et al. Surveying the Adoption of FLOSS by Public Administration Local Organizations. [12] Freitas et al. FLOSS in an Open World: best practices from Brazil. [13] Ghosh et al. Study on the effect on the development of the information society of European public bodies making their own software available as open source.

To discuss these works we re-organized the section "REQUIREMENTS AND RELATED PROJECTS" in two different sections: "REQUIREMENTS" and another one named "RELATED WORK AND PROJECTS"

5* We have highlighted some learning in our project:

** How to involve students in real-world projects, interacting with real customers ** How the participation of experienced professionals were crucial to the success of the project ** The importance of the relationship between Academia and Industry ** Managing different organizational cultures ** Managing higher-and lower-levels of goals separately ** Living with ill-advised political decisions ** Considering sustainability from the beginning

6* We can conclude:

** This project resulted in an important case to prove that it is possible to conciliate studies and professional training in universities, as long as the institution can provide a healthy and challenging environment to its students. After the end of the project, some students successfully embraced opportunities in public and private sectos, within national borders and abroad. Some others went further and started their own companies.

** With some adaptations/"translation processes" it is possible to conciliate agile methodologies and FOSS practices to develop software to governmental organizations with functional hierarchical structures that use traditional development paradigm.

7* We tried to refine our text in order to avoid "not very informative" expressions, as mentioned by reviewers.

Research approach

8* Requirements:

** In the redefined section named "REQUIREMENTS", we will add a figure which shows how the requirements lead to the architecture and include a diagram of this process, as the reviewers suggested.

9* Scientific contributions

** After the redefined section called "RELATED WORK AND PROJECTS", we will add a new section to present and discuss our research design to answer the following research questions:

  • Which strategy could be used to integrate several existing FOSS tools to promote the collaborative software development?

  • How to introduce the FOSS collaborative and agile practices to governmental development process?

  • How to involve undergraduate students in real-world projects, interacting with real customers from a Government?