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 13  
14 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 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 26 Our team from the University of Brasília (UnB) and the University of São Paulo
26 27 (USP) developed the new platform for the Brazilian Public Software (SPB,
27 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 30 benefits not just to the Brazilian government, but also to society as a whole.
30 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 33 gained a transparency and collaboration mechanism, since anyone can check the
33 34 government expenses on software and contribute to the software communities. To
34 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 44 government agents). Managing the interaction of these elements was not easy and
44 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 48 tied with complicated technical issues and relatively low budget. Because it is
48 49 open to the public, the government representatives have seen the platform as a
49 50 marketing opportunity and have often ignored the technical advice in favor
50 51 of political decisions. Furthermore, integrating a number of distinct systems
51 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 54 team of mostly inexperienced developers.
54 55  
55 56 We also had to manage the diversity of the SPB team members. This team was
56 57 composed of approximately 50 undergraduate students (not all simultaneously)
57 58 together with professors, masters students and professional designers as well
58 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 61 their first professional experience. Seniors developers and masters students
61 62 had two important contributions to the project: transfer knowledge to
62 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 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 68 groups of government representatives: requirements analysts and deployment
68 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 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 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 83 instance, one of our senior developers created a Chef-Server
83 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 93 mitigate those aforementioned political challenges besides the technical
92 94 issues. Among CD’s known benefits[2], we also explain those that were the most
93 95 important in the project scenario for us: improving customer satisfaction and
... ...