Compare View

switch
from
...
to
 
Commits (3)
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