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