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 | 160 | Each integrated system had to be tested with its own test suite. This was not |
| 161 | 161 | enough, however: we also had to test the platform as a whole. Given that the |
| 162 | 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 | 165 | reduction below a certain threshold, the process stopped. Only when all tests |
| 167 | 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 | 169 | |
| 171 | 170 | Each software component was hosted in a separate Git repository. A new release |
| 172 | 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 | 173 | (www.softwarepublico.gov.br/gitlab/softwarepublico). A SPB portal release was |
| 175 | 174 | an aggregate of releases of all of its components. When a new component release |
| 176 | 175 | passed all of the SPB integration tests, we manually created a corresponding |
| ... | ... | @@ -183,9 +182,8 @@ packaging. |
| 183 | 182 | Our packaging software approach involves three steps: writing the script for |
| 184 | 183 | the specific environment, building the package, and uploading it to a package |
| 185 | 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 | 188 | After creating a new tag for a system, the developers informed our DevOps [4] |
| 191 | 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 | 224 | Research points out many CD advantages in the industry [2, 5], such as |
| 227 | 225 | accelerated time to market, building the right product, productivity and |
| 228 | 226 | efficiency improvements, stable releases, and better customer satisfaction. |
| 227 | + | |
| 228 | + | |
| 229 | 229 | Working with the government, we noticed the following additional benefits. |
| 230 | 230 | |
| 231 | 231 | ### Strengthening Trust in the Relationship with the Government |
| 232 | 232 | |
| 233 | 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 | 235 | developed only at the end of the release cycle, usually every four months. |
| 236 | 236 | With the implementation of CD, intermediate and candidate versions became |
| 237 | 237 | available, allowing them to perform small validations over time. |
| ... | ... | @@ -240,18 +240,17 @@ Ministry leaders and improved the interactions with our team. |
| 240 | 240 | |
| 241 | 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 | 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 | 247 | long to meet their demands, they would threaten to reduce financial support and |
| 248 | 248 | even cancel the project. |
| 249 | 249 | |
| 250 | 250 | CD helped us keep the PE up-to-date, even with partial versions of a feature. |
| 251 | 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 | 255 | ### Shared Responsibility |
| 257 | 256 | |
| ... | ... | @@ -274,9 +273,9 @@ development team and the Ministry staff: each party had to be prepared to take |
| 274 | 273 | action as soon as the other concluded a given task. Initially, the Ministry |
| 275 | 274 | staff did not contemplate this in their schedule which, combined with the |
| 276 | 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 | 281 | Fabio sugeriu Lessons Learned, mas vamos mostrar exemplos da revista para ele olhar. | ... | ... |