Commit 7612a3435738dfcd07f59ce4e8dcfc19c6e14b02

Authored by Paulo Meireles
1 parent c14ebb78

[ieeeSW] Reviewing the introduction again

ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md
... ... @@ -14,26 +14,27 @@ understand how important the CD adoption is to their projects.
14 14 ## Introduction and Context
15 15  
16 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
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.
  17 +existing platform that had technical issues and lacked political support. The
  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
  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
  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.
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,
28 28 Portuguese acronym) Portal (www.softwarepublico.gov.br) from 2014 to 2016. The
29   -SPB Portal evolved to a Collaborative Development Environment [1] and this evolution brought about important
30   -benefits not just to the Brazilian government, but also to society as a whole.
31   -For the government, the bureaucracy on using the same software across
32   -governmental agencies, duplicate works, and costs all were reduced. The society
33   -gained a transparency and collaboration mechanism, since anyone can check the
34   -government expenses on software and contribute to the software communities. To
35   -achieve these goals, rather than writing everything from scratch, we decided to
36   -integrate free software tools such as Gitlab (www.gitlab.com), Mailman
  29 +SPB Portal evolved to a Collaborative Development Environment [1] and this
  30 +evolution brought about important benefits not just to the Brazilian
  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,
  36 +rather than writing everything from scratch, we decided to integrate several
  37 +free software tools such as Gitlab (www.gitlab.com), Mailman
37 38 (www.gnu.org/software/mailman), Noosfero (www.noosfero.org), and Colab
38 39 (www.github.com/colab).
39 40  
... ... @@ -44,14 +45,14 @@ members, and communicating effectively with clients (in this particular case,
44 45 government agents). Managing the interaction of these elements was not easy and
45 46 the unstable Brazilian political scenario only made things worse.
46 47  
47   -To achieve the SPB project goals, we had to overcome strong political bias
48   -tied with complicated technical issues and relatively low budget. Because it is
49   -open to the public, the government representatives have seen the platform as a
50   -marketing opportunity and have often ignored the technical advice in favor
51   -of political decisions. Furthermore, integrating a number of distinct systems
52   -to work seamlessly was not an easy job. We had to learn how each system worked
53   -and to come up with ideas of how to integrate them as fast as possible, with a
54   -team of mostly inexperienced developers.
  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
  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
  52 +political decisions. Furthermore, integrating a number of distinct systems to
  53 +work seamlessly was not an easy job. We had to learn how each system worked and
  54 +to come up with ideas of how to integrate them as fast as possible, with a team
  55 +of mostly inexperienced developers.
55 56  
56 57 We also had to manage the diversity of the SPB team members. This team was
57 58 composed of approximately 50 undergraduate students (not all simultaneously)
... ... @@ -64,33 +65,33 @@ undergraduate students and address hard tasks. Finally, professors were
64 65 responsible for interacting with the Brazilian government and controlling the
65 66 political pressures applied to the project.
66 67  
67   -The third point to be handled was the communication with two independent
68   -groups of government representatives: requirements analysts and deployment
  68 +The third point to be handled was the communication with two independent groups
  69 +of government representatives: requirements analysts and deployment
69 70 technicians. Requirements analysts were the real representatives of the
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,
73   -theoretically, responsible for deploying the project. However, the new SPB
74   -Portal was composed of more than ten different software projects,
75   -generating a complex deploy process working on seven servers.
76   -
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
83   -instance, one of our senior developers created a Chef-Server
84   -(www.chef.io/chef) front-end tool called Chake (www.gitlab.com/terceiro/chake)
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
93   -mitigate those aforementioned political challenges besides the technical
  71 +Brazilian government in the project and their function 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 accessing the host
  74 +machines wherein SPB platform was running. They were, theoretically,
  75 +responsible for deploying the project. However, the new SPB Portal was composed
  76 +of more than ten different software projects, generating a complex deploy
  77 +process working on seven servers.
  78 +
  79 +To handle the interaction between these three elements, we realised we needed
  80 +to take control over the deployment process. We used CD as a mean to fulfill
  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
  83 +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
  85 +automate all deploy process; for instance, one of our senior developers created
  86 +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
  88 +for the project. We also formed a specific team dedicated to the deployment
  89 +process. This team was responsible for maturing our CD pipeline, giving us
  90 +confidence and agility to comply with government requirements.
  91 +
  92 +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
  94 +to mitigate those aforementioned political challenges besides the technical
94 95 issues. Among CD’s known benefits[2], we also explain those that were the most
95 96 important in the project scenario for us: improving customer satisfaction and
96 97 making reliable releases. Both kept the project alive for more two years during
... ...