Commit 295eb86ba31fb02802de1ef648a0185f68d89ea6
1 parent
dc9068ba
Exists in
master
and in
3 other branches
[ieeeSW] Review introduction
Showing
1 changed file
with
29 additions
and
30 deletions
Show diff stats
ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md
... | ... | @@ -16,7 +16,7 @@ understand how important CD adoption is to their projects. |
16 | 16 | We worked on a three-year-long Brazilian government project to evolve an |
17 | 17 | existing platform that had technical issues and lacked political support. The |
18 | 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 | +was under pressure to show results. Even with the re-election of the Brazilian | |
20 | 20 | President in 2014, leaderships in governmental agencies ended up changing. Each |
21 | 21 | one of them had different political agendas which affected the project's |
22 | 22 | requirements previously approved. Despite this scenario of instability, we |
... | ... | @@ -27,26 +27,26 @@ Our team from the University of Brasília (UnB) and the University of São Paulo |
27 | 27 | (USP) developed the new platform for the Brazilian Public Software (SPB, |
28 | 28 | Portuguese acronym) Portal (www.softwarepublico.gov.br) from 2014 to 2016. The |
29 | 29 | SPB Portal evolved to a Collaborative Development Environment [1] and this |
30 | -evolution brought about important benefits not just to the Brazilian | |
30 | +evolution brought important benefits not just to the Brazilian | |
31 | 31 | government, but also to society as a whole. For the government, the |
32 | -bureaucracy on using the same software across governmental agencies, duplicate | |
33 | -works, and costs all were reduced. The society gained a transparency and | |
34 | -collaboration mechanism, since anyone can check the government expenses on | |
35 | -software and contribute to the software communities. To achieve these goals, | |
32 | +bureaucracy of using the same software across governmental agencies, duplicate | |
33 | +works, and costs were all reduced. The society gained a transparent and | |
34 | +collaborative mechanism, since anyone can check the government expenses on | |
35 | +software and contribute to software communities. To achieve these goals, | |
36 | 36 | rather than writing everything from scratch, we decided to integrate several |
37 | 37 | free software tools such as Gitlab (www.gitlab.com), Mailman |
38 | 38 | (www.gnu.org/software/mailman), Noosfero (www.noosfero.org), and Colab |
39 | 39 | (www.github.com/colab). |
40 | 40 | |
41 | -During the entire SPB Portal evolution project, we had to handle three distinct | |
42 | -issues, usual in a software engineering scenario: achieving the goals which have | |
43 | -guided the platform development, managing the diversity of team project | |
44 | -members, and communicating effectively with clients (in this case, | |
45 | -government agents). Handling the interaction of these elements was not easy and | |
41 | +During the entire SPB Portal evolution project, we overcame three distinct | |
42 | +issues, usual in a software engineering scenario: (i) achieving the goals which have | |
43 | +guided the platform development, (ii) managing the diversity of team | |
44 | +members, and (iii) communicating effectively with clients (in this case, | |
45 | +government agents). Handling the interaction of these elements was challenging and | |
46 | 46 | the unstable Brazilian political scenario only made things worse. |
47 | 47 | |
48 | 48 | To achieve the SPB project goals, we had to overcome strong political bias tied |
49 | -with complicated technical issues and relatively low budget. Because it | |
49 | +with complicated technical issues and relatively low budget. Because the project | |
50 | 50 | is open to the public, the government representatives saw the platform as a |
51 | 51 | marketing opportunity and sometimes ignored technical advice in favor of |
52 | 52 | political decisions. Furthermore, integrating a number of distinct systems to |
... | ... | @@ -54,47 +54,46 @@ work seamlessly was not an easy job. We had to learn how each system worked and |
54 | 54 | to come up with ideas of how to integrate them as fast as possible, with a team |
55 | 55 | 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 our team members. The team was | |
58 | 58 | composed of approximately 50 undergraduate students (not all simultaneously) |
59 | -together with professors, masters students, professional designers and | |
59 | +together with professors, master students, professional designers and | |
60 | 60 | senior developers from the Brazilian free software community. Undergraduate |
61 | 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. Senior developers and master students | |
63 | 63 | had two important contributions to the project: transfer knowledge to |
64 | -undergraduate students and address hard tasks. Finally, professors were | |
65 | -responsible for interacting with the Brazilian government and controlling the | |
64 | +undergraduate students and more complex tasks. Finally, professors were | |
65 | +responsible for interacting with the Brazilian government and controlling | |
66 | 66 | political pressures applied to the project. |
67 | 67 | |
68 | -The third point to be handled was the communication with two independent groups | |
69 | -of government representatives: requirements analysts and deployment | |
70 | -technicians. Requirements analysts were the real representatives of the | |
68 | +Moreover, we needed to communicate with two independent groups | |
69 | +of government representatives. Requirement analysts were real representatives of the | |
71 | 70 | 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 | |
73 | -government leaders. Deployment technicians were in charge of administering the host | |
71 | +features, to provide feedback to the development team, and to report to | |
72 | +government leaders. Deployment technicians were in charge of managing the host | |
74 | 73 | machines wherein SPB platform was running. They were, theoretically, |
75 | 74 | responsible for deploying the project. However, the new SPB Portal was composed |
76 | -of more than ten different software projects, generating a complex deployment | |
77 | -process, for instance, working on seven servers. | |
75 | +of more than ten different software projects, working on seven servers, generating a complex deployment | |
76 | +process. | |
78 | 77 | |
79 | 78 | To handle the interaction between these three elements, we realised we needed |
80 | 79 | to take control over the deployment process. We used CD as a mean to fulfill |
81 | 80 | the government expectations and to provide quick response to their requests, |
82 | 81 | which were influenced most of the time by the uncertainties of the project's |
83 | 82 | 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 | |
83 | +unstable and technically complex scenario. For this reason, we focused on automating | |
85 | 84 | automate the deploy process; for instance, one of our senior developers created |
86 | 85 | 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 | |
86 | +(www.gitlab.com/terceiro/chake) to help us manage the multiple hosts needed | |
88 | 87 | for the project. We also formed a specific team dedicated to the deployment |
89 | 88 | process. This team was responsible for maturing our CD pipeline, giving us |
90 | 89 | confidence and agility to comply with government requirements. |
91 | 90 | |
92 | 91 | 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 | |
92 | +performance. Continuous Delivery made us adaptable for all requested changes and helped us | |
94 | 93 | mitigate those aforementioned political challenges, besides the technical |
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 | |
97 | -making reliable releases. Both kept the project alive for more two years during | |
94 | +issues. Among CD’s known benefits [2] we also explain those which were the most | |
95 | +important in our scenario: improving customer satisfaction and | |
96 | +making reliable releases. Both kept the project alive for years during | |
98 | 97 | the worst political crisis after the re-democratization in Brazil. |
99 | 98 | |
100 | 99 | ## Our Continuous Delivery Pipeline | ... | ... |