Commit e5b17e03d283a0baf5b31e1b1c18ca7cabd372a9
1 parent
e91785a4
Exists in
master
revisando lessons learned
Showing
1 changed file
with
40 additions
and
40 deletions
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 |