Commit 3a10467c470dae646983c79e9acfd0d4fc5388b7

Authored by Melissa Wen
2 parents 921497bb 0efc01d9

Merge branch 'master' of http://softwarepublico.gov.br/gitlab/softwarepublico/articles

ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md
... ... @@ -102,12 +102,14 @@ worst political crisis after the re-democratization in Brazil.
102 102  
103 103 ![Deployment Pipeline](figures/pipeline_2.png)
104 104  
105   -Figure 1 represents our CD pipeline. The pipeline started when new code arrived.
106   -As it went through each step, it was tested and improved until it finally reached
107   -the production environment. At this point we got back to the first stage to release
  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
  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
  109 +production environment. At this point we got back to the first stage to release
108 110 more new code.
109 111  
110   -### Automated tests
  112 +### Automated Tests
111 113  
112 114 The SPB portal consists of more than 10 integrated software projects and each
113 115 of them, as well as the entire platform, had to be tested. These software
... ... @@ -124,7 +126,7 @@ by either a test error or coverage reduction below a certain threshold, the
124 126 pipeline stopped. Only when all tests pass, the pipeline proceed to the step of
125 127 preparing the release.
126 128  
127   -### Preparing a new release
  129 +### Preparing a New Release
128 130  
129 131 A SPB Portal release was composed of all its software components releases. Each
130 132 software component release was a git tag that referred to a specific feature or
... ... @@ -195,7 +197,7 @@ accelerated time to market, building the right product, productivity and
195 197 efficiency improvements, reliable releases and better customer satisfaction.
196 198 Working with the government, we noticed the following additional benefits.
197 199  
198   -### Responsiveness to change
  200 +### Responsiveness to Change
199 201  
200 202 Responsiveness was one of the direct benefits of adopting the CD pipeline. The
201 203 ability to react quickly to changes requested by the government was vital for
... ... @@ -213,7 +215,7 @@ way, we always had something to show on meetings, reducing anxiety to get the pl
213 215 project would last a little longer and they would not go looking for other
214 216 jobs.
215 217  
216   -### Shared responsibility
  218 +### Shared Responsibility
217 219  
218 220 Before the adoption of CD, the development team could not track what happened to the code
219 221 after its delivery, since government technicians were the only responsible
... ... @@ -229,7 +231,7 @@ Additionally, developers worked to improve the CD pipeline
229 231 to speed up the process of making available, in the production environment,
230 232 new features for the platform.
231 233  
232   -### Synchronicity between government and development
  234 +### Synchronicity Between Government and Development
233 235  
234 236 Despite the positive impacts that the CD pipeline brought to the project, its
235 237 implementation was not easy at first. The CD pipeline performance
... ... @@ -244,7 +246,7 @@ This problem was softened when the analysts realized the impact of
244 246 these delays on the final product and decided to allocate the revisions in its
245 247 work schedule and to request the access to production in time.
246 248  
247   -### Strengthening trust in work relationship with the government
  249 +### Strengthening Trust in Work Relationship with the Government
248 250  
249 251 Continuous delivery was also a tool that helped to strengthen trust in the
250 252 relationship between developers and government analysts, as well as between the
... ... @@ -268,7 +270,7 @@ process from the government. That allowed us to survive into an unstable
268 270 political scenario. However, we recognize that many challenges still need to be
269 271 addressed by the industry and academia together.
270 272  
271   -### Build CD from scratch
  273 +### Build CD From Scratch
272 274  
273 275 Taking on CD responsibilities had a significant impact on the team. We did not
274 276 have the know-how and had little time to come up with a working pipeline. The
... ... @@ -282,7 +284,7 @@ out-of-the-box standardized CD pipelines would be of great help for
282 284 inexperienced teams. Tools that track each step of the pipeline and organize
283 285 logs in a human-manageable way are necessary too.
284 286  
285   -### Handling inexperienced teams
  287 +### Handling Inexperienced Teams
286 288  
287 289 After the developers learned how CD worked, it was difficult to pass the
288 290 knowledge along to other teammates. We tried to mitigate this problem by
... ... @@ -290,7 +292,7 @@ encouraging members to migrate to the DevOps team. We suggest further research
290 292 on how to effectively spread knowledge across inexperienced developers in a high
291 293 turnover scenario.
292 294  
293   -### Overcoming mistrust
  295 +### Overcoming Mistrust
294 296  
295 297 In the project's beginning we struggled with deployment issues in the government
296 298 structure. We were in a paradoxical situation. The government demanded fast
... ...