Commit 7612a3435738dfcd07f59ce4e8dcfc19c6e14b02
1 parent
c14ebb78
Exists in
master
and in
3 other branches
[ieeeSW] Reviewing the introduction again
Showing
1 changed file
with
51 additions
and
50 deletions
Show diff stats
ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md
... | ... | @@ -14,26 +14,27 @@ understand how important the CD adoption is to their projects. |
14 | 14 | ## Introduction and Context |
15 | 15 | |
16 | 16 | We worked on a three-year-long Brazilian government project to evolve an |
17 | -existing platform that had technical issues and lacked political support. | |
18 | -The evolution project started in a presidential election year and everyone | |
19 | -involved were under pressure to show results.Even with the re-election of | |
20 | -the Brazilian President in 2014, leaderships in governmental agencies end | |
21 | -up changing. Each one of them had different political agendas which caused | |
22 | -impacts on the requirements previously approved. Despite this scenario of | |
23 | -instability, we managed to avoid delays in the delivery schedule and to | |
24 | -prevent the abortion of the project. | |
17 | +existing platform that had technical issues and lacked political support. The | |
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 | |
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 | |
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. | |
25 | 25 | |
26 | 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 | -SPB Portal evolved to a Collaborative Development Environment [1] and this evolution brought about important | |
30 | -benefits not just to the Brazilian government, but also to society as a whole. | |
31 | -For the government, the bureaucracy on using the same software across | |
32 | -governmental agencies, duplicate works, and costs all were reduced. The society | |
33 | -gained a transparency and collaboration mechanism, since anyone can check the | |
34 | -government expenses on software and contribute to the software communities. To | |
35 | -achieve these goals, rather than writing everything from scratch, we decided to | |
36 | -integrate free software tools such as Gitlab (www.gitlab.com), Mailman | |
29 | +SPB Portal evolved to a Collaborative Development Environment [1] and this | |
30 | +evolution brought about important benefits not just to the Brazilian | |
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, | |
36 | +rather than writing everything from scratch, we decided to integrate several | |
37 | +free software tools such as Gitlab (www.gitlab.com), Mailman | |
37 | 38 | (www.gnu.org/software/mailman), Noosfero (www.noosfero.org), and Colab |
38 | 39 | (www.github.com/colab). |
39 | 40 | |
... | ... | @@ -44,14 +45,14 @@ members, and communicating effectively with clients (in this particular case, |
44 | 45 | government agents). Managing the interaction of these elements was not easy and |
45 | 46 | the unstable Brazilian political scenario only made things worse. |
46 | 47 | |
47 | -To achieve the SPB project goals, we had to overcome strong political bias | |
48 | -tied with complicated technical issues and relatively low budget. Because it is | |
49 | -open to the public, the government representatives have seen the platform as a | |
50 | -marketing opportunity and have often ignored the technical advice in favor | |
51 | -of political decisions. Furthermore, integrating a number of distinct systems | |
52 | -to work seamlessly was not an easy job. We had to learn how each system worked | |
53 | -and to come up with ideas of how to integrate them as fast as possible, with a | |
54 | -team of mostly inexperienced developers. | |
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 | |
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 | |
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 | |
54 | +to come up with ideas of how to integrate them as fast as possible, with a team | |
55 | +of mostly inexperienced developers. | |
55 | 56 | |
56 | 57 | We also had to manage the diversity of the SPB team members. This team was |
57 | 58 | composed of approximately 50 undergraduate students (not all simultaneously) |
... | ... | @@ -64,33 +65,33 @@ undergraduate students and address hard tasks. Finally, professors were |
64 | 65 | responsible for interacting with the Brazilian government and controlling the |
65 | 66 | political pressures applied to the project. |
66 | 67 | |
67 | -The third point to be handled was the communication with two independent | |
68 | -groups of government representatives: requirements analysts and deployment | |
68 | +The third point to be handled was the communication with two independent groups | |
69 | +of government representatives: requirements analysts and deployment | |
69 | 70 | technicians. Requirements analysts were the real representatives of the |
70 | -Brazilian government in the project and their function was to test new features, to provide | |
71 | -feedback to the development team and to report for directors. Deployment | |
72 | -technicians were in charge of accessing the host machines wherein SPB platform was running. They were, | |
73 | -theoretically, responsible for deploying the project. However, the new SPB | |
74 | -Portal was composed of more than ten different software projects, | |
75 | -generating a complex deploy process working on seven servers. | |
76 | - | |
77 | -To handle the interaction between these three elements, we realised we needed to take control over the deployment | |
78 | -process. We used CD as a mean to fulfill the government expectations and to | |
79 | -provide quick response to their requests, which were influenced most of the | |
80 | -time by the uncertainties of project continuity. We believed we would keep | |
81 | -the project alive, even in a politically unstable and technically complex scenario. | |
82 | -For this reason, we worked hard to automate all deploy process; for | |
83 | -instance, one of our senior developers created a Chef-Server | |
84 | -(www.chef.io/chef) front-end tool called Chake (www.gitlab.com/terceiro/chake) | |
85 | -to help us to manage the multiple hosts needed for the project. | |
86 | -We also formed a specific team dedicated to the deployment process. We also formed | |
87 | -a specific team dedicated to the deployment process. This team was responsible | |
88 | -for maturing our CD pipeline, giving us confidence and agility to comply with | |
89 | -government requirements. | |
90 | - | |
91 | -In this report, we describe our CD pipeline and how it improved our delivery performance. | |
92 | -The CD made us adaptable for all requested changes and helped us to | |
93 | -mitigate those aforementioned political challenges besides the technical | |
71 | +Brazilian government in the project and their function 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 accessing the host | |
74 | +machines wherein SPB platform was running. They were, theoretically, | |
75 | +responsible for deploying the project. However, the new SPB Portal was composed | |
76 | +of more than ten different software projects, generating a complex deploy | |
77 | +process working on seven servers. | |
78 | + | |
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 | |
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 | |
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 | |
85 | +automate all deploy process; for instance, one of our senior developers created | |
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 | |
88 | +for the project. We also formed a specific team dedicated to the deployment | |
89 | +process. This team was responsible for maturing our CD pipeline, giving us | |
90 | +confidence and agility to comply with government requirements. | |
91 | + | |
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 | |
94 | +to mitigate those aforementioned political challenges besides the technical | |
94 | 95 | issues. Among CD’s known benefits[2], we also explain those that were the most |
95 | 96 | important in the project scenario for us: improving customer satisfaction and |
96 | 97 | making reliable releases. Both kept the project alive for more two years during | ... | ... |