Commit 9ab502d7548f0cb82966618818113ccd9bb3bfbc

Authored by Diego Araújo
1 parent a2245409

[ieeeSW] Review introduction and context

ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md
... ... @@ -17,11 +17,11 @@ We worked on a three-year-long Brazilian government project to evolve an
17 17 existing platform that had technical issues and lacked political support. The
18 18 evolution project started in a presidential election year and everyone involved
19 19 were under pressure to show results. Even with the re-election of the Brazilian
20   -President in 2014, leaderships in governmental agencies end up changing. Each
21   -one of them had different political agendas which caused impacts on the
  20 +President in 2014, leaderships in governmental agencies ended up changing. Each
  21 +one of them had different political agendas which affected the project's
22 22 requirements previously approved. Despite this scenario of instability, we
23   -managed to avoid delays in the delivery schedule and to prevent the abortion of
24   -the project.
  23 +managed to avoid delays in the delivery schedule and to prevent the project's
  24 +cancellation.
25 25  
26 26 Our team from the University of Brasília (UnB) and the University of São Paulo
27 27 (USP) developed the new platform for the Brazilian Public Software (SPB,
... ... @@ -39,16 +39,16 @@ free software tools such as Gitlab (www.gitlab.com), Mailman
39 39 (www.github.com/colab).
40 40  
41 41 During the entire SPB Portal evolution project, we had to handle three distinct
42   -issues, usual in a software engineering scenario: reaching the goals which have
  42 +issues, usual in a software engineering scenario: achieving the goals which have
43 43 guided the platform development, managing the diversity of team project
44   -members, and communicating effectively with clients (in this particular case,
45   -government agents). Managing the interaction of these elements was not easy and
  44 +members, and communicating effectively with clients (in this case,
  45 +government agents). Handling the interaction of these elements was not easy and
46 46 the unstable Brazilian political scenario only made things worse.
47 47  
48 48 To achieve the SPB project goals, we had to overcome strong political bias tied
49   -with complicated technical issues as well as relatively low budget. Because it
  49 +with complicated technical issues and relatively low budget. Because it
50 50 is open to the public, the government representatives saw the platform as a
51   -marketing opportunity and sometimes ignored the technical advice in favor of
  51 +marketing opportunity and sometimes ignored technical advice in favor of
52 52 political decisions. Furthermore, integrating a number of distinct systems to
53 53 work seamlessly was not an easy job. We had to learn how each system worked and
54 54 to come up with ideas of how to integrate them as fast as possible, with a team
... ... @@ -56,9 +56,9 @@ of mostly inexperienced developers.
56 56  
57 57 We also had to manage the diversity of the SPB team members. This team was
58 58 composed of approximately 50 undergraduate students (not all simultaneously)
59   -together with professors, masters students and professional designers as well
60   -as senior developers from the Brazilian free software community. Undergraduate
61   -students received a fellowship and, for most of them, this R&D project was
  59 +together with professors, masters students, professional designers and
  60 +senior developers from the Brazilian free software community. Undergraduate
  61 +students received a scholarship and, for most of them, this R&D project was
62 62 their first professional experience. Seniors developers and masters students
63 63 had two important contributions to the project: transfer knowledge to
64 64 undergraduate students and address hard tasks. Finally, professors were
... ... @@ -68,9 +68,9 @@ political pressures applied to the project.
68 68 The third point to be handled was the communication with two independent groups
69 69 of government representatives: requirements analysts and deployment
70 70 technicians. Requirements analysts were the real representatives of the
71   -Brazilian government in the project and their function was to test new
  71 +Brazilian government in the project and their role was to test new
72 72 features, to provide feedback to the development team, and to report for the
73   -government leaders. Deployment technicians were in charge of accessing the host
  73 +government leaders. Deployment technicians were in charge of administering the host
74 74 machines wherein SPB platform was running. They were, theoretically,
75 75 responsible for deploying the project. However, the new SPB Portal was composed
76 76 of more than ten different software projects, generating a complex deployment
... ... @@ -79,10 +79,10 @@ process, for instance, working on seven servers.
79 79 To handle the interaction between these three elements, we realised we needed
80 80 to take control over the deployment process. We used CD as a mean to fulfill
81 81 the government expectations and to provide quick response to their requests,
82   -which were influenced most of the time by the uncertainties of project
  82 +which were influenced most of the time by the uncertainties of the project's
83 83 continuity. We believed we would keep the project alive, even in a politically
84 84 unstable and technically complex scenario. For this reason, we worked hard to
85   -automate all deploy process; for instance, one of our senior developers created
  85 +automate the deploy process; for instance, one of our senior developers created
86 86 a Chef-Server (www.chef.io/chef) front-end tool called Chake
87 87 (www.gitlab.com/terceiro/chake) to help us to manage the multiple hosts needed
88 88 for the project. We also formed a specific team dedicated to the deployment
... ... @@ -91,7 +91,7 @@ confidence and agility to comply with government requirements.
91 91  
92 92 In this report, we describe our CD pipeline and how it improved our delivery
93 93 performance. The CD made us adaptable for all requested changes and helped us
94   -to mitigate those aforementioned political challenges, besides the technical
  94 +mitigate those aforementioned political challenges, besides the technical
95 95 issues. Among CD’s known benefits [2], we also explain those which were the most
96 96 important in the project scenario for us: improving customer satisfaction and
97 97 making reliable releases. Both kept the project alive for more two years during
... ... @@ -271,7 +271,7 @@ political scenario. However, we recognize that many challenges still need to be
271 271 addressed by the industry and academia together.
272 272  
273 273 ### Build CD from scratch
274   -
  274 +
275 275 Taking on CD responsibilities had a significant impact on the team. We did not
276 276 have the know-how and had little time to come up with a working pipeline. The
277 277 senior developers were crucial at this point. They came up with an initial
... ...