Commit 86bc0133798a8f937d67fe0ba1f52407776a2bc9

Authored by Melissa Wen
2 parents 17af6c9a 105617b1

Merge branch 'ieee_new' of http://softwarepublico.gov.br/gitlab/softwarepublico/…

…articles into ieee_new
ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md
@@ -209,9 +209,9 @@ fixes were finally available to the end users. @@ -209,9 +209,9 @@ fixes were finally available to the end users.
209 209
210 ## Benefits 210 ## Benefits
211 211
212 -Research points out many advantages of CD usage in industry[2, 5], such as: 212 +Research points out many advantages of CD usage in the industry[2, 5], such as
213 accelerated time to market, building the right product, productivity and 213 accelerated time to market, building the right product, productivity and
214 -efficiency improvements, reliable releases and better customer satisfaction. 214 +efficiency improvements, stable releases, and better customer satisfaction.
215 Working with the government, we noticed the following additional benefits. 215 Working with the government, we noticed the following additional benefits.
216 216
217 ### Strengthening Trust in Work Relationship with the Government 217 ### Strengthening Trust in Work Relationship with the Government
@@ -247,13 +247,13 @@ would not go looking for other jobs. @@ -247,13 +247,13 @@ would not go looking for other jobs.
247 ### Shared Responsibility 247 ### Shared Responsibility
248 248
249 Initially, the development team could not track what happened to the code after 249 Initially, the development team could not track what happened to the code after
250 -its delivery, since government technicians were the only responsible for 250 +its delivery, since government technicians were the only ones responsible for
251 deploying the project. The implementation of CD made developers feel equally 251 deploying the project. The implementation of CD made developers feel equally
252 responsible for what was getting into production and take ownership of the 252 responsible for what was getting into production and take ownership of the
253 project. 253 project.
254 % 254 %
255 Interestingly, the CD pipeline had the same effect on the team of requirement 255 Interestingly, the CD pipeline had the same effect on the team of requirement
256 -analysts. They became more engaged on the whole process, opening and discussing 256 +analysts. They became more engaged in the whole process, opening and discussing
257 issues during the platform evolution. Additionally, developers worked to improve 257 issues during the platform evolution. Additionally, developers worked to improve
258 the CD pipeline to speed up the process of making new features available in the 258 the CD pipeline to speed up the process of making new features available in the
259 production environment for analysts’ validation. 259 production environment for analysts’ validation.
@@ -262,11 +262,11 @@ production environment for analysts’ validation. @@ -262,11 +262,11 @@ production environment for analysts’ validation.
262 ### Synchronicity Between Government and Development 262 ### Synchronicity Between Government and Development
263 263
264 Despite the positive impacts that the CD pipeline brought to the project, its 264 Despite the positive impacts that the CD pipeline brought to the project, its
265 -implementation was not easy at first. The CD pipeline performance depended on  
266 -the synchronicity between developers and government analysts, so that the 265 +implementation was not smooth at first. The CD pipeline performance depended on
  266 +the synchronicity between developers and government analysts so that the
267 latter were prepared to start a step as soon as the former concluded the 267 latter were prepared to start a step as soon as the former concluded the
268 -previous step, and vice versa. Initially, this concern was not contemplated  
269 -in the agenda of the governmental team, which generated delays in the validation 268 +previous step and vice versa. Initially, the agenda of the government team
  269 +did not contemplate this concern, which generated delays in the validation
270 of new features. This situation combined with governmental bureaucracy 270 of new features. This situation combined with governmental bureaucracy
271 (up to 3 days) to release access to the production environment resulted in 271 (up to 3 days) to release access to the production environment resulted in
272 additional delays for the deployment step to begin. This problem was softened 272 additional delays for the deployment step to begin. This problem was softened
@@ -276,29 +276,29 @@ to production in time. @@ -276,29 +276,29 @@ to production in time.
276 276
277 ## Challenges 277 ## Challenges
278 278
279 -Due to the successful built of the CD pipeline, we improved the government 279 +Due to the successful building of the CD pipeline, we improved the government
280 deployment process and kept the project alive in an unstable political scenario. 280 deployment process and kept the project alive in an unstable political scenario.
281 We map here lessons learned in this successful case, as well as issues that 281 We map here lessons learned in this successful case, as well as issues that
282 -still need to be addressed in future works between industry and academia. 282 +future works between industry and academia still need to address.
283 283
284 ### Build CD From Scratch 284 ### Build CD From Scratch
285 285
286 Taking on responsibilities for implementing CD impacted on the whole team. 286 Taking on responsibilities for implementing CD impacted on the whole team.
287 Our team did not have know-how in this approach, and we had few working hours 287 Our team did not have know-how in this approach, and we had few working hours
288 -available to allocate for the building of pipeline. The construction and  
289 -maintenance of the CD process was possible by taking some decisions to mature 288 +available to allocate for the building of the pipeline. The construction and
  289 +maintenance of the CD process were possible by taking some decisions to mature
290 the project: 290 the project:
291 291
292 1. _Selecting the most experienced professionals and some developers of the 292 1. _Selecting the most experienced professionals and some developers of the
293 project to work on a specific team for DevOps._ These professionals used their 293 project to work on a specific team for DevOps._ These professionals used their
294 -experiences in OSS projects to get an initial proposal of deployment process. 294 +experiences in OSS projects to get an initial proposal for the deployment process.
295 The solution enabled us to automate the deployment, even though the process was 295 The solution enabled us to automate the deployment, even though the process was
296 still rudimentary. 296 still rudimentary.
297 297
298 2. _Interchanging team members and encouraging teammates to migrate to DevOps 298 2. _Interchanging team members and encouraging teammates to migrate to DevOps
299 team._ The benefits of these movements were twofold: mitigating the difficulty 299 team._ The benefits of these movements were twofold: mitigating the difficulty
300 to pass the knowledge between DevOps developers and features developers, and 300 to pass the knowledge between DevOps developers and features developers, and
301 -evolving the process on-the-fly 301 +evolving the process on-the-fly.
302 302
303 Building a CD pipeline was hard in the beginning. We believe that more tools 303 Building a CD pipeline was hard in the beginning. We believe that more tools
304 to provide out-of-the-box standardized CD pipelines would be of great help for 304 to provide out-of-the-box standardized CD pipelines would be of great help for
@@ -313,39 +313,39 @@ Taking an unfamiliar approach requires trust. In the Ministry of Planning, @@ -313,39 +313,39 @@ Taking an unfamiliar approach requires trust. In the Ministry of Planning,
313 software is the product delivered at the end of a development contract. They 313 software is the product delivered at the end of a development contract. They
314 expected and were prepared to validate and deploy a single delivery. Because 314 expected and were prepared to validate and deploy a single delivery. Because
315 the SPB portal is a system of systems, the steady growth of its complexity made 315 the SPB portal is a system of systems, the steady growth of its complexity made
316 -large deliveries unsustainable. In addition, long time for homologation of  
317 -developed features gave government room to change requirements and priorities. 316 +large deliveries unsustainable. Also, the long time for homologation of
  317 +developed features gave the government room to change requirements and priorities.
318 The CD approach was necessary, but how to build trust and gain autonomy to 318 The CD approach was necessary, but how to build trust and gain autonomy to
319 implement a process that was not yet part of the dynamics of the Ministry? 319 implement a process that was not yet part of the dynamics of the Ministry?
320 320
321 -1. _Demonstrate actual results, do not simply tell._ Initially we did not have 321 +1. _Demonstrate actual results, do not simply tell._ Initially, we did not have
322 access to the government infrastructure, so we created our own validation 322 access to the government infrastructure, so we created our own validation
323 environment. Thus, we were able to follow the CD pipeline until the stage of 323 environment. Thus, we were able to follow the CD pipeline until the stage of
324 -production deployment, when we were faced two problems. Our pace of intermediate 324 +production deployment, when we faced two problems. Our pace of intermediate
325 deliveries to the government was faster than the deployment in production by their 325 deliveries to the government was faster than the deployment in production by their
326 -technicians. Furthermore specific issues of government infrastructure made some 326 +technicians. Furthermore, specific issues of government infrastructure made some
327 validated features not work as expected in the production environment. That 327 validated features not work as expected in the production environment. That
328 situation gave us arguments to negotiate access to production. 328 situation gave us arguments to negotiate access to production.
329 329
330 2. _Make our project management transparent and collaborative for analysts._ 330 2. _Make our project management transparent and collaborative for analysts._
331 Allowing the analysts to follow our process for version deliveries and bug 331 Allowing the analysts to follow our process for version deliveries and bug
332 fixes, we showed them we were meeting our commitments. They started to interact 332 fixes, we showed them we were meeting our commitments. They started to interact
333 -more strongly in the generation of versions and actually became part of the 333 +more actively in the generation of versions and became part of the
334 process. After understanding the process, analysts helped us in negotiations 334 process. After understanding the process, analysts helped us in negotiations
335 -with government agentes. Finally, the agents created a VE as an isolated replica 335 +with government agents. Finally, the agents created a VE as an isolated replica
336 of PE and gave us access to it. 336 of PE and gave us access to it.
337 337
338 3. _Gain the confidence of government agents._ With the replica of PE, we were 338 3. _Gain the confidence of government agents._ With the replica of PE, we were
339 able to run the entire pipeline and won the trust of the government analysts and 339 able to run the entire pipeline and won the trust of the government analysts and
340 technicians involved in the process. On the one hand, analysts saw the 340 technicians involved in the process. On the one hand, analysts saw the
341 -mobilization and responsiviness of the team to generate a new version package. 341 +mobilization and responsiveness of the team to generate a new version package.
342 On the other hand, technicians recognized the quality of our packages and our 342 On the other hand, technicians recognized the quality of our packages and our
343 -deployment process. Finally, the government agents then realised that it could 343 +deployment process. Finally, the government agents then realized that it could
344 be beneficial for the project if they granted us access to part of the 344 be beneficial for the project if they granted us access to part of the
345 infrastructure. 345 infrastructure.
346 346
347 -More research is required on development protocols and policies to improve the  
348 -relation between industry and government, specially regarding CD. 347 +More research is required on developing protocols and policies to improve the
  348 +relationship between industry and government, especially regarding CD.
349 349
350 ## Acknowledgements 350 ## Acknowledgements
351 351