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 209  
210 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 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 215 Working with the government, we noticed the following additional benefits.
216 216  
217 217 ### Strengthening Trust in Work Relationship with the Government
... ... @@ -247,13 +247,13 @@ would not go looking for other jobs.
247 247 ### Shared Responsibility
248 248  
249 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 251 deploying the project. The implementation of CD made developers feel equally
252 252 responsible for what was getting into production and take ownership of the
253 253 project.
254 254 %
255 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 257 issues during the platform evolution. Additionally, developers worked to improve
258 258 the CD pipeline to speed up the process of making new features available in the
259 259 production environment for analysts’ validation.
... ... @@ -262,11 +262,11 @@ production environment for analysts’ validation.
262 262 ### Synchronicity Between Government and Development
263 263  
264 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 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 270 of new features. This situation combined with governmental bureaucracy
271 271 (up to 3 days) to release access to the production environment resulted in
272 272 additional delays for the deployment step to begin. This problem was softened
... ... @@ -276,29 +276,29 @@ to production in time.
276 276  
277 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 280 deployment process and kept the project alive in an unstable political scenario.
281 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 284 ### Build CD From Scratch
285 285  
286 286 Taking on responsibilities for implementing CD impacted on the whole team.
287 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 290 the project:
291 291  
292 292 1. _Selecting the most experienced professionals and some developers of the
293 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 295 The solution enabled us to automate the deployment, even though the process was
296 296 still rudimentary.
297 297  
298 298 2. _Interchanging team members and encouraging teammates to migrate to DevOps
299 299 team._ The benefits of these movements were twofold: mitigating the difficulty
300 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 303 Building a CD pipeline was hard in the beginning. We believe that more tools
304 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 313 software is the product delivered at the end of a development contract. They
314 314 expected and were prepared to validate and deploy a single delivery. Because
315 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 318 The CD approach was necessary, but how to build trust and gain autonomy to
319 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 322 access to the government infrastructure, so we created our own validation
323 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 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 327 validated features not work as expected in the production environment. That
328 328 situation gave us arguments to negotiate access to production.
329 329  
330 330 2. _Make our project management transparent and collaborative for analysts._
331 331 Allowing the analysts to follow our process for version deliveries and bug
332 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 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 336 of PE and gave us access to it.
337 337  
338 338 3. _Gain the confidence of government agents._ With the replica of PE, we were
339 339 able to run the entire pipeline and won the trust of the government analysts and
340 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 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 344 be beneficial for the project if they granted us access to part of the
345 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 350 ## Acknowledgements
351 351  
... ...