Commit 3f3ba0513e53220a5ef922c70c0eef2aaebc9461
1 parent
ed2dbb8d
Exists in
master
and in
3 other branches
[i3eSW] Athos review
Showing
1 changed file
with
11 additions
and
13 deletions
Show diff stats
ieeeSW/releaseEng3/IEEE_ThemeIssue_ReleaseEng_CD.md
| @@ -41,7 +41,7 @@ one of them had different political agendas which affected the project's | @@ -41,7 +41,7 @@ one of them had different political agendas which affected the project's | ||
| 41 | requirements previously approved. Besides that scenario of instability, we | 41 | requirements previously approved. Besides that scenario of instability, we |
| 42 | overcame three distinct issues: (i) achieving the goals which have guided the | 42 | overcame three distinct issues: (i) achieving the goals which have guided the |
| 43 | platform development, (ii) managing the diversity of team members, and (iii) | 43 | platform development, (ii) managing the diversity of team members, and (iii) |
| 44 | -communicating effectively with government agents (our "clients"). Handling the | 44 | +communicating effectively with government agents (the client). Handling the |
| 45 | interaction of these elements was challenging and the unstable Brazilian | 45 | interaction of these elements was challenging and the unstable Brazilian |
| 46 | political scenario only made things worse. | 46 | political scenario only made things worse. |
| 47 | 47 | ||
| @@ -86,7 +86,7 @@ unstable and technically complex scenario. For this reason, we focused on | @@ -86,7 +86,7 @@ unstable and technically complex scenario. For this reason, we focused on | ||
| 86 | automating the deploy process; for instance, one of our senior | 86 | automating the deploy process; for instance, one of our senior |
| 87 | developers created a Chef-Server (www.chef.io/chef) front-end tool called Chake | 87 | developers created a Chef-Server (www.chef.io/chef) front-end tool called Chake |
| 88 | (www.gitlab.com/terceiro/chake) to help us manage the multiple hosts needed for | 88 | (www.gitlab.com/terceiro/chake) to help us manage the multiple hosts needed for |
| 89 | -the project. We also formed a specific team dedicated to the deployment | 89 | +the project. We also formed a specific team dedicated to the deployment |
| 90 | process. This team was responsible for maturing our CD pipeline, giving us | 90 | process. This team was responsible for maturing our CD pipeline, giving us |
| 91 | confidence and agility to comply with government requirements. | 91 | confidence and agility to comply with government requirements. |
| 92 | 92 | ||
| @@ -103,10 +103,10 @@ worst political crisis after the re-democratization in Brazil. | @@ -103,10 +103,10 @@ worst political crisis after the re-democratization in Brazil. | ||
| 103 |  | 103 |  |
| 104 | 104 | ||
| 105 | Figure 1 represents our CD pipeline. A new feature might require changes on more | 105 | Figure 1 represents our CD pipeline. A new feature might require changes on more |
| 106 | -than one SPB integrated software project. Notice that each on of them could be | 106 | +than one SPB integrated software project. Notice that each one of them could be |
| 107 | modified independently. The pipeline started when new code arrived. As it went | 107 | modified independently. The pipeline started when new code arrived. As it went |
| 108 | through each step, it was tested and improved until it finally reached the | 108 | through each step, it was tested and improved until it finally reached the |
| 109 | -production environment. At this point we got back to the first stage to release | 109 | +production environment. At this point we would restart the pipeline to release |
| 110 | more new code. | 110 | more new code. |
| 111 | 111 | ||
| 112 | ### Automated Tests | 112 | ### Automated Tests |
| @@ -117,13 +117,13 @@ components had their own test suite, maintained and expanded by the development | @@ -117,13 +117,13 @@ components had their own test suite, maintained and expanded by the development | ||
| 117 | team. Communication between all components is orchestrated by Colab, a systems | 117 | team. Communication between all components is orchestrated by Colab, a systems |
| 118 | integration platform for web applications based on a plugins architecture. | 118 | integration platform for web applications based on a plugins architecture. |
| 119 | Therefore, specific plugins have been developed for each portal software | 119 | Therefore, specific plugins have been developed for each portal software |
| 120 | -component, such as for Gitlab and Mailman. Each plugin had its own test suite | 120 | +component, such as Gitlab and Mailman. Each plugin had its own test suite |
| 121 | and this set also worked as integration test. | 121 | and this set also worked as integration test. |
| 122 | 122 | ||
| 123 | Both unit and integration tests provided us the performace and security needed | 123 | Both unit and integration tests provided us the performace and security needed |
| 124 | to guarantee the stability for components and the platform. If any test suite failed, | 124 | to guarantee the stability for components and the platform. If any test suite failed, |
| 125 | by either a test error or coverage reduction below a certain threshold, the | 125 | by either a test error or coverage reduction below a certain threshold, the |
| 126 | -pipeline stopped. Only when all tests pass, the pipeline proceed to the step of | 126 | +pipeline was stopped. Only when all tests pass, the pipeline proceeded to the step of |
| 127 | preparing the release. | 127 | preparing the release. |
| 128 | 128 | ||
| 129 | ### Preparing a New Release | 129 | ### Preparing a New Release |
| @@ -177,7 +177,7 @@ as part of the next step in the pipeline. | @@ -177,7 +177,7 @@ as part of the next step in the pipeline. | ||
| 177 | 177 | ||
| 178 | After we deployed a new SPB Portal version in the VE, the government | 178 | After we deployed a new SPB Portal version in the VE, the government |
| 179 | agents were responsible for checking features and bug fixes required by them. If | 179 | agents were responsible for checking features and bug fixes required by them. If |
| 180 | -the requirement analysts identified a problem, they notified the developers via | 180 | +the requirement analysts identified a problem, they would notified the developers via |
| 181 | comments on the SPB Portal's issue tracker. The problems were fixed and the | 181 | comments on the SPB Portal's issue tracker. The problems were fixed and the |
| 182 | pipeline restarted from scratch. If everything was validated, we moved forward. | 182 | pipeline restarted from scratch. If everything was validated, we moved forward. |
| 183 | 183 | ||
| @@ -205,9 +205,8 @@ the renewal of the project over the years. Every meeting with the government | @@ -205,9 +205,8 @@ the renewal of the project over the years. Every meeting with the government | ||
| 205 | leader resulted in new requirements, most of them motivated by political | 205 | leader resulted in new requirements, most of them motivated by political |
| 206 | needs. These constant changes in requirements and priorities caused discomfort | 206 | needs. These constant changes in requirements and priorities caused discomfort |
| 207 | between the government and the development team. For | 207 | between the government and the development team. For |
| 208 | -example, once it was demanded a complete layout change because another | ||
| 209 | -government leader suddenly decided to make a marketing campaign about the new | ||
| 210 | -SPB portal. They would use undelivered requirements as a means to justify the | 208 | +example, the government leader required a complete layout change because he suddenly decided to make a marketing campaign about the new |
| 209 | +SPB portal. Thus the government would use undelivered requirements as a means to justify the | ||
| 211 | lack of financial support, which was already approved in the first place. We believed that if we took too | 210 | lack of financial support, which was already approved in the first place. We believed that if we took too |
| 212 | long to attend their demands, the project would end. CD helped us keep the | 211 | long to attend their demands, the project would end. CD helped us keep the |
| 213 | production environment up-to-date, even with partial versions of a feature. That | 212 | production environment up-to-date, even with partial versions of a feature. That |
| @@ -228,8 +227,7 @@ They were an active part of the pipeline and became more engaged on the whole pr | @@ -228,8 +227,7 @@ They were an active part of the pipeline and became more engaged on the whole pr | ||
| 228 | After the incorporation of the pipeline into the work process, analysts | 227 | After the incorporation of the pipeline into the work process, analysts |
| 229 | became more active in opening and discussing issues during the platform evolution. | 228 | became more active in opening and discussing issues during the platform evolution. |
| 230 | Additionally, developers worked to improve the CD pipeline | 229 | Additionally, developers worked to improve the CD pipeline |
| 231 | -to speed up the process of making available, in the production environment, | ||
| 232 | -new features for the platform. | 230 | +to speed up the process of making new features available in the production environment. |
| 233 | 231 | ||
| 234 | ### Synchronicity Between Government and Development | 232 | ### Synchronicity Between Government and Development |
| 235 | 233 | ||
| @@ -300,7 +298,7 @@ deliveries but would not give access to their production infrastructure. After | @@ -300,7 +298,7 @@ deliveries but would not give access to their production infrastructure. After | ||
| 300 | some interactions with government agents, they created the VE as an isolated | 298 | some interactions with government agents, they created the VE as an isolated |
| 301 | replica of the PE in their own infrastructure. The government agents then | 299 | replica of the PE in their own infrastructure. The government agents then |
| 302 | realised that it could be beneficial for the project if they granted us access | 300 | realised that it could be beneficial for the project if they granted us access |
| 303 | -to part of the structure. More research is required on development protocols and | 301 | +to part of the infrastructure. More research is required on development protocols and |
| 304 | policies to improve the relation between industry and government, specially | 302 | policies to improve the relation between industry and government, specially |
| 305 | regarding CD. | 303 | regarding CD. |
| 306 | 304 |