Commit 1f3dd187813bc80db822cafea91a7021cd5cfcb1

Authored by Melissa Wen
1 parent 31e674b9

[i3eSW] Discard suggestion

ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md
@@ -160,9 +160,8 @@ the pipeline to release new versions. @@ -160,9 +160,8 @@ the pipeline to release new versions.
160 Each integrated system had to be tested with its own test suite. This was not 160 Each integrated system had to be tested with its own test suite. This was not
161 enough, however: we also had to test the platform as a whole. Given that the 161 enough, however: we also had to test the platform as a whole. Given that the
162 plugins also have their own test suites and these suites assume a double role 162 plugins also have their own test suites and these suites assume a double role
163 -as both plugin tests and as integration tests. These tests provided us the  
164 -performance and security needed to guarantee the stability of components and  
165 -the platform. If any test suite failed, by either a test error or coverage 163 +as both plugin tests and as integration tests.
  164 +If any test suite failed, by either a test error or coverage
166 reduction below a certain threshold, the process stopped. Only when all tests 165 reduction below a certain threshold, the process stopped. Only when all tests
167 passed, the pipeline proceeded to the step of release preparation. 166 passed, the pipeline proceeded to the step of release preparation.
168 167
@@ -170,7 +169,7 @@ passed, the pipeline proceeded to the step of release preparation. @@ -170,7 +169,7 @@ passed, the pipeline proceeded to the step of release preparation.
170 169
171 Each software component was hosted in a separate Git repository. A new release 170 Each software component was hosted in a separate Git repository. A new release
172 of a component was tagged with a reference to a specific new feature or bug 171 of a component was tagged with a reference to a specific new feature or bug
173 -fix. SPB, as an integration project, had its own Git repository 172 +fix. SPB had its own Git repository
174 (www.softwarepublico.gov.br/gitlab/softwarepublico). A SPB portal release was 173 (www.softwarepublico.gov.br/gitlab/softwarepublico). A SPB portal release was
175 an aggregate of releases of all of its components. When a new component release 174 an aggregate of releases of all of its components. When a new component release
176 passed all of the SPB integration tests, we manually created a corresponding 175 passed all of the SPB integration tests, we manually created a corresponding
@@ -183,9 +182,8 @@ packaging. @@ -183,9 +182,8 @@ packaging.
183 Our packaging software approach involves three steps: writing the script for 182 Our packaging software approach involves three steps: writing the script for
184 the specific environment, building the package, and uploading it to a package 183 the specific environment, building the package, and uploading it to a package
185 repository. We decided to create separate packages for each system. Packaging 184 repository. We decided to create separate packages for each system. Packaging
186 -makes it easy to manage software in a given distribution, simplifies  
187 -deployment, follows the distribution's best practices, and enables  
188 -configuration and permission control. 185 +brings portability, simplifies deployment, and enables configuration and
  186 +permission control.
189 187
190 After creating a new tag for a system, the developers informed our DevOps [4] 188 After creating a new tag for a system, the developers informed our DevOps [4]
191 team and the packaging process began. A set of scripts fully automated the 189 team and the packaging process began. A set of scripts fully automated the
@@ -226,12 +224,14 @@ fixes were finally available to end users. @@ -226,12 +224,14 @@ fixes were finally available to end users.
226 Research points out many CD advantages in the industry [2, 5], such as 224 Research points out many CD advantages in the industry [2, 5], such as
227 accelerated time to market, building the right product, productivity and 225 accelerated time to market, building the right product, productivity and
228 efficiency improvements, stable releases, and better customer satisfaction. 226 efficiency improvements, stable releases, and better customer satisfaction.
  227 +
  228 +
229 Working with the government, we noticed the following additional benefits. 229 Working with the government, we noticed the following additional benefits.
230 230
231 ### Strengthening Trust in the Relationship with the Government 231 ### Strengthening Trust in the Relationship with the Government
232 232
233 CD helped strengthen trust in the relationship between developers and 233 CD helped strengthen trust in the relationship between developers and
234 -the Ministry staff. Before using CD, they had access to the features 234 +the Ministry staff. Before using CD, they could validate features
235 developed only at the end of the release cycle, usually every four months. 235 developed only at the end of the release cycle, usually every four months.
236 With the implementation of CD, intermediate and candidate versions became 236 With the implementation of CD, intermediate and candidate versions became
237 available, allowing them to perform small validations over time. 237 available, allowing them to perform small validations over time.
@@ -240,18 +240,17 @@ Ministry leaders and improved the interactions with our team. @@ -240,18 +240,17 @@ Ministry leaders and improved the interactions with our team.
240 240
241 ### Responsiveness to Change 241 ### Responsiveness to Change
242 242
243 -Responsiveness was one of the direct benefits of adopting the CD pipeline. The 243 +Responsiveness was one of the direct benefits of adopting the CD pipeline.
  244 +Political interests may change requirements and priorities at any time. The
244 ability to react quickly to changes requested by the Ministry was vital to the 245 ability to react quickly to changes requested by the Ministry was vital to the
245 -project’s survival for 30 months. These changes in requirements and priorities  
246 -were mostly motivated by political interests. We noticed that if we took too 246 +project’s survival for 30 months. We noticed that if we took too
247 long to meet their demands, they would threaten to reduce financial support and 247 long to meet their demands, they would threaten to reduce financial support and
248 even cancel the project. 248 even cancel the project.
249 249
250 CD helped us keep the PE up-to-date, even with partial versions of a feature. 250 CD helped us keep the PE up-to-date, even with partial versions of a feature.
251 Therefore, we always had something to show on meetings, easying their 251 Therefore, we always had something to show on meetings, easying their
252 -concerns about the final delivery of the platform.  
253 -For our team, CD made developers more  
254 -confident that the project would last a little longer. 252 +concerns about the final delivery of the platform. For our team, CD made
  253 +developers more confident that the project would last a little longer.
255 254
256 ### Shared Responsibility 255 ### Shared Responsibility
257 256
@@ -274,9 +273,9 @@ development team and the Ministry staff: each party had to be prepared to take @@ -274,9 +273,9 @@ development team and the Ministry staff: each party had to be prepared to take
274 action as soon as the other concluded a given task. Initially, the Ministry 273 action as soon as the other concluded a given task. Initially, the Ministry
275 staff did not contemplate this in their schedule which, combined with the 274 staff did not contemplate this in their schedule which, combined with the
276 bureaucracy in providing access to the PE (up to 3 days), resulted in 275 bureaucracy in providing access to the PE (up to 3 days), resulted in
277 -significant delays in the validation of new features. This problem was  
278 -softened when they realized the impact of these delays on the final product and  
279 -decided to allocate revisions in their work schedule. 276 +significant delays in the validation of new features. The clear use of CD
  277 +pipeline helped us to identify and solve key points of delay, and increase our
  278 +productivity.
280 279
281 <!--- 280 <!---
282 Fabio sugeriu Lessons Learned, mas vamos mostrar exemplos da revista para ele olhar. 281 Fabio sugeriu Lessons Learned, mas vamos mostrar exemplos da revista para ele olhar.