Commit 9ab724123c1cce1733d59b45ebfa0100ce15fc5e
Exists in
master
and in
3 other branches
Merge branch 'master' into 'master'
[OpenSym] Revisão de lessons learned (revisão geral de texto #20) See merge request !3
Showing
1 changed file
with
40 additions
and
40 deletions
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 | ... | ... |