Commit 3f3ba0513e53220a5ef922c70c0eef2aaebc9461

Authored by Melissa Wen
1 parent ed2dbb8d

[i3eSW] Athos review

ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md
@@ -41,7 +41,7 @@ one of them had different political agendas which affected the project's @@ -41,7 +41,7 @@ one of them had different political agendas which affected the project's
41 requirements previously approved. Besides that scenario of instability, we 41 requirements previously approved. Besides that scenario of instability, we
42 overcame three distinct issues: (i) achieving the goals which have guided the 42 overcame three distinct issues: (i) achieving the goals which have guided the
43 platform development, (ii) managing the diversity of team members, and (iii) 43 platform development, (ii) managing the diversity of team members, and (iii)
44 -communicating effectively with government agents (our "clients"). Handling the 44 +communicating effectively with government agents (the client). Handling the
45 interaction of these elements was challenging and the unstable Brazilian 45 interaction of these elements was challenging and the unstable Brazilian
46 political scenario only made things worse. 46 political scenario only made things worse.
47 47
@@ -86,7 +86,7 @@ unstable and technically complex scenario. For this reason, we focused on @@ -86,7 +86,7 @@ unstable and technically complex scenario. For this reason, we focused on
86 automating the deploy process; for instance, one of our senior 86 automating the deploy process; for instance, one of our senior
87 developers created a Chef-Server (www.chef.io/chef) front-end tool called Chake 87 developers created a Chef-Server (www.chef.io/chef) front-end tool called Chake
88 (www.gitlab.com/terceiro/chake) to help us manage the multiple hosts needed for 88 (www.gitlab.com/terceiro/chake) to help us manage the multiple hosts needed for
89 -the project. We also formed a specific team dedicated to the deployment 89 +the project. We also formed a specific team dedicated to the deployment
90 process. This team was responsible for maturing our CD pipeline, giving us 90 process. This team was responsible for maturing our CD pipeline, giving us
91 confidence and agility to comply with government requirements. 91 confidence and agility to comply with government requirements.
92 92
@@ -103,10 +103,10 @@ worst political crisis after the re-democratization in Brazil. @@ -103,10 +103,10 @@ worst political crisis after the re-democratization in Brazil.
103 ![Deployment Pipeline](figures/pipeline_2.png) 103 ![Deployment Pipeline](figures/pipeline_2.png)
104 104
105 Figure 1 represents our CD pipeline. A new feature might require changes on more 105 Figure 1 represents our CD pipeline. A new feature might require changes on more
106 -than one SPB integrated software project. Notice that each on of them could be 106 +than one SPB integrated software project. Notice that each one of them could be
107 modified independently. The pipeline started when new code arrived. As it went 107 modified independently. The pipeline started when new code arrived. As it went
108 through each step, it was tested and improved until it finally reached the 108 through each step, it was tested and improved until it finally reached the
109 -production environment. At this point we got back to the first stage to release 109 +production environment. At this point we would restart the pipeline to release
110 more new code. 110 more new code.
111 111
112 ### Automated Tests 112 ### Automated Tests
@@ -117,13 +117,13 @@ components had their own test suite, maintained and expanded by the development @@ -117,13 +117,13 @@ components had their own test suite, maintained and expanded by the development
117 team. Communication between all components is orchestrated by Colab, a systems 117 team. Communication between all components is orchestrated by Colab, a systems
118 integration platform for web applications based on a plugins architecture. 118 integration platform for web applications based on a plugins architecture.
119 Therefore, specific plugins have been developed for each portal software 119 Therefore, specific plugins have been developed for each portal software
120 -component, such as for Gitlab and Mailman. Each plugin had its own test suite 120 +component, such as Gitlab and Mailman. Each plugin had its own test suite
121 and this set also worked as integration test. 121 and this set also worked as integration test.
122 122
123 Both unit and integration tests provided us the performace and security needed 123 Both unit and integration tests provided us the performace and security needed
124 to guarantee the stability for components and the platform. If any test suite failed, 124 to guarantee the stability for components and the platform. If any test suite failed,
125 by either a test error or coverage reduction below a certain threshold, the 125 by either a test error or coverage reduction below a certain threshold, the
126 -pipeline stopped. Only when all tests pass, the pipeline proceed to the step of 126 +pipeline was stopped. Only when all tests pass, the pipeline proceeded to the step of
127 preparing the release. 127 preparing the release.
128 128
129 ### Preparing a New Release 129 ### Preparing a New Release
@@ -177,7 +177,7 @@ as part of the next step in the pipeline. @@ -177,7 +177,7 @@ as part of the next step in the pipeline.
177 177
178 After we deployed a new SPB Portal version in the VE, the government 178 After we deployed a new SPB Portal version in the VE, the government
179 agents were responsible for checking features and bug fixes required by them. If 179 agents were responsible for checking features and bug fixes required by them. If
180 -the requirement analysts identified a problem, they notified the developers via 180 +the requirement analysts identified a problem, they would notified the developers via
181 comments on the SPB Portal's issue tracker. The problems were fixed and the 181 comments on the SPB Portal's issue tracker. The problems were fixed and the
182 pipeline restarted from scratch. If everything was validated, we moved forward. 182 pipeline restarted from scratch. If everything was validated, we moved forward.
183 183
@@ -205,9 +205,8 @@ the renewal of the project over the years. Every meeting with the government @@ -205,9 +205,8 @@ the renewal of the project over the years. Every meeting with the government
205 leader resulted in new requirements, most of them motivated by political 205 leader resulted in new requirements, most of them motivated by political
206 needs. These constant changes in requirements and priorities caused discomfort 206 needs. These constant changes in requirements and priorities caused discomfort
207 between the government and the development team. For 207 between the government and the development team. For
208 -example, once it was demanded a complete layout change because another  
209 -government leader suddenly decided to make a marketing campaign about the new  
210 -SPB portal. They would use undelivered requirements as a means to justify the 208 +example, the government leader required a complete layout change because he suddenly decided to make a marketing campaign about the new
  209 +SPB portal. Thus the government would use undelivered requirements as a means to justify the
211 lack of financial support, which was already approved in the first place. We believed that if we took too 210 lack of financial support, which was already approved in the first place. We believed that if we took too
212 long to attend their demands, the project would end. CD helped us keep the 211 long to attend their demands, the project would end. CD helped us keep the
213 production environment up-to-date, even with partial versions of a feature. That 212 production environment up-to-date, even with partial versions of a feature. That
@@ -228,8 +227,7 @@ They were an active part of the pipeline and became more engaged on the whole pr @@ -228,8 +227,7 @@ They were an active part of the pipeline and became more engaged on the whole pr
228 After the incorporation of the pipeline into the work process, analysts 227 After the incorporation of the pipeline into the work process, analysts
229 became more active in opening and discussing issues during the platform evolution. 228 became more active in opening and discussing issues during the platform evolution.
230 Additionally, developers worked to improve the CD pipeline 229 Additionally, developers worked to improve the CD pipeline
231 -to speed up the process of making available, in the production environment,  
232 -new features for the platform. 230 +to speed up the process of making new features available in the production environment.
233 231
234 ### Synchronicity Between Government and Development 232 ### Synchronicity Between Government and Development
235 233
@@ -300,7 +298,7 @@ deliveries but would not give access to their production infrastructure. After @@ -300,7 +298,7 @@ deliveries but would not give access to their production infrastructure. After
300 some interactions with government agents, they created the VE as an isolated 298 some interactions with government agents, they created the VE as an isolated
301 replica of the PE in their own infrastructure. The government agents then 299 replica of the PE in their own infrastructure. The government agents then
302 realised that it could be beneficial for the project if they granted us access 300 realised that it could be beneficial for the project if they granted us access
303 -to part of the structure. More research is required on development protocols and 301 +to part of the infrastructure. More research is required on development protocols and
304 policies to improve the relation between industry and government, specially 302 policies to improve the relation between industry and government, specially
305 regarding CD. 303 regarding CD.
306 304