Commit 9ab502d7548f0cb82966618818113ccd9bb3bfbc
1 parent
a2245409
Exists in
master
and in
3 other branches
[ieeeSW] Review introduction and context
Showing
1 changed file
with
18 additions
and
18 deletions
Show diff stats
ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md
@@ -17,11 +17,11 @@ We worked on a three-year-long Brazilian government project to evolve an | @@ -17,11 +17,11 @@ We worked on a three-year-long Brazilian government project to evolve an | ||
17 | existing platform that had technical issues and lacked political support. The | 17 | existing platform that had technical issues and lacked political support. The |
18 | evolution project started in a presidential election year and everyone involved | 18 | evolution project started in a presidential election year and everyone involved |
19 | were under pressure to show results. Even with the re-election of the Brazilian | 19 | were under pressure to show results. Even with the re-election of the Brazilian |
20 | -President in 2014, leaderships in governmental agencies end up changing. Each | ||
21 | -one of them had different political agendas which caused impacts on the | 20 | +President in 2014, leaderships in governmental agencies ended up changing. Each |
21 | +one of them had different political agendas which affected the project's | ||
22 | requirements previously approved. Despite this scenario of instability, we | 22 | requirements previously approved. Despite this scenario of instability, we |
23 | -managed to avoid delays in the delivery schedule and to prevent the abortion of | ||
24 | -the project. | 23 | +managed to avoid delays in the delivery schedule and to prevent the project's |
24 | +cancellation. | ||
25 | 25 | ||
26 | Our team from the University of Brasília (UnB) and the University of São Paulo | 26 | Our team from the University of Brasília (UnB) and the University of São Paulo |
27 | (USP) developed the new platform for the Brazilian Public Software (SPB, | 27 | (USP) developed the new platform for the Brazilian Public Software (SPB, |
@@ -39,16 +39,16 @@ free software tools such as Gitlab (www.gitlab.com), Mailman | @@ -39,16 +39,16 @@ free software tools such as Gitlab (www.gitlab.com), Mailman | ||
39 | (www.github.com/colab). | 39 | (www.github.com/colab). |
40 | 40 | ||
41 | During the entire SPB Portal evolution project, we had to handle three distinct | 41 | During the entire SPB Portal evolution project, we had to handle three distinct |
42 | -issues, usual in a software engineering scenario: reaching the goals which have | 42 | +issues, usual in a software engineering scenario: achieving the goals which have |
43 | guided the platform development, managing the diversity of team project | 43 | guided the platform development, managing the diversity of team project |
44 | -members, and communicating effectively with clients (in this particular case, | ||
45 | -government agents). Managing the interaction of these elements was not easy and | 44 | +members, and communicating effectively with clients (in this case, |
45 | +government agents). Handling the interaction of these elements was not easy and | ||
46 | the unstable Brazilian political scenario only made things worse. | 46 | the unstable Brazilian political scenario only made things worse. |
47 | 47 | ||
48 | To achieve the SPB project goals, we had to overcome strong political bias tied | 48 | To achieve the SPB project goals, we had to overcome strong political bias tied |
49 | -with complicated technical issues as well as relatively low budget. Because it | 49 | +with complicated technical issues and relatively low budget. Because it |
50 | is open to the public, the government representatives saw the platform as a | 50 | is open to the public, the government representatives saw the platform as a |
51 | -marketing opportunity and sometimes ignored the technical advice in favor of | 51 | +marketing opportunity and sometimes ignored technical advice in favor of |
52 | political decisions. Furthermore, integrating a number of distinct systems to | 52 | political decisions. Furthermore, integrating a number of distinct systems to |
53 | work seamlessly was not an easy job. We had to learn how each system worked and | 53 | work seamlessly was not an easy job. We had to learn how each system worked and |
54 | to come up with ideas of how to integrate them as fast as possible, with a team | 54 | to come up with ideas of how to integrate them as fast as possible, with a team |
@@ -56,9 +56,9 @@ of mostly inexperienced developers. | @@ -56,9 +56,9 @@ of mostly inexperienced developers. | ||
56 | 56 | ||
57 | We also had to manage the diversity of the SPB team members. This team was | 57 | We also had to manage the diversity of the SPB team members. This team was |
58 | composed of approximately 50 undergraduate students (not all simultaneously) | 58 | composed of approximately 50 undergraduate students (not all simultaneously) |
59 | -together with professors, masters students and professional designers as well | ||
60 | -as senior developers from the Brazilian free software community. Undergraduate | ||
61 | -students received a fellowship and, for most of them, this R&D project was | 59 | +together with professors, masters students, professional designers and |
60 | +senior developers from the Brazilian free software community. Undergraduate | ||
61 | +students received a scholarship and, for most of them, this R&D project was | ||
62 | their first professional experience. Seniors developers and masters students | 62 | their first professional experience. Seniors developers and masters students |
63 | had two important contributions to the project: transfer knowledge to | 63 | had two important contributions to the project: transfer knowledge to |
64 | undergraduate students and address hard tasks. Finally, professors were | 64 | undergraduate students and address hard tasks. Finally, professors were |
@@ -68,9 +68,9 @@ political pressures applied to the project. | @@ -68,9 +68,9 @@ political pressures applied to the project. | ||
68 | The third point to be handled was the communication with two independent groups | 68 | The third point to be handled was the communication with two independent groups |
69 | of government representatives: requirements analysts and deployment | 69 | of government representatives: requirements analysts and deployment |
70 | technicians. Requirements analysts were the real representatives of the | 70 | technicians. Requirements analysts were the real representatives of the |
71 | -Brazilian government in the project and their function was to test new | 71 | +Brazilian government in the project and their role was to test new |
72 | features, to provide feedback to the development team, and to report for the | 72 | features, to provide feedback to the development team, and to report for the |
73 | -government leaders. Deployment technicians were in charge of accessing the host | 73 | +government leaders. Deployment technicians were in charge of administering the host |
74 | machines wherein SPB platform was running. They were, theoretically, | 74 | machines wherein SPB platform was running. They were, theoretically, |
75 | responsible for deploying the project. However, the new SPB Portal was composed | 75 | responsible for deploying the project. However, the new SPB Portal was composed |
76 | of more than ten different software projects, generating a complex deployment | 76 | of more than ten different software projects, generating a complex deployment |
@@ -79,10 +79,10 @@ process, for instance, working on seven servers. | @@ -79,10 +79,10 @@ process, for instance, working on seven servers. | ||
79 | To handle the interaction between these three elements, we realised we needed | 79 | To handle the interaction between these three elements, we realised we needed |
80 | to take control over the deployment process. We used CD as a mean to fulfill | 80 | to take control over the deployment process. We used CD as a mean to fulfill |
81 | the government expectations and to provide quick response to their requests, | 81 | the government expectations and to provide quick response to their requests, |
82 | -which were influenced most of the time by the uncertainties of project | 82 | +which were influenced most of the time by the uncertainties of the project's |
83 | continuity. We believed we would keep the project alive, even in a politically | 83 | continuity. We believed we would keep the project alive, even in a politically |
84 | unstable and technically complex scenario. For this reason, we worked hard to | 84 | unstable and technically complex scenario. For this reason, we worked hard to |
85 | -automate all deploy process; for instance, one of our senior developers created | 85 | +automate the deploy process; for instance, one of our senior developers created |
86 | a Chef-Server (www.chef.io/chef) front-end tool called Chake | 86 | a Chef-Server (www.chef.io/chef) front-end tool called Chake |
87 | (www.gitlab.com/terceiro/chake) to help us to manage the multiple hosts needed | 87 | (www.gitlab.com/terceiro/chake) to help us to manage the multiple hosts needed |
88 | for the project. We also formed a specific team dedicated to the deployment | 88 | for the project. We also formed a specific team dedicated to the deployment |
@@ -91,7 +91,7 @@ confidence and agility to comply with government requirements. | @@ -91,7 +91,7 @@ confidence and agility to comply with government requirements. | ||
91 | 91 | ||
92 | In this report, we describe our CD pipeline and how it improved our delivery | 92 | In this report, we describe our CD pipeline and how it improved our delivery |
93 | performance. The CD made us adaptable for all requested changes and helped us | 93 | performance. The CD made us adaptable for all requested changes and helped us |
94 | -to mitigate those aforementioned political challenges, besides the technical | 94 | +mitigate those aforementioned political challenges, besides the technical |
95 | issues. Among CD’s known benefits [2], we also explain those which were the most | 95 | issues. Among CD’s known benefits [2], we also explain those which were the most |
96 | important in the project scenario for us: improving customer satisfaction and | 96 | important in the project scenario for us: improving customer satisfaction and |
97 | making reliable releases. Both kept the project alive for more two years during | 97 | making reliable releases. Both kept the project alive for more two years during |
@@ -271,7 +271,7 @@ political scenario. However, we recognize that many challenges still need to be | @@ -271,7 +271,7 @@ political scenario. However, we recognize that many challenges still need to be | ||
271 | addressed by the industry and academia together. | 271 | addressed by the industry and academia together. |
272 | 272 | ||
273 | ### Build CD from scratch | 273 | ### Build CD from scratch |
274 | - | 274 | + |
275 | Taking on CD responsibilities had a significant impact on the team. We did not | 275 | Taking on CD responsibilities had a significant impact on the team. We did not |
276 | have the know-how and had little time to come up with a working pipeline. The | 276 | have the know-how and had little time to come up with a working pipeline. The |
277 | senior developers were crucial at this point. They came up with an initial | 277 | senior developers were crucial at this point. They came up with an initial |