Commit 3c345b89bb4a3f8f309a7c64289f7e1a8bbccaf1

Authored by Diego Araújo
1 parent 7612a343

[ieeeSW] Review abstract

ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md
... ... @@ -2,14 +2,14 @@
2 2  
3 3 ## Abstract
4 4  
5   -Many software development teams think of the operational aspects of Continuous
6   -Delivery (CD) and the competitive benefits that come along with it. For us, it
7   -was much more: it was a survival technique. This article presents the
8   -experience applying CD in a Brazilian Government project for the development of
9   -a Collaborative Development Environment (CDE), sharing its unconventional
10   -challenges and our strategies used to overcome them. This report from the
11   -trenches of the Brazilian Federal Government can help practitioners to
12   -understand how important the CD adoption is to their projects.
  5 +For many software development teams, the first things that come to mind
  6 +regarding Continuous Delivery (CD) are its operational aspects and competitive
  7 +benefits. For us, it was much more: it was a survival technique. This article
  8 +presents our experience applying CD in a Brazilian Government project for the
  9 +development of a Collaborative Development Environment (CDE), sharing its
  10 +unconventional challenges and the strategies used to overcome them. This report
  11 +from the trenches of the Brazilian Federal Government can help practitioners to
  12 +understand how important CD adoption can be to their projects.
13 13  
14 14 ## Introduction and Context
15 15  
... ... @@ -102,7 +102,7 @@ the worst political crisis after the re-democratization in Brazil.
102 102 ![Deployment Pipeline](figures/pipeline.png)
103 103  
104 104 The figure represents our CD pipeline: it starts with new code arriving
105   -which is tested and improved during as necessary as it goes through each one
  105 +which is tested and improved during as necessary as it goes through each one
106 106 of the steps until finally reaches the production environment. At this point
107 107 we get back to the first stage to release more new code.
108 108  
... ... @@ -134,12 +134,12 @@ consequence, we had different tag values.
134 134 ### Packaging
135 135  
136 136 The platform is running on the CentOS 7 GNU/Linux distribution.
137   -Basically, packaging a software for that distribution has three steps: write
  137 +Basically, packaging a software for that distribution has three steps: write
138 138 the script for the specific environment (RPM); build the package; and upload
139 139 it to a package repository.
140 140  
141 141 We chose to create our own packages for each software component for several
142   -reasons:
  142 +reasons:
143 143 * Not all software was packaged by the community;
144 144 * And those that existed were outdated;
145 145 * Packaging makes it easy to manage the software on a given distribution;
... ... @@ -151,9 +151,9 @@ After creating a new tag for one component, the DevOps team was notified and
151 151 packaging process began. In the normal case, the three packaging steps
152 152 aforementioned were fully automated by a set of scripts.
153 153  
154   -However, if the developers reported to DevOps any eventual dependency change,
155   -the first packaging step had to be manual. For instance, suppose one system
156   -starts requiring another system to be initialized first. That required the
  154 +However, if the developers reported to DevOps any eventual dependency change,
  155 +the first packaging step had to be manual. For instance, suppose one system
  156 +starts requiring another system to be initialized first. That required the
157 157 DevOps to manually update the packaging script respective to these systems.
158 158  
159 159 After all these scripts have run successfully, the new packages would be ready
... ... @@ -166,7 +166,7 @@ to use by our subsequent deployment scripts.
166 166 The Validation Environment (VE) is a replica of the Production Environment
167 167 (PE), with two exceptions: only the government officers and us had access to it
168 168 and all the data is anonymised. To configure the environment, we use a
169   -configuration management tool. That maintained environment consistency
  169 +configuration management tool. That maintained environment consistency
170 170 simplifying the deployment process. Additionally, the packages we built on
171 171 the last step were readily available to use by the management tool.
172 172  
... ... @@ -186,16 +186,16 @@ move forward.
186 186  
187 187 After the government finish the VE check, it is cleared for deployment and we
188 188 can finally begin the deployment to Production Environment (PE). For this we
189   -use the same configuration management tool as in the VE as well with same
  189 +use the same configuration management tool as in the VE as well with same
190 190 scripts and package versions. After the deploy is completed, both VE and PE
191   -are running identical software. This is the point where new features and bug
  191 +are running identical software. This is the point where new features and bug
192 192 fixes are finally available to end users.
193 193  
194 194 ## Benefits
195 195  
196 196 We had to handle many tensions between development and political issues. Our CD
197 197 pipeline gave us strong mechanisms to tackle most of the problems. As a result
198   -we came with some benefits from our decision to adopt CD.
  198 +we came with some benefits from our decision to adopt CD.
199 199  
200 200 ### Response to mistrust
201 201  
... ...