Commit 1f3dd187813bc80db822cafea91a7021cd5cfcb1
1 parent
31e674b9
Exists in
master
and in
3 other branches
[i3eSW] Discard suggestion
Showing
1 changed file
with
16 additions
and
17 deletions
Show diff stats
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. |