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 | 1 | \section{Lessons Learned} |
2 | 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 | 5 | real customers.} |
6 | 6 | % |
7 | 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 | 10 | managers from the Brazilian Government, and the management team from |
11 | 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 | 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 | 18 | \textbf{The participation of experienced professionals is crucial to |
19 | -success of the project.} | |
19 | +the success of the project.} | |
20 | 20 | One important factor for the students was the composition of the teams |
21 | 21 | with the participation of experienced professionals. |
22 | 22 | % |
... | ... | @@ -27,7 +27,7 @@ pressure. |
27 | 27 | % |
28 | 28 | On the management side, the active participation of professors -- who |
29 | 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 | 31 | instance of leading by example. |
32 | 32 | |
33 | 33 | \textbf{A balanced relationship between academia and industry.} |
... | ... | @@ -47,66 +47,66 @@ And even under a potentially adverse environment, the project delivered |
47 | 47 | the desired solution with success. |
48 | 48 | % |
49 | 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 | 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 | 56 | \textbf{Managing different organizational cultures.} |
57 | 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 | 62 | organizational cultures. As reported in Section \ref{sec:process}, the |
63 | 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 | 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 | 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 | 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 | 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 | 82 | concerns separated, what eased the work of everyone involved. |
83 | 83 | |
84 | 84 | \textbf{Living with ill-advised political decisions.} |
85 | 85 | At the initial phases of the project, by political and personal |
86 | 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 | 88 | team was totally against the idea because we already knew that Colab was |
89 | 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 | 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 | 96 | all the resources that would be spent due to that decision. At the end |
97 | 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 | 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 | 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 | 105 | to interact with the MP technicians. We did several workshops, training |
106 | 106 | and a meticulous documentation describing all the required procedures to |
107 | 107 | update the platform, however, we realized that the MP technicians |
108 | 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 | 110 | the deployment procedure. We simplified all the platform deployment to a |
111 | 111 | few steps: (1) initial configurations (just ssh configuration) and (2) |
112 | 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 | 114 | still depended on our support to update the platform even with all the |
115 | 115 | automation provided by us. We were sadly left with a feeling of |
116 | 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 | 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 | 4 | In this paper we presented and discussed issues experienced during a government-funded |
5 | 5 | project, in partnership with the University of Brasilia and the University of |
6 | 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 | 35 | embraced opportunities in public and private sectors, within national borders |
23 | 36 | and abroad. Some other students went further and started their own companies. |
37 | + | |
24 | 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 | 40 | governmental organizations with functional hierarchical structures that use |
27 | 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 | 50 | \leo{Padronziar uso FOSS vs FLOSS. Qual vcs preferem?} |
30 | 51 | |
31 | 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 | 54 | governmental development process. For this, we would conduce a \textit{postmortem} |
34 | 55 | analysis using the project open data and a survey targeting the involved actors. |
35 | 56 | |
57 | +\textbf{Final remarks} | |
36 | 58 | |
37 | 59 | The portal is available at \url{softwarepublico.gov.br}. All |
38 | 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 | 66 | contributed these features back to the respective communities, which |
45 | 67 | benefits both those communities and us, since we can share future |
46 | 68 | development and maintenance effort with other organizations that |
47 | -participate in these projects. | |
69 | +participate in these projects. | |
48 | 70 | |
49 | 71 | %=========== |
50 | 72 | % Conclusion | ... | ... |