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