From a1102aaf4f72965c3f3201dad39fe9fa558cd59b Mon Sep 17 00:00:00 2001 From: Melissa Wen Date: Fri, 28 Jul 2017 01:01:48 -0400 Subject: [PATCH] [i3eSW] Review introduction --- ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md | 64 +++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md b/ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md index c8445e6..e895e93 100644 --- a/ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md +++ b/ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md @@ -13,22 +13,23 @@ understand how important the CD adoption is to their projects. ## Introduction and Context -We worked on a Brazilian government three-year-long project to evolve an -existing platform that had technical issues and a lack of political support. +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 Presidential re-election campaign pressure to show results. -Even with the re-election of the Brazilian President, leadership in government -agencies suddenly changed that reflected on the project’s requirements: each -new leader wanted to fulfill their political agenda. In this scenario, delivery -delays could have sunk the project into oblivion. +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 CDE [1] and this evolution brought about important +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 -government agencies, duplicate works, and costs all were reduced. The society +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 @@ -43,51 +44,52 @@ 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 reach the SPB project goals, we had to overcome strong political bias +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 come up with ideas of how to integrate them as fast as possible, with a +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) together with professors, masters students and professional designers as well as senior developers from the Brazilian free software community. Undergraduate -students have received a fellowship and, for most of them, this R&D project was +students received a fellowship and, for most of them, this R&D project was their first professional experience. Seniors developers and masters students had two important contributions to the project: transfer knowledge to undergraduate students and address hard tasks. Finally, professors were -responsible for interacting with the Brazilian government and control the +responsible for interacting with the Brazilian government and controlling the political pressures applied to the project. -Our third point to be handled was the communication with the two independent +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. They usually tested new features, provided -feedback, and reported for directors. The deployment technicians only had the -access to the host machines wherein SPB platform was running. They were, +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 composited from more than ten different software projects, +Portal was composed of more than ten different software projects, generating a complex deploy process working on seven servers. -Therefore, we realised that we needed to take control over the deployment -process. We used CD as a mean to keep the government satisfied and provide -quick response times to their requests which were, most of the time, influenced -by the uncertainties of project continuity. We believed that would keep the -project alive even in a politically unstable and technically complex scenario. -For that, during months we worked to automate all the deploy process. For +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. In this -context, we organized a specific team dedicated to the deployment process to -mature our CD pipeline that would give us confidence to meet the government’s -requirements faster and faster. - -Here, we describe our CD pipeline and how it speeded up our software delivery -time. The CD made us adaptable for all requested changes and helped us to +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 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 -- libgit2 0.21.2