Commit db4810a248c190845821d098c7e891a7418dd038
1 parent
6dd0b976
Exists in
master
and in
3 other branches
[opensym] Reviewing the conclusion
Showing
5 changed files
with
63 additions
and
59 deletions
Show diff stats
opensym2017/content/01-introduction.tex
| ... | ... | @@ -41,7 +41,7 @@ Approximately five years later from the first problems, a new platform for the |
| 41 | 41 | SPB Portal was planned and funded. Between January 2014 and June 2016, the |
| 42 | 42 | University of Brasília (UnB) and the University of São Paulo (USP) in a |
| 43 | 43 | partnership with the Brazilian Ministry of Planning, Budget, and Management |
| 44 | -(MP) designed an integrated platform for collaborative software development | |
| 44 | +designed an integrated platform for collaborative software development | |
| 45 | 45 | \cite{bobr2003}, including social networking, mailing lists, version control |
| 46 | 46 | system, and source code quality monitoring. To coordinate and develop this |
| 47 | 47 | project during 30 months, UnB was funded by a grant of 2,619,965.00 BRL (about | ... | ... |
opensym2017/content/04-researchdesign.tex
| ... | ... | @@ -6,7 +6,7 @@ Portal by reporting the technical efforts carried out, our empirical work |
| 6 | 6 | process, and the lessons learned. The new SPB Portal project presented three |
| 7 | 7 | main challenges, related to the open questions described below. |
| 8 | 8 | |
| 9 | -\textbf{Q1:} \textit{Which strategy could be used to integrate several existing | |
| 9 | +\textbf{Q1.} \textit{Which strategy could be used to integrate several existing | |
| 10 | 10 | FLOSS tools to promote a collaborative software development?} |
| 11 | 11 | % |
| 12 | 12 | Based on an extensive list of functional requirements defined by the Brazilian |
| ... | ... | @@ -17,7 +17,7 @@ were fully aware that we would need to improve those systems in order to |
| 17 | 17 | satisfy the remaining requirements. We were also convinced that it would be |
| 18 | 18 | impossible to satisfy all of those requirements with a single tool. |
| 19 | 19 | |
| 20 | -\textbf{Q2:} \textit{How to involve students in real-world projects interacting | |
| 20 | +\textbf{Q2.} \textit{How to involve students in real-world projects interacting | |
| 21 | 21 | with real customers?} |
| 22 | 22 | % |
| 23 | 23 | Our team was mainly composed of software engineering undergraduate students, |
| ... | ... | @@ -27,7 +27,7 @@ Government. For the majority of the students, this was a first professional |
| 27 | 27 | experience. Even though, our development process defined a central role on |
| 28 | 28 | students participation. |
| 29 | 29 | |
| 30 | -\textbf{Q3:} \textit{How to introduce typical FLOSS collaborative and agile practices in the governmental development process?} | |
| 30 | +\textbf{Q3.} \textit{How to introduce typical FLOSS collaborative and agile practices in the governmental development process?} | |
| 31 | 31 | % |
| 32 | 32 | The software development in Brazilian government is based on a very traditional |
| 33 | 33 | way, frequently focusing documentation deliveries. We had to convince them to | ... | ... |
opensym2017/content/06-architecture.tex
| ... | ... | @@ -159,7 +159,7 @@ network created between them. |
| 159 | 159 | |
| 160 | 160 | \begin{figure*}[hbt] |
| 161 | 161 | \centering |
| 162 | - \includegraphics[width=\linewidth]{figures/arch3.png} | |
| 162 | + \includegraphics[width=.85\linewidth]{figures/arch3.png} | |
| 163 | 163 | \caption{Instanciation view of the SPB architecture.} |
| 164 | 164 | \label{fig:architecture2} |
| 165 | 165 | \end{figure*} | ... | ... |
opensym2017/content/08-process.tex
| ... | ... | @@ -24,8 +24,8 @@ automation resulting from DevOps practices. Thus, the work process was executed |
| 24 | 24 | in a cadenced and continuous way. |
| 25 | 25 | |
| 26 | 26 | Finally, the last group of actors of this project was composed of employees of |
| 27 | -the Brazilian Ministry of Planning, Development, and Management (MP is the | |
| 28 | -Brazilian acronym). All the project decisions, validations, and scope | |
| 27 | +the Brazilian Ministry of Planning, Development, and Management. | |
| 28 | +All the project decisions, validations, and scope | |
| 29 | 29 | definitions were made by them. In this way, we incrementally developed a |
| 30 | 30 | software product with releases aligned to strategic business objectives. As one |
| 31 | 31 | can see, the project had a wide range of different stakeholders that had to be | ... | ... |
opensym2017/content/09-conclusion.tex
| ... | ... | @@ -4,20 +4,20 @@ |
| 4 | 4 | In this work, we presented and discussed issues experienced during a |
| 5 | 5 | government-funded project, in partnership with the University of Brasilia and |
| 6 | 6 | the University of São Paulo, to evolve the Brazilian Public Software Portal. |
| 7 | -Its contributions are twofold. First, we present the strategy used to develop | |
| 7 | +Our contributions are twofold. First, we present the strategy used to develop | |
| 8 | 8 | and to deliver an unprecedented platform to Brazilian government. Second, based |
| 9 | 9 | on the results of the SPB Portal project, we point out that it is possible to |
| 10 | 10 | mitigate conflicts experienced in the development environment and to conciliate |
| 11 | 11 | governmental and academy cultures. To summarize our main contributions, we |
| 12 | 12 | answered in this section the three open questions those guided this paper. |
| 13 | 13 | |
| 14 | -\textbf{Which strategy could be used to integrate several existing | |
| 15 | -FLOSS tools to promote a collaborative software development?} | |
| 14 | +\textbf{Which strategy could be used to integrate several existing FLOSS tools | |
| 15 | +to promote a collaborative software development?} | |
| 16 | 16 | % |
| 17 | -The SPB portal integrates more than 10 FLOSS tools and provides several | |
| 17 | +The SPB portal integrates more than ten FLOSS tools and provides several | |
| 18 | 18 | features, such as social network, mailing list, version control, content |
| 19 | 19 | management and source code quality monitoring. Concerned with the platform |
| 20 | -sustainability and maintainability, the aforementioned 10 FLOSS tools were | |
| 20 | +sustainability and maintainability, the aforementioned FLOSS tools were | |
| 21 | 21 | integrated with minimum differences from their official versions and the new |
| 22 | 22 | developed features were sent upstream to ensure an alignment between the portal |
| 23 | 23 | systems and their respective official versions. In the integration process, the |
| ... | ... | @@ -25,8 +25,8 @@ main softwares were identified, specific teams were formed to work with each |
| 25 | 25 | one of them and each team was composed of students with different levels of |
| 26 | 26 | skills and at least one senior professional. |
| 27 | 27 | |
| 28 | -\textbf{How to involve students in real-world projects interacting with | |
| 29 | -real customers?} | |
| 28 | +\textbf{How to involve students in real-world projects interacting with real | |
| 29 | +customers?} | |
| 30 | 30 | % |
| 31 | 31 | In terms of mitigating conflicts, we tried to show that, as long as the |
| 32 | 32 | university can provide a healthy and challenging environment to its students, |
| ... | ... | @@ -42,29 +42,31 @@ professionals to solve development issues. |
| 42 | 42 | % |
| 43 | 43 | Among the students, we have defined coaches for each team and a meta-coach |
| 44 | 44 | (coach of whole project). All coaches, together with professors, have |
| 45 | -intermediated the communication between client (Ministry of Planning of Brazil) | |
| 45 | +intermediated the communication between client (the Brazilian Government) | |
| 46 | 46 | and the rest of the group. |
| 47 | 47 | After the end of the project, some students successfully |
| 48 | 48 | embraced opportunities in public and private sectors, within national borders |
| 49 | 49 | and abroad. Some other students went further and started their own companies. |
| 50 | 50 | |
| 51 | -\textbf{How to introduce collaborative and agile | |
| 52 | -practices typical in FLOSS environments in the governmental development process?} | |
| 51 | +\textbf{How to introduce typical FLOSS collaborative and agile practices in the | |
| 52 | +governmental development process?} | |
| 53 | 53 | % |
| 54 | -With some adaptations, what we called the ``translation processes'', it is | |
| 54 | +With some adaptations, it is | |
| 55 | 55 | feasible to conciliate agile methodologies and FLOSS practices to develop |
| 56 | 56 | software to governmental organizations with functional hierarchical structures |
| 57 | 57 | that use traditional development paradigm. |
| 58 | 58 | % |
| 59 | -Aiming at reducing client questions about workconclusion, a DevOps front was | |
| 59 | +Aiming at reducing client questions about workconclusion, a DevOps team was | |
| 60 | 60 | created to automate all deploy process and also to work in continuous |
| 61 | -delivery. The government was brought to our work environment and interacted | |
| 61 | +delivery. The Government was brought to our work environment and interacted | |
| 62 | 62 | with our management and communication tools. For the project success, we |
| 63 | 63 | focused on providing a friendly working environment as well as on showing to |
| 64 | 64 | governmental agents another way to interact with the FLOSS community and the |
| 65 | 65 | university. |
| 66 | 66 | |
| 67 | -From the answers of our initial open questions, we can also highlighted six | |
| 67 | +\subsection{Lessons Learned} | |
| 68 | + | |
| 69 | +From the answers of our initial open questions, we also can highlighted six | |
| 68 | 70 | lessons learned to make easier to share our experience during the development |
| 69 | 71 | of the new SPB Portal. |
| 70 | 72 | |
| ... | ... | @@ -104,21 +106,22 @@ certain expectations about the project development that, let's say, did not |
| 104 | 106 | exactly match our work style based on agile and FLOSS practices. |
| 105 | 107 | % |
| 106 | 108 | We had to develop strategies that would support these different organizational |
| 107 | -cultures. Therefore, we have created ``translation processes'' between our team | |
| 108 | -and the MP managers who managed the project on their side, assuming a | |
| 109 | +cultures. Therefore, we have adapted the process between our team | |
| 110 | +and the Government managers who managed the project on their side, assuming a | |
| 109 | 111 | traditional waterfall process. |
| 110 | 112 | |
| 111 | 113 | \textbf{Managing higher-level and lower-level goals separately.} |
| 112 | 114 | % |
| 113 | -During the initial phase of the project, the MP team has brought strategic | |
| 114 | -discussions to technical/operational meetings that were supposed to be about | |
| 115 | -practical technical decisions. | |
| 115 | +During the initial phase of the project, the Brazilian Government team has | |
| 116 | +brought strategic discussions to technical/operational meetings that were | |
| 117 | +supposed to be about practical technical decisions. | |
| 116 | 118 | % |
| 117 | 119 | This produced a highly complex communication and management environment, |
| 118 | -overloading the professors because they were supposed for maintaining the MP | |
| 119 | -strategy synchronized with the implementation plans of the development team. | |
| 120 | -This was hard, especially because the aforementioned cultural mismatch. Mixing | |
| 121 | -both concerns in the same discussions caused confusion on both sides. | |
| 120 | +overloading the professors because they were supposed for maintaining the | |
| 121 | +Government strategy synchronized with the implementation plans of the | |
| 122 | +development team. This was hard, especially because the aforementioned | |
| 123 | +cultural mismatch. Mixing both concerns in the same discussions caused | |
| 124 | +confusion on both sides. | |
| 122 | 125 | % |
| 123 | 126 | From the middle of the project we were able to keep those concerns separated, |
| 124 | 127 | what eased the work of everyone involved. |
| ... | ... | @@ -126,40 +129,41 @@ what eased the work of everyone involved. |
| 126 | 129 | \textbf{Living with ill-advised political decisions.} |
| 127 | 130 | % |
| 128 | 131 | At the initial phases of the project, by political and personal motivation, the |
| 129 | -main stakeholders from the Brazilian government imposed the use of Colab to | |
| 132 | +main stakeholders from the Brazilian Government imposed the use of Colab to | |
| 130 | 133 | guide the development of the new SPB platform. Our team was totally against the |
| 131 | 134 | idea because we already knew that Colab was a very experimental project and its |
| 132 | -adoption could dramatically increase the project complexity. Even though we | |
| 133 | -provided technical reasons to not utilize Colab, the MP was adamant and we had | |
| 134 | -to manage this problem. We did massive changes to Colab, and at the end of the | |
| 135 | -project we have completely rewritten it to make it stable. It is important to | |
| 136 | -notice that the MP compelled us to accept a technical decision based only on | |
| 137 | -political interests, without considering all the resources that would be spent | |
| 138 | -due to that decision. At the end of the project, we verified that Colab indeed | |
| 139 | -consumed a vast amount of the budget and increased the project complexity. At | |
| 140 | -the end of the project and after our analysis on the decision made by the MP, | |
| 141 | -we understand that MP managers are capable of ignoring technical reasons in | |
| 142 | -favor of political decisions. | |
| 135 | +adoption could dramatically increase the project complexity. Even though, we | |
| 136 | +provided technical reasons to not utilize Colab, the Government was adamant and | |
| 137 | +we had to manage this problem. We did massive changes to Colab, and at the end | |
| 138 | +of the project we have completely rewritten it to make it stable. It is | |
| 139 | +important to notice that the Government compelled us to accept a technical | |
| 140 | +decision based only on political interests, without considering all the | |
| 141 | +resources that would be spent due to that decision. At the end of the project, | |
| 142 | +we verified that Colab indeed consumed a vast amount of the budget and | |
| 143 | +increased the project complexity. After our analysis on the decision made by | |
| 144 | +the Government, we understand that some Brazilian Government managers are | |
| 145 | +capable of ignoring technical reasons in favor of political decisions. | |
| 143 | 146 | |
| 144 | 147 | \textbf{Consider sustainability from the beginning.} |
| 145 | 148 | % |
| 146 | -In the process of deploying the SPB platform in the MP infrastructure we had to | |
| 147 | -interact with the MP technicians. We did several workshops, training and a | |
| 148 | -meticulous documentation describing all the required procedures to update the | |
| 149 | -platform, however, we realized that the MP technicians constantly avoid the | |
| 150 | -responsibility. After noticing the aforementioned situation, we organized a | |
| 151 | -DevOps team that completely automated all the deployment procedure. We | |
| 152 | -simplified all the platform deployment to a few steps: (1) initial | |
| 153 | -configurations (just ssh configuration) and (2) the execution of simple | |
| 154 | -commands to completely update the platform. By the end of the project, we | |
| 155 | -observed that the MP technicians invariably still depended on our support to | |
| 156 | -update the platform even with all the automation provided by us. We were sadly | |
| 157 | -left with a feeling of uncertainty about the future of the platform after the | |
| 158 | -project ended. In hindsight, we realize that the MP dedicated system analysts | |
| 159 | -and managers to the project, but not operations technicians. The later should | |
| 160 | -have been more involved with the process so they could at least be comfortable | |
| 161 | -in managing the platform infrastructure. | |
| 162 | - | |
| 149 | +In the process of deploying the SPB platform in the Brazilian Government | |
| 150 | +infrastructure we had to interact with the Government technicians. We did | |
| 151 | +several workshops, training and a meticulous documentation describing all the | |
| 152 | +required procedures to update the platform, however, we realized that they | |
| 153 | +constantly avoid the responsibility. After noticing the aforementioned | |
| 154 | +situation, we organized a DevOps team that completely automated all the | |
| 155 | +deployment procedure. We simplified all the platform deployment to a few steps: | |
| 156 | +(i) initial configurations (just ssh configuration) and (ii) the execution of | |
| 157 | +simple commands to completely update the platform. By the end of the project, | |
| 158 | +we observed that the Government technicians invariably still depended on our | |
| 159 | +support to update the platform even with all the automation provided by us. We | |
| 160 | +were sadly left with a feeling of uncertainty about the future of the platform | |
| 161 | +after the project ended. In hindsight, we realize that the Brazilian Government | |
| 162 | +dedicated system analysts and managers to the project, but not operations | |
| 163 | +technicians. The later should have been more involved with the process so they | |
| 164 | +could at least be comfortable in managing the platform infrastructure. | |
| 165 | + | |
| 166 | +\subsection{Final Remarks and Future Work} | |
| 163 | 167 | |
| 164 | 168 | Ultimately, the SPB portal is in |
| 165 | 169 | production\footnote{\url{https://softwarepublico.gov.br}} and its full | ... | ... |