Commit 86bc0133798a8f937d67fe0ba1f52407776a2bc9
Exists in
master
and in
3 other branches
Merge branch 'ieee_new' of http://softwarepublico.gov.br/gitlab/softwarepublico/…
…articles into ieee_new
Showing
1 changed file
with
25 additions
and
25 deletions
Show diff stats
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 |