Compare View
Commits (3)
-
[OpenSym] Leonardo's review - abstract, introduction, conclusion and bib See merge request !2
Showing
2 changed files
Show diff stats
opensym2017/content/11-lessons.tex
1 | \section{Lessons Learned} | 1 | \section{Lessons Learned} |
2 | \label{sec:lessons} | 2 | \label{sec:lessons} |
3 | 3 | ||
4 | -\textbf{How to involve students real-world projects, interacting with | 4 | +\textbf{How to involve students in real-world projects, interacting with |
5 | real customers.} | 5 | real customers.} |
6 | % | 6 | % |
7 | Our team was mainly composed of software engineering undergraduate | 7 | Our team was mainly composed of software engineering undergraduate |
8 | -student, who had the opportunity to interact with senior developers and | ||
9 | -designers inside the team, as well as with the team of technicians and | 8 | +students, who had the opportunity to interact with senior developers and |
9 | +designers on the team, as well as with the team of technicians and | ||
10 | managers from the Brazilian Government, and the management team from | 10 | managers from the Brazilian Government, and the management team from |
11 | UnB. | 11 | UnB. |
12 | % | 12 | % |
13 | -They interacted with professionals that had diverse expertises, and were | 13 | +The students interacted with professionals of diverse fields of expertise, and they were |
14 | able to participate in all levels of the software development process. | 14 | able to participate in all levels of the software development process. |
15 | -This contributed to a great learning opportunity, and for a majority of | ||
16 | -them this was their first professional experience. | 15 | +This contributed to a great learning opportunity. Moreover, for the majority of |
16 | +the students, this was a first professional experience. | ||
17 | 17 | ||
18 | \textbf{The participation of experienced professionals is crucial to | 18 | \textbf{The participation of experienced professionals is crucial to |
19 | -success of the project.} | 19 | +the success of the project.} |
20 | One important factor for the students was the composition of the teams | 20 | One important factor for the students was the composition of the teams |
21 | with the participation of experienced professionals. | 21 | with the participation of experienced professionals. |
22 | % | 22 | % |
@@ -27,7 +27,7 @@ pressure. | @@ -27,7 +27,7 @@ pressure. | ||
27 | % | 27 | % |
28 | On the management side, the active participation of professors -- who | 28 | On the management side, the active participation of professors -- who |
29 | are, in the end, the ones responsible for the project -- is crucial to | 29 | are, in the end, the ones responsible for the project -- is crucial to |
30 | -make sure student participation is conducted in a healthy way, and is an | 30 | +make sure students participation is conducted in a healthy way, and it is an |
31 | instance of leading by example. | 31 | instance of leading by example. |
32 | 32 | ||
33 | \textbf{A balanced relationship between academia and industry.} | 33 | \textbf{A balanced relationship between academia and industry.} |
@@ -47,66 +47,66 @@ And even under a potentially adverse environment, the project delivered | @@ -47,66 +47,66 @@ And even under a potentially adverse environment, the project delivered | ||
47 | the desired solution with success. | 47 | the desired solution with success. |
48 | % | 48 | % |
49 | At the end of the project, we noted that the skills developed by the | 49 | At the end of the project, we noted that the skills developed by the |
50 | -students were at the state of art of the software engineering practice. | 50 | +students were at the software engineering state of the art. |
51 | After the project ended, we had team members successfully embracing | 51 | After the project ended, we had team members successfully embracing |
52 | -opportunities in public, private, national and international | ||
53 | -organizations, in addition to those students that went into | ||
54 | -entrepreneurship and opened their own companies. | 52 | +opportunities in public, private, national, and international |
53 | +organizations, in addition to those students that | ||
54 | +opened their own companies. | ||
55 | 55 | ||
56 | \textbf{Managing different organizational cultures.} | 56 | \textbf{Managing different organizational cultures.} |
57 | In the beginning of the project, the Brazilian Government stakeholders | 57 | In the beginning of the project, the Brazilian Government stakeholders |
58 | -had certain expectations about the development of project that, let's | ||
59 | -say, didn't exactly match our work based on agile and FOSS practices. | 58 | +had certain expectations about the project development that, let's |
59 | +say, didn't exactly match our work style based on agile and FOSS practices. | ||
60 | % | 60 | % |
61 | -We had to develop strategies that would support different these | 61 | +We had to develop strategies that would support these different |
62 | organizational cultures. As reported in Section \ref{sec:process}, the | 62 | organizational cultures. As reported in Section \ref{sec:process}, the |
63 | MP is organized in a functional hierarchical organizational structure, | 63 | MP is organized in a functional hierarchical organizational structure, |
64 | -typically, a traditional development paradigm. Therefore, we had to | 64 | +typically adopting a traditional development paradigm. Therefore, we had to |
65 | create a translation process between our team and the MP managers who | 65 | create a translation process between our team and the MP managers who |
66 | -managed the project on their side assuming a traditional, waterfall | 66 | +managed the project on their side assuming a traditional waterfall |
67 | process. | 67 | process. |
68 | 68 | ||
69 | -\textbf{Manage higher-level and lower-level goals separately.} | ||
70 | -During the initial phase of the project the MP team would often bring | ||
71 | -strategic discussions to technical/operational meetings, where we were | ||
72 | -supposed to discuss practical, technical decisions. | 69 | +\textbf{Managing higher-level and lower-level goals separately.} |
70 | +During the initial phase of the project, the MP team has brought | ||
71 | +strategic discussions to technical/operational meetings that | ||
72 | +were supposed to be about practical technical decisions. | ||
73 | % | 73 | % |
74 | This produced a highly complex communication and management environment, | 74 | This produced a highly complex communication and management environment, |
75 | -overloading the professors because they were supposed to be responsible | ||
76 | -for maintaining the strategic alignment of the MP synchronized with | ||
77 | -implementation plans of the development team, specially in light of the | ||
78 | -aforementioned culture mismatch. Mixing both concerns in the same | 75 | +overloading the professors because they were supposed |
76 | +for maintaining the MP strategy synchronized with the | ||
77 | +implementation plans of the development team. This was hard, especially because the | ||
78 | +aforementioned cultural mismatch. Mixing both concerns in the same | ||
79 | discussions caused confusion on both sides. | 79 | discussions caused confusion on both sides. |
80 | % | 80 | % |
81 | -Towards the middle and end of the project we were able to keep those | 81 | +From the middle of the project we were able to keep those |
82 | concerns separated, what eased the work of everyone involved. | 82 | concerns separated, what eased the work of everyone involved. |
83 | 83 | ||
84 | \textbf{Living with ill-advised political decisions.} | 84 | \textbf{Living with ill-advised political decisions.} |
85 | At the initial phases of the project, by political and personal | 85 | At the initial phases of the project, by political and personal |
86 | motivation, the main stakeholders from the Brazilian government imposed | 86 | motivation, the main stakeholders from the Brazilian government imposed |
87 | -the use of Colab to guide the development of the new SPB platform. Our | 87 | +the use of Colab to guide the development of the new SPB platform. Our |
88 | team was totally against the idea because we already knew that Colab was | 88 | team was totally against the idea because we already knew that Colab was |
89 | a very experimental project and its adoption could dramatically increase | 89 | a very experimental project and its adoption could dramatically increase |
90 | -the project complexity. Even though we provided technical reasons to | ||
91 | -not utilize Colab, MP was adamant and we had to manage this problem. As | ||
92 | -explained in section \ref{sec:architecture} we did massive changes to | ||
93 | -it, and at the end of the project we completely rewrote Colab and made | 90 | +the project complexity. Even though we provided technical reasons to |
91 | +not utilize Colab, the MP was adamant and we had to manage this problem. As | ||
92 | +explained in section \ref{sec:architecture}, we did massive changes to | ||
93 | +Colab, and at the end of the project we have completely rewritten it to make | ||
94 | it stable. It is important to notice that the MP compelled us to accept | 94 | it stable. It is important to notice that the MP compelled us to accept |
95 | -a technical issue based only on political interests, without considering | 95 | +a technical decision based only on political interests, without considering |
96 | all the resources that would be spent due to that decision. At the end | 96 | all the resources that would be spent due to that decision. At the end |
97 | of the project, we verified that Colab indeed consumed a vast amount of | 97 | of the project, we verified that Colab indeed consumed a vast amount of |
98 | -the budget and increased the project complexity. In the end of the | 98 | +the budget and increased the project complexity. At the end of the |
99 | project and after our analysis on the decision made by the MP, we | 99 | project and after our analysis on the decision made by the MP, we |
100 | -understand that MP's managers are capable of ignoring technical reasons | ||
101 | -in favor to a political decision. | 100 | +understand that MP managers are capable of ignoring technical reasons |
101 | +in favor of political decisions. | ||
102 | 102 | ||
103 | \textbf{Consider sustainability from the beginning.} | 103 | \textbf{Consider sustainability from the beginning.} |
104 | -In the process of deploying the SPB platform in the MP structure, we had | 104 | +In the process of deploying the SPB platform in the MP infrastructure we had |
105 | to interact with the MP technicians. We did several workshops, training | 105 | to interact with the MP technicians. We did several workshops, training |
106 | and a meticulous documentation describing all the required procedures to | 106 | and a meticulous documentation describing all the required procedures to |
107 | update the platform, however, we realized that the MP technicians | 107 | update the platform, however, we realized that the MP technicians |
108 | constantly avoid the responsibility. After noticing the aforementioned | 108 | constantly avoid the responsibility. After noticing the aforementioned |
109 | -situation, we organized a specific DevOps that completely automated all | 109 | +situation, we organized a DevOps team that completely automated all |
110 | the deployment procedure. We simplified all the platform deployment to a | 110 | the deployment procedure. We simplified all the platform deployment to a |
111 | few steps: (1) initial configurations (just ssh configuration) and (2) | 111 | few steps: (1) initial configurations (just ssh configuration) and (2) |
112 | the execution of simple commands to completely update the platform. By | 112 | the execution of simple commands to completely update the platform. By |
@@ -114,8 +114,8 @@ the end of the project, we observed that the MP technicians invariably | @@ -114,8 +114,8 @@ the end of the project, we observed that the MP technicians invariably | ||
114 | still depended on our support to update the platform even with all the | 114 | still depended on our support to update the platform even with all the |
115 | automation provided by us. We were sadly left with a feeling of | 115 | automation provided by us. We were sadly left with a feeling of |
116 | uncertainty about the future of the platform after the project ended. In | 116 | uncertainty about the future of the platform after the project ended. In |
117 | -hindsight, we realize that the MP dedicated systems analysts and | 117 | +hindsight, we realize that the MP dedicated system analysts and |
118 | managers to the project, but not operations technicians. The later | 118 | managers to the project, but not operations technicians. The later |
119 | -should have been more involved with the process so they could at least | ||
120 | -comfortable with managing the platform infrastructure. | 119 | +should have been more involved with the process so they could at least be |
120 | +comfortable in managing the platform infrastructure. | ||
121 | 121 |
opensym2017/content/12-conclusion.tex
@@ -4,35 +4,57 @@ | @@ -4,35 +4,57 @@ | ||
4 | In this paper we presented and discussed issues experienced during a government-funded | 4 | In this paper we presented and discussed issues experienced during a government-funded |
5 | project, in partnership with the University of Brasilia and the University of | 5 | project, in partnership with the University of Brasilia and the University of |
6 | São Paulo, to evolve the Brazilian Public Software Portal. | 6 | São Paulo, to evolve the Brazilian Public Software Portal. |
7 | - | ||
8 | -The contributions of this paper are twofold. First, we presented how an unprecedented | ||
9 | -platform was developed and delivered to the Brazilian government. This | ||
10 | -platform - developed by a heterogeneous team of professors, masters and | ||
11 | -undergraduate students, IT professionals, and governmental managers - provides | ||
12 | -several modern features for the integration of more than 10 FLOSS systems. | ||
13 | - | ||
14 | -Second, the experience in the SPB Portal project pointed | ||
15 | -out that it is possible to mitigate conflicts in the development environment | ||
16 | -and to conciliate governmental and academy cultures. The team was engaged in | ||
17 | -providing a friendly working environment as well as in showing to governmental agents | ||
18 | -another way to interact with the FLOSS community and the university. In the paper, | ||
19 | -we tried to show that, as long as the institution can provide a healthy and challenging | ||
20 | -environment to its students, one may conciliate studies and professional training | ||
21 | -in universities. After the end of the project, some students successfully | 7 | +Its contributions are twofold. First, we present the strategy used to develop |
8 | +and to deliver an unprecedented platform to Brazilian government. Second, | ||
9 | +based on the results of the SPB Portal project, we point out that it is | ||
10 | +possible to mitigate conflicts experienced in the development environment | ||
11 | +and to conciliate governmental and academy cultures. | ||
12 | + | ||
13 | +The SPB portal integrates more than 10 FOSS tools and provides several features, | ||
14 | +such as social network, mailing list, version control, content management and | ||
15 | +source code quality monitoring. Concerned with the platform susteinability and | ||
16 | +maintainabilty, the aforementioned 10 FOSS tools were integrated with minimum | ||
17 | +differences from their official versions and the new developed features were | ||
18 | +sent upstream to ensure an alignment between the portal systems and their | ||
19 | +respective official versions. In the integration process, the main softwares | ||
20 | +were identified, specific teams were formed to work with each one of them | ||
21 | +and each team was composed of students with different levels of skills and at | ||
22 | +least one senior professional. | ||
23 | + | ||
24 | +In terms of mitigating conflicts, we tried to show that, as long as the | ||
25 | +institution can provide a healthy and challenging environment to its students, | ||
26 | +one may conciliate studies and professional training in universities. | ||
27 | +In our work process, based on open and collaborative software development | ||
28 | +practices, students could negotiate their work schedule as well as count on IT | ||
29 | +professionals to solve development issues. | ||
30 | +Among the students, we have defined coachs for each team and a meta-coach | ||
31 | +(coach of whole project). All coaches, together with professors, have | ||
32 | +intermediated the comunication between client (Ministry of Planning of Brasil) | ||
33 | +and the rest of the group. | ||
34 | +After the end of the project, some students successfully | ||
22 | embraced opportunities in public and private sectors, within national borders | 35 | embraced opportunities in public and private sectors, within national borders |
23 | and abroad. Some other students went further and started their own companies. | 36 | and abroad. Some other students went further and started their own companies. |
37 | + | ||
24 | We also demonstrate that, with some adaptations/"translation processes", it is feasible | 38 | We also demonstrate that, with some adaptations/"translation processes", it is feasible |
25 | -to conciliate agile methodologies and FOSS practices in order to develop software to | 39 | +to conciliate agile methodologies and FOSS practices to develop software to |
26 | governmental organizations with functional hierarchical structures that use | 40 | governmental organizations with functional hierarchical structures that use |
27 | traditional development paradigm. | 41 | traditional development paradigm. |
42 | +Aiming at reducing client questions about workconclusion, a DevOps front was | ||
43 | +created to automate all deploy process and also to work in continuous | ||
44 | +delivery. The government was brought to our work environment and interacted | ||
45 | +with our management and comunication tools. For the project success, we | ||
46 | +focused on providing a friendly working environment as well as on showing to | ||
47 | +governmental agents another way to interact with the FLOSS community and the | ||
48 | +university. | ||
28 | 49 | ||
29 | \leo{Padronziar uso FOSS vs FLOSS. Qual vcs preferem?} | 50 | \leo{Padronziar uso FOSS vs FLOSS. Qual vcs preferem?} |
30 | 51 | ||
31 | Future work should use data produced by the project to validate and evaluate | 52 | Future work should use data produced by the project to validate and evaluate |
32 | -how the used FLOSS and Agile practices have impacted the students and also the | 53 | +how the used FOSS and Agile practices have impacted the students and the |
33 | governmental development process. For this, we would conduce a \textit{postmortem} | 54 | governmental development process. For this, we would conduce a \textit{postmortem} |
34 | analysis using the project open data and a survey targeting the involved actors. | 55 | analysis using the project open data and a survey targeting the involved actors. |
35 | 56 | ||
57 | +\textbf{Final remarks} | ||
36 | 58 | ||
37 | The portal is available at \url{softwarepublico.gov.br}. All | 59 | The portal is available at \url{softwarepublico.gov.br}. All |
38 | documentation, including detailed architecture and operation manuals are | 60 | documentation, including detailed architecture and operation manuals are |
@@ -44,7 +66,7 @@ in open repositories, available on the SPB Portal itself. We also | @@ -44,7 +66,7 @@ in open repositories, available on the SPB Portal itself. We also | ||
44 | contributed these features back to the respective communities, which | 66 | contributed these features back to the respective communities, which |
45 | benefits both those communities and us, since we can share future | 67 | benefits both those communities and us, since we can share future |
46 | development and maintenance effort with other organizations that | 68 | development and maintenance effort with other organizations that |
47 | -participate in these projects. | 69 | +participate in these projects. |
48 | 70 | ||
49 | %=========== | 71 | %=========== |
50 | % Conclusion | 72 | % Conclusion |