diff --git a/oss2018/content/01-introduction.tex b/oss2018/content/01-introduction.tex index 566e718..bd5c3e0 100644 --- a/oss2018/content/01-introduction.tex +++ b/oss2018/content/01-introduction.tex @@ -32,8 +32,7 @@ project modularity, the community of users, and fast response to problems are just a few of the FLOSS ecosystem practices \cite{capiluppi, warsta}. Individuals and interactions, working software, customer collaboration, responding to change \cite{beck} are the values agile development. With this in -mind, FLOSS and agile practices may improve the process management and the -cooperation of distinct teams. +mind, FLOSS and agile practices may improve the cooperation of distinct teams. In this work, we investigate the empirical method developed during 30 months of a government-academia project that helped to harmonize the differences between diff --git a/oss2018/content/04-results.tex b/oss2018/content/04-results.tex index 5eb2d0a..5d7dd93 100644 --- a/oss2018/content/04-results.tex +++ b/oss2018/content/04-results.tex @@ -10,27 +10,26 @@ 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, 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 meet the government bureaucracies. - -\textit{\textbf{Use of the system under development to develop the system itself}}. +meaningful data. Much of the management and communication activities were +recorded and published on online channels and tools. During this period, the +development leaders' employed several FLOSS practices and agile values in the +development process. At the end of the project, the academic team had an +empirical management approach for meeting the government bureaucracies. + +\subsection{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. +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. +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. Developers and MPOG @@ -40,40 +39,40 @@ staff also interacted mostly via Mailing List (87.5\%) and Issue tracker 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.''}. +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 \textbf{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 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 more interactions, those which had ten +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 -issues with more interactions, MPOG staff created 43 of them (this represents -42\% of the most active issues). For the MPOG analysts, interaction via +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. \textit{``There was a big evolution, we -increased our communication via Gitlab.''}. Migrating to the platform also led MPOG +increased our communication via Gitlab''}. Migrating to the platform also led MPOG staff to \textbf{trust the 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 most of its features. -From the moment we began to use it for development, this validation was -constant. We felt confident in the code developed.''}. +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 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 started -to \textbf{produce documentation and records organically} on the platform -itself, as mentioned in one of the MPOG responses: \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. We can access the tools at any time and find -out how we develop a solution. Therefore, we can remember the project positive -points.''}. - -\textit{\textbf{Brings together government staff and development team}}. +without bureaucratizing or modifying the development process. The usage of the +platform for project team management conducted \textbf{the organic production +of documentation and records}, as mentioned in one of the MPOG responses: \textit{``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 project points''}. + +\subsection{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 @@ -83,29 +82,28 @@ 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 believed that -\textit{``at this point, the communication started to change.''}. The new -dynamic \textit{reduced communication misunderstandings and unified both +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 +\textit{``at this point, the communication started to change''}. The new +dynamics \textit{reduced communication misunderstandings and unified both 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 considered positive +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 \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.''}. +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.''}. +person is. He's not merly a name''}. Consequently, this empathy helped to \textbf{synchronize +the execution pace of activities}: \textit{``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 \cite{siqueira2018cd} . For 81\% of the interns and 75\% of the senior @@ -116,18 +114,19 @@ 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 the amount of features we did with the technical quality we have.''}. Additionally, the +have done the amount of features we did with the technical quality we have''}. Additionally, the deployment of each new version also \textbf{share a common understanding of the process from one side to the other}, as mentioned by a 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 -release planning.''}. - -\textit{\textbf{Organized development team into priority fronts, and for each one, hire at least one specialist from the IT market}}. +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''}. + +\subsection{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 @@ -139,14 +138,14 @@ The presence of senior developers in the project contributed to \textbf{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: \textit{``I think my main contribution was to -balance the relations between the MPOG staff and the university team.''}. {63\%} of +balance the relations between the MPOG staff and the university team''}. {63\%} of the senior developers 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: -\textit{``They are developers of the upstream projects of the systems that +\textit{``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, they largely agreed with the +code''}. According to questionnaire responses, senior developers 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 @@ -155,17 +154,17 @@ affect their project productivity. The 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 believed that working with professionals -was essential for learning. Working with senior developers was important during -the project for all of them. {75\%} of the senior developers believed that ``Working +was essential for learning, and, for all of them, working with senior developers +was important during the project. {75\%} of the senior developers 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 university 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: \textit{``On -the side of the universities, 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 +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.''}. +quickly''}. Organizing the development team and hiring senior developers allowed each team to \textbf{self-organize and gain more autonomy in the management of their tasks}. @@ -178,8 +177,5 @@ 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 +understand some feature. The coaches were more available than senior +developers and, sometimes, they would take our question to a senior developer''}. diff --git a/oss2018/content/05-discussion.tex b/oss2018/content/05-discussion.tex index 9a30f05..19dcd3a 100644 --- a/oss2018/content/05-discussion.tex +++ b/oss2018/content/05-discussion.tex @@ -1,17 +1,14 @@ \section{Discussion} \label{sec:discussion} -Organizational culture is built and reinforced every life year of a large-size -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-size 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 -population-funded resources. +Our results reveal a set of nine management practices successfully employed in +abovementioned 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 evidenced from +data collection, and responses of the members of both sides to the +questionnaires and interviews, the benefits obtained through the adoption of +this empirical method. The Table \ref{practices-table} summarizes +macro-decisions, practices, and benefits. \vspace*{-.5cm} @@ -90,47 +87,15 @@ population-funded resources. \vspace*{-1cm} - -We investigated the management method employed at the SPB portal project, a -partnership between the Brazilian government and universities. The development -leaders empirically built an approach using FLOSS and agile development -practices and values. As a result, we identified a set of best practices which -improves the workflow and relationship between the organizations involved. Our -results reveal a set of nine management practices successfully employed in -abovementioned 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 evidenced from -data collection, and responses of the members of both sides to the -questionnaires and interviews, the benefits obtained through the adoption of -this empirical method. The Table \ref{practices-table} summarizes -macro-decisions, practices, and benefits. - -Regarding our first research question \textit{``How to introduce open source 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 led them to intuitively and non-systematically adopt -FLOSS and agile practices in the development process. We extracted nine best -management practices and verified their efficient use collecting data from the -management tool and interviewing the project participants. - -The interviewed responses allowed us to understand how FLOSS and agile -practices have benefited the people and project management. Based on that, we -answered our second research question \textit{``What practices favor -effective team management in government-academia collaborative projects?''}, -making to explicit in Table \ref{practices-table} eleven benefits obtained from -the use of the nine best practices. - The results of this current work corroborate the lessons learned in our previous work on studying the SPB project case \cite{meirelles2017spb}. 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 had difficulty to understand how -collaboration works. They took time to realize that the project was not a -client-executor relationship and that both organizations were at the same -hierarchical level in the work plan. Finally, they also felt the project needed -a decision-maker role to solve the impasses between organizations, and the -development coordinators sometimes took on that. +academic side. In short, the government staff took time to understand how +collaboration works and to realize that the project was not a client-executor +relationship and both organizations were at the same hierarchical level +in the work plan. The decisions, practices, and benefits presented in the Table \ref{practices-table} should be evaluated and used in contexts with more @@ -143,10 +108,3 @@ the memory of the interviewees to rescue the events. Lastly, the current situation of the respondents, such as their current working midset, may also alter their perception on the on the topics addressed in the questionnaire and consequently their responses. - -Finally, we collected a significant amount of data and testimonials related to -the teaching of software engineering. We consider the project studied 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 software engineering undergraduates -education methodology. diff --git a/oss2018/content/06-conclusion.tex b/oss2018/content/06-conclusion.tex index 52736f8..6226eb8 100644 --- a/oss2018/content/06-conclusion.tex +++ b/oss2018/content/06-conclusion.tex @@ -13,32 +13,29 @@ different management processes is crucial, since the poor and unadaptable management could lead the project to fail, resulting in the waste of population-funded resources. -We investigated the management method employed at the SPB portal project, a -partnership between the Brazilian government and universities. This approach -was empirically built using FLOSS and agile development practices and values. -As a result, we identified a set of best practices which improves the workflow -and relationship between the organizations involved. +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 development leaders, which improved the workflow and relationship +between the organizations involved. -Regarding our first research question \textit{How to introduce open source and -agile best practices into government-academia collaboration project?}, we +Regarding our first research question \textit{``How to introduce open source 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 led them to intuitively and non-systematically adopt -FLOSS and agile practices in the development process. We extracted nine best -management practices and verified their efficient use collecting data from the -management tool and interviewing the project participants. +academic coordinators that drove them to intuitively and unsystematically adopt +nine FLOSS and agile best practices in the development process. The interviewed responses allowed us to understand how FLOSS and agile practices have benefited the people and project management. Based on that, we -answered our second research question \textit{What practices would favor -effective team management in government-academia collaborative project?}, +answered our second research question \textit{``What practices favor +effective team management in government-academia collaborative projects?''}, making to explicit in Table \ref{practices-table} eleven benefits obtained from -the use of the nine best practices aforementioned. +the use of the best practices. Finally, we collected a significant amount of data and testimonials related to -the teaching of software engineering. We consider that the project studied is -also an educational case. It is an example of how to teach information -technology students FLOSS and agile approaches applied to production-level -software development. As future work, we intend to analyze this collected -information to propose improvements in the teaching of software engineering for -undergraduates. +the teaching of software engineering. We consider the project studied 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 software engineering undergraduates +education methodology. diff --git a/oss2018/spb-oss-2018.tex b/oss2018/spb-oss-2018.tex index 67f6dca..60fa61e 100644 --- a/oss2018/spb-oss-2018.tex +++ b/oss2018/spb-oss-2018.tex @@ -42,7 +42,7 @@ \input{content/03-methods} \input{content/04-results} \input{content/05-discussion} -%\input{content/06-conclusion} +\input{content/06-conclusion} \bibliographystyle{splncs03} \bibliography{spb-oss-2018} -- libgit2 0.21.2