Commit 7612a3435738dfcd07f59ce4e8dcfc19c6e14b02
1 parent
c14ebb78
Exists in
master
and in
3 other branches
[ieeeSW] Reviewing the introduction again
Showing
1 changed file
with
51 additions
and
50 deletions
Show diff stats
ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md
| ... | ... | @@ -14,26 +14,27 @@ understand how important the CD adoption is to their projects. |
| 14 | 14 | ## Introduction and Context |
| 15 | 15 | |
| 16 | 16 | We worked on a three-year-long Brazilian government project to evolve an |
| 17 | -existing platform that had technical issues and lacked political support. | |
| 18 | -The evolution project started in a presidential election year and everyone | |
| 19 | -involved were under pressure to show results.Even with the re-election of | |
| 20 | -the Brazilian President in 2014, leaderships in governmental agencies end | |
| 21 | -up changing. Each one of them had different political agendas which caused | |
| 22 | -impacts on the requirements previously approved. Despite this scenario of | |
| 23 | -instability, we managed to avoid delays in the delivery schedule and to | |
| 24 | -prevent the abortion of the project. | |
| 17 | +existing platform that had technical issues and lacked political support. The | |
| 18 | +evolution project started in a presidential election year and everyone involved | |
| 19 | +were under pressure to show results. Even with the re-election of the Brazilian | |
| 20 | +President in 2014, leaderships in governmental agencies end up changing. Each | |
| 21 | +one of them had different political agendas which caused impacts on the | |
| 22 | +requirements previously approved. Despite this scenario of instability, we | |
| 23 | +managed to avoid delays in the delivery schedule and to prevent the abortion of | |
| 24 | +the project. | |
| 25 | 25 | |
| 26 | 26 | Our team from the University of Brasília (UnB) and the University of São Paulo |
| 27 | 27 | (USP) developed the new platform for the Brazilian Public Software (SPB, |
| 28 | 28 | Portuguese acronym) Portal (www.softwarepublico.gov.br) from 2014 to 2016. The |
| 29 | -SPB Portal evolved to a Collaborative Development Environment [1] and this evolution brought about important | |
| 30 | -benefits not just to the Brazilian government, but also to society as a whole. | |
| 31 | -For the government, the bureaucracy on using the same software across | |
| 32 | -governmental agencies, duplicate works, and costs all were reduced. The society | |
| 33 | -gained a transparency and collaboration mechanism, since anyone can check the | |
| 34 | -government expenses on software and contribute to the software communities. To | |
| 35 | -achieve these goals, rather than writing everything from scratch, we decided to | |
| 36 | -integrate free software tools such as Gitlab (www.gitlab.com), Mailman | |
| 29 | +SPB Portal evolved to a Collaborative Development Environment [1] and this | |
| 30 | +evolution brought about important benefits not just to the Brazilian | |
| 31 | +government, but also to society as a whole. For the government, the | |
| 32 | +bureaucracy on using the same software across governmental agencies, duplicate | |
| 33 | +works, and costs all were reduced. The society gained a transparency and | |
| 34 | +collaboration mechanism, since anyone can check the government expenses on | |
| 35 | +software and contribute to the software communities. To achieve these goals, | |
| 36 | +rather than writing everything from scratch, we decided to integrate several | |
| 37 | +free software tools such as Gitlab (www.gitlab.com), Mailman | |
| 37 | 38 | (www.gnu.org/software/mailman), Noosfero (www.noosfero.org), and Colab |
| 38 | 39 | (www.github.com/colab). |
| 39 | 40 | |
| ... | ... | @@ -44,14 +45,14 @@ members, and communicating effectively with clients (in this particular case, |
| 44 | 45 | government agents). Managing the interaction of these elements was not easy and |
| 45 | 46 | the unstable Brazilian political scenario only made things worse. |
| 46 | 47 | |
| 47 | -To achieve the SPB project goals, we had to overcome strong political bias | |
| 48 | -tied with complicated technical issues and relatively low budget. Because it is | |
| 49 | -open to the public, the government representatives have seen the platform as a | |
| 50 | -marketing opportunity and have often ignored the technical advice in favor | |
| 51 | -of political decisions. Furthermore, integrating a number of distinct systems | |
| 52 | -to work seamlessly was not an easy job. We had to learn how each system worked | |
| 53 | -and to come up with ideas of how to integrate them as fast as possible, with a | |
| 54 | -team of mostly inexperienced developers. | |
| 48 | +To achieve the SPB project goals, we had to overcome strong political bias tied | |
| 49 | +with complicated technical issues as well as relatively low budget. Because it | |
| 50 | +is open to the public, the government representatives saw the platform as a | |
| 51 | +marketing opportunity and sometimes ignored the technical advice in favor of | |
| 52 | +political decisions. Furthermore, integrating a number of distinct systems to | |
| 53 | +work seamlessly was not an easy job. We had to learn how each system worked and | |
| 54 | +to come up with ideas of how to integrate them as fast as possible, with a team | |
| 55 | +of mostly inexperienced developers. | |
| 55 | 56 | |
| 56 | 57 | We also had to manage the diversity of the SPB team members. This team was |
| 57 | 58 | composed of approximately 50 undergraduate students (not all simultaneously) |
| ... | ... | @@ -64,33 +65,33 @@ undergraduate students and address hard tasks. Finally, professors were |
| 64 | 65 | responsible for interacting with the Brazilian government and controlling the |
| 65 | 66 | political pressures applied to the project. |
| 66 | 67 | |
| 67 | -The third point to be handled was the communication with two independent | |
| 68 | -groups of government representatives: requirements analysts and deployment | |
| 68 | +The third point to be handled was the communication with two independent groups | |
| 69 | +of government representatives: requirements analysts and deployment | |
| 69 | 70 | technicians. Requirements analysts were the real representatives of the |
| 70 | -Brazilian government in the project and their function was to test new features, to provide | |
| 71 | -feedback to the development team and to report for directors. Deployment | |
| 72 | -technicians were in charge of accessing the host machines wherein SPB platform was running. They were, | |
| 73 | -theoretically, responsible for deploying the project. However, the new SPB | |
| 74 | -Portal was composed of more than ten different software projects, | |
| 75 | -generating a complex deploy process working on seven servers. | |
| 76 | - | |
| 77 | -To handle the interaction between these three elements, we realised we needed to take control over the deployment | |
| 78 | -process. We used CD as a mean to fulfill the government expectations and to | |
| 79 | -provide quick response to their requests, which were influenced most of the | |
| 80 | -time by the uncertainties of project continuity. We believed we would keep | |
| 81 | -the project alive, even in a politically unstable and technically complex scenario. | |
| 82 | -For this reason, we worked hard to automate all deploy process; for | |
| 83 | -instance, one of our senior developers created a Chef-Server | |
| 84 | -(www.chef.io/chef) front-end tool called Chake (www.gitlab.com/terceiro/chake) | |
| 85 | -to help us to manage the multiple hosts needed for the project. | |
| 86 | -We also formed a specific team dedicated to the deployment process. We also formed | |
| 87 | -a specific team dedicated to the deployment process. This team was responsible | |
| 88 | -for maturing our CD pipeline, giving us confidence and agility to comply with | |
| 89 | -government requirements. | |
| 90 | - | |
| 91 | -In this report, we describe our CD pipeline and how it improved our delivery performance. | |
| 92 | -The CD made us adaptable for all requested changes and helped us to | |
| 93 | -mitigate those aforementioned political challenges besides the technical | |
| 71 | +Brazilian government in the project and their function was to test new | |
| 72 | +features, to provide feedback to the development team, and to report for the | |
| 73 | +government leaders. Deployment technicians were in charge of accessing the host | |
| 74 | +machines wherein SPB platform was running. They were, theoretically, | |
| 75 | +responsible for deploying the project. However, the new SPB Portal was composed | |
| 76 | +of more than ten different software projects, generating a complex deploy | |
| 77 | +process working on seven servers. | |
| 78 | + | |
| 79 | +To handle the interaction between these three elements, we realised we needed | |
| 80 | +to take control over the deployment process. We used CD as a mean to fulfill | |
| 81 | +the government expectations and to provide quick response to their requests, | |
| 82 | +which were influenced most of the time by the uncertainties of project | |
| 83 | +continuity. We believed we would keep the project alive, even in a politically | |
| 84 | +unstable and technically complex scenario. For this reason, we worked hard to | |
| 85 | +automate all deploy process; for instance, one of our senior developers created | |
| 86 | +a Chef-Server (www.chef.io/chef) front-end tool called Chake | |
| 87 | +(www.gitlab.com/terceiro/chake) to help us to manage the multiple hosts needed | |
| 88 | +for the project. We also formed a specific team dedicated to the deployment | |
| 89 | +process. This team was responsible for maturing our CD pipeline, giving us | |
| 90 | +confidence and agility to comply with government requirements. | |
| 91 | + | |
| 92 | +In this report, we describe our CD pipeline and how it improved our delivery | |
| 93 | +performance. The CD made us adaptable for all requested changes and helped us | |
| 94 | +to mitigate those aforementioned political challenges besides the technical | |
| 94 | 95 | issues. Among CD’s known benefits[2], we also explain those that were the most |
| 95 | 96 | important in the project scenario for us: improving customer satisfaction and |
| 96 | 97 | making reliable releases. Both kept the project alive for more two years during | ... | ... |