Commit a1102aaf4f72965c3f3201dad39fe9fa558cd59b

Authored by Melissa Wen
1 parent 78a934c1

[i3eSW] Review introduction

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