Commit 295eb86ba31fb02802de1ef648a0185f68d89ea6

Authored by Paulo Meireles
1 parent dc9068ba

[ieeeSW] Review introduction

ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md
... ... @@ -16,7 +16,7 @@ understand how important CD adoption is to their projects.
16 16 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   -were under pressure to show results. Even with the re-election of the Brazilian
  19 +was under pressure to show results. Even with the re-election of the Brazilian
20 20 President in 2014, leaderships in governmental agencies ended up changing. Each
21 21 one of them had different political agendas which affected the project's
22 22 requirements previously approved. Despite this scenario of instability, we
... ... @@ -27,26 +27,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,
28 28 Portuguese acronym) Portal (www.softwarepublico.gov.br) from 2014 to 2016. The
29 29 SPB Portal evolved to a Collaborative Development Environment [1] and this
30   -evolution brought about important benefits not just to the Brazilian
  30 +evolution brought important benefits not just to the Brazilian
31 31 government, but also to society as a whole. For the government, the
32   -bureaucracy on using the same software across governmental agencies, duplicate
33   -works, and costs all were reduced. The society gained a transparency and
34   -collaboration mechanism, since anyone can check the government expenses on
35   -software and contribute to the software communities. To achieve these goals,
  32 +bureaucracy of using the same software across governmental agencies, duplicate
  33 +works, and costs were all reduced. The society gained a transparent and
  34 +collaborative mechanism, since anyone can check the government expenses on
  35 +software and contribute to software communities. To achieve these goals,
36 36 rather than writing everything from scratch, we decided to integrate several
37 37 free software tools such as Gitlab (www.gitlab.com), Mailman
38 38 (www.gnu.org/software/mailman), Noosfero (www.noosfero.org), and Colab
39 39 (www.github.com/colab).
40 40  
41   -During the entire SPB Portal evolution project, we had to handle three distinct
42   -issues, usual in a software engineering scenario: achieving the goals which have
43   -guided the platform development, managing the diversity of team project
44   -members, and communicating effectively with clients (in this case,
45   -government agents). Handling the interaction of these elements was not easy and
  41 +During the entire SPB Portal evolution project, we overcame three distinct
  42 +issues, usual in a software engineering scenario: (i) achieving the goals which have
  43 +guided the platform development, (ii) managing the diversity of team
  44 +members, and (iii) communicating effectively with clients (in this case,
  45 +government agents). Handling the interaction of these elements was challenging 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 and relatively low budget. Because it
  49 +with complicated technical issues and relatively low budget. Because the project
50 50 is open to the public, the government representatives saw the platform as a
51 51 marketing opportunity and sometimes ignored technical advice in favor of
52 52 political decisions. Furthermore, integrating a number of distinct systems to
... ... @@ -54,47 +54,46 @@ 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
55 55 of mostly inexperienced developers.
56 56  
57   -We also had to manage the diversity of the SPB team members. This team was
  57 +We also had to manage the diversity of our team members. The team was
58 58 composed of approximately 50 undergraduate students (not all simultaneously)
59   -together with professors, masters students, professional designers and
  59 +together with professors, master students, professional designers and
60 60 senior developers from the Brazilian free software community. Undergraduate
61 61 students received a scholarship and, for most of them, this R&D project was
62   -their first professional experience. Seniors developers and masters students
  62 +their first professional experience. Senior developers and master students
63 63 had two important contributions to the project: transfer knowledge to
64   -undergraduate students and address hard tasks. Finally, professors were
65   -responsible for interacting with the Brazilian government and controlling the
  64 +undergraduate students and more complex tasks. Finally, professors were
  65 +responsible for interacting with the Brazilian government and controlling
66 66 political pressures applied to the project.
67 67  
68   -The third point to be handled was the communication with two independent groups
69   -of government representatives: requirements analysts and deployment
70   -technicians. Requirements analysts were the real representatives of the
  68 +Moreover, we needed to communicate with two independent groups
  69 +of government representatives. Requirement analysts were real representatives of the
71 70 Brazilian government in the project and their role was to test new
72   -features, to provide feedback to the development team, and to report for the
73   -government leaders. Deployment technicians were in charge of administering the host
  71 +features, to provide feedback to the development team, and to report to
  72 +government leaders. Deployment technicians were in charge of managing the host
74 73 machines wherein SPB platform was running. They were, theoretically,
75 74 responsible for deploying the project. However, the new SPB Portal was composed
76   -of more than ten different software projects, generating a complex deployment
77   -process, for instance, working on seven servers.
  75 +of more than ten different software projects, working on seven servers, generating a complex deployment
  76 +process.
78 77  
79 78 To handle the interaction between these three elements, we realised we needed
80 79 to take control over the deployment process. We used CD as a mean to fulfill
81 80 the government expectations and to provide quick response to their requests,
82 81 which were influenced most of the time by the uncertainties of the project's
83 82 continuity. We believed we would keep the project alive, even in a politically
84   -unstable and technically complex scenario. For this reason, we worked hard to
  83 +unstable and technically complex scenario. For this reason, we focused on automating
85 84 automate the deploy process; for instance, one of our senior developers created
86 85 a Chef-Server (www.chef.io/chef) front-end tool called Chake
87   -(www.gitlab.com/terceiro/chake) to help us to manage the multiple hosts needed
  86 +(www.gitlab.com/terceiro/chake) to help us manage the multiple hosts needed
88 87 for the project. We also formed a specific team dedicated to the deployment
89 88 process. This team was responsible for maturing our CD pipeline, giving us
90 89 confidence and agility to comply with government requirements.
91 90  
92 91 In this report, we describe our CD pipeline and how it improved our delivery
93   -performance. The CD made us adaptable for all requested changes and helped us
  92 +performance. Continuous Delivery made us adaptable for all requested changes and helped us
94 93 mitigate those aforementioned political challenges, besides the technical
95   -issues. Among CD’s known benefits [2], we also explain those which were the most
96   -important in the project scenario for us: improving customer satisfaction and
97   -making reliable releases. Both kept the project alive for more two years during
  94 +issues. Among CD’s known benefits [2] we also explain those which were the most
  95 +important in our scenario: improving customer satisfaction and
  96 +making reliable releases. Both kept the project alive for years during
98 97 the worst political crisis after the re-democratization in Brazil.
99 98  
100 99 ## Our Continuous Delivery Pipeline
... ...