Commit a1102aaf4f72965c3f3201dad39fe9fa558cd59b
1 parent
78a934c1
Exists in
master
and in
3 other branches
[i3eSW] Review introduction
Showing
1 changed file
with
33 additions
and
31 deletions
Show diff stats
ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md
| @@ -13,22 +13,23 @@ understand how important the CD adoption is to their projects. | @@ -13,22 +13,23 @@ understand how important the CD adoption is to their projects. | ||
| 13 | 13 | ||
| 14 | ## Introduction and Context | 14 | ## Introduction and Context |
| 15 | 15 | ||
| 16 | -We worked on a Brazilian government three-year-long project to evolve an | ||
| 17 | -existing platform that had technical issues and a lack of political support. | 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 | 18 | The evolution project started in a presidential election year and everyone |
| 19 | -involved were under Presidential re-election campaign pressure to show results. | ||
| 20 | -Even with the re-election of the Brazilian President, leadership in government | ||
| 21 | -agencies suddenly changed that reflected on the project’s requirements: each | ||
| 22 | -new leader wanted to fulfill their political agenda. In this scenario, delivery | ||
| 23 | -delays could have sunk the project into oblivion. | 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. | ||
| 24 | 25 | ||
| 25 | Our team from the University of Brasília (UnB) and the University of São Paulo | 26 | Our team from the University of Brasília (UnB) and the University of São Paulo |
| 26 | (USP) developed the new platform for the Brazilian Public Software (SPB, | 27 | (USP) developed the new platform for the Brazilian Public Software (SPB, |
| 27 | Portuguese acronym) Portal (www.softwarepublico.gov.br) from 2014 to 2016. The | 28 | Portuguese acronym) Portal (www.softwarepublico.gov.br) from 2014 to 2016. The |
| 28 | -SPB Portal evolved to a CDE [1] and this evolution brought about important | 29 | +SPB Portal evolved to a Collaborative Development Environment [1] and this evolution brought about important |
| 29 | benefits not just to the Brazilian government, but also to society as a whole. | 30 | benefits not just to the Brazilian government, but also to society as a whole. |
| 30 | For the government, the bureaucracy on using the same software across | 31 | For the government, the bureaucracy on using the same software across |
| 31 | -government agencies, duplicate works, and costs all were reduced. The society | 32 | +governmental agencies, duplicate works, and costs all were reduced. The society |
| 32 | gained a transparency and collaboration mechanism, since anyone can check the | 33 | gained a transparency and collaboration mechanism, since anyone can check the |
| 33 | government expenses on software and contribute to the software communities. To | 34 | government expenses on software and contribute to the software communities. To |
| 34 | achieve these goals, rather than writing everything from scratch, we decided to | 35 | achieve these goals, rather than writing everything from scratch, we decided to |
| @@ -43,51 +44,52 @@ members, and communicating effectively with clients (in this particular case, | @@ -43,51 +44,52 @@ members, and communicating effectively with clients (in this particular case, | ||
| 43 | government agents). Managing the interaction of these elements was not easy and | 44 | government agents). Managing the interaction of these elements was not easy and |
| 44 | the unstable Brazilian political scenario only made things worse. | 45 | the unstable Brazilian political scenario only made things worse. |
| 45 | 46 | ||
| 46 | -To reach the SPB project goals, we had to overcome strong political bias | 47 | +To achieve the SPB project goals, we had to overcome strong political bias |
| 47 | tied with complicated technical issues and relatively low budget. Because it is | 48 | tied with complicated technical issues and relatively low budget. Because it is |
| 48 | open to the public, the government representatives have seen the platform as a | 49 | open to the public, the government representatives have seen the platform as a |
| 49 | marketing opportunity and have often ignored the technical advice in favor | 50 | marketing opportunity and have often ignored the technical advice in favor |
| 50 | of political decisions. Furthermore, integrating a number of distinct systems | 51 | of political decisions. Furthermore, integrating a number of distinct systems |
| 51 | to work seamlessly was not an easy job. We had to learn how each system worked | 52 | to work seamlessly was not an easy job. We had to learn how each system worked |
| 52 | -and come up with ideas of how to integrate them as fast as possible, with a | 53 | +and to come up with ideas of how to integrate them as fast as possible, with a |
| 53 | team of mostly inexperienced developers. | 54 | team of mostly inexperienced developers. |
| 54 | 55 | ||
| 55 | We also had to manage the diversity of the SPB team members. This team was | 56 | We also had to manage the diversity of the SPB team members. This team was |
| 56 | composed of approximately 50 undergraduate students (not all simultaneously) | 57 | composed of approximately 50 undergraduate students (not all simultaneously) |
| 57 | together with professors, masters students and professional designers as well | 58 | together with professors, masters students and professional designers as well |
| 58 | as senior developers from the Brazilian free software community. Undergraduate | 59 | as senior developers from the Brazilian free software community. Undergraduate |
| 59 | -students have received a fellowship and, for most of them, this R&D project was | 60 | +students received a fellowship and, for most of them, this R&D project was |
| 60 | their first professional experience. Seniors developers and masters students | 61 | their first professional experience. Seniors developers and masters students |
| 61 | had two important contributions to the project: transfer knowledge to | 62 | had two important contributions to the project: transfer knowledge to |
| 62 | undergraduate students and address hard tasks. Finally, professors were | 63 | undergraduate students and address hard tasks. Finally, professors were |
| 63 | -responsible for interacting with the Brazilian government and control the | 64 | +responsible for interacting with the Brazilian government and controlling the |
| 64 | political pressures applied to the project. | 65 | political pressures applied to the project. |
| 65 | 66 | ||
| 66 | -Our third point to be handled was the communication with the two independent | 67 | +The third point to be handled was the communication with two independent |
| 67 | groups of government representatives: requirements analysts and deployment | 68 | groups of government representatives: requirements analysts and deployment |
| 68 | technicians. Requirements analysts were the real representatives of the | 69 | technicians. Requirements analysts were the real representatives of the |
| 69 | -Brazilian government in the project. They usually tested new features, provided | ||
| 70 | -feedback, and reported for directors. The deployment technicians only had the | ||
| 71 | -access to the host machines wherein SPB platform was running. They were, | 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, | ||
| 72 | theoretically, responsible for deploying the project. However, the new SPB | 73 | theoretically, responsible for deploying the project. However, the new SPB |
| 73 | -Portal was composited from more than ten different software projects, | 74 | +Portal was composed of more than ten different software projects, |
| 74 | generating a complex deploy process working on seven servers. | 75 | generating a complex deploy process working on seven servers. |
| 75 | 76 | ||
| 76 | -Therefore, we realised that we needed to take control over the deployment | ||
| 77 | -process. We used CD as a mean to keep the government satisfied and provide | ||
| 78 | -quick response times to their requests which were, most of the time, influenced | ||
| 79 | -by the uncertainties of project continuity. We believed that would keep the | ||
| 80 | -project alive even in a politically unstable and technically complex scenario. | ||
| 81 | -For that, during months we worked to automate all the deploy process. For | 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 | ||
| 82 | instance, one of our senior developers created a Chef-Server | 83 | instance, one of our senior developers created a Chef-Server |
| 83 | (www.chef.io/chef) front-end tool called Chake (www.gitlab.com/terceiro/chake) | 84 | (www.chef.io/chef) front-end tool called Chake (www.gitlab.com/terceiro/chake) |
| 84 | -to help us to manage the multiple hosts needed for the project. In this | ||
| 85 | -context, we organized a specific team dedicated to the deployment process to | ||
| 86 | -mature our CD pipeline that would give us confidence to meet the government’s | ||
| 87 | -requirements faster and faster. | ||
| 88 | - | ||
| 89 | -Here, we describe our CD pipeline and how it speeded up our software delivery | ||
| 90 | -time. The CD made us adaptable for all requested changes and helped us to | 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 | ||
| 91 | mitigate those aforementioned political challenges besides the technical | 93 | mitigate those aforementioned political challenges besides the technical |
| 92 | issues. Among CD’s known benefits[2], we also explain those that were the most | 94 | issues. Among CD’s known benefits[2], we also explain those that were the most |
| 93 | important in the project scenario for us: improving customer satisfaction and | 95 | important in the project scenario for us: improving customer satisfaction and |