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,26 +14,27 @@ understand how important the CD adoption is to their projects. | ||
14 | ## Introduction and Context | 14 | ## Introduction and Context |
15 | 15 | ||
16 | We worked on a three-year-long Brazilian government project to evolve an | 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 | 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, |
28 | Portuguese acronym) Portal (www.softwarepublico.gov.br) from 2014 to 2016. The | 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 | (www.gnu.org/software/mailman), Noosfero (www.noosfero.org), and Colab | 38 | (www.gnu.org/software/mailman), Noosfero (www.noosfero.org), and Colab |
38 | (www.github.com/colab). | 39 | (www.github.com/colab). |
39 | 40 | ||
@@ -44,14 +45,14 @@ members, and communicating effectively with clients (in this particular case, | @@ -44,14 +45,14 @@ members, and communicating effectively with clients (in this particular case, | ||
44 | government agents). Managing the interaction of these elements was not easy and | 45 | government agents). Managing the interaction of these elements was not easy and |
45 | the unstable Brazilian political scenario only made things worse. | 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 | 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 |
57 | composed of approximately 50 undergraduate students (not all simultaneously) | 58 | composed of approximately 50 undergraduate students (not all simultaneously) |
@@ -64,33 +65,33 @@ undergraduate students and address hard tasks. Finally, professors were | @@ -64,33 +65,33 @@ undergraduate students and address hard tasks. Finally, professors were | ||
64 | responsible for interacting with the Brazilian government and controlling the | 65 | responsible for interacting with the Brazilian government and controlling the |
65 | political pressures applied to the project. | 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 | technicians. Requirements analysts were the real representatives of the | 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 | issues. Among CD’s known benefits[2], we also explain those that were the most | 95 | issues. Among CD’s known benefits[2], we also explain those that were the most |
95 | important in the project scenario for us: improving customer satisfaction and | 96 | important in the project scenario for us: improving customer satisfaction and |
96 | 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 |